Linux IoT Landscape:物联网发行版

什么是Linux发行版?

Linux是一个操作系统,它是控制计算机的核心程序。它决定如何在争夺它的所有其他程序之间划分可用资源(CPU,内存,磁盘,网络)。操作系统虽然非常重要,但它本身并没有用。它的目的是管理计算其他计划的资源。如果没有这些其他程序,操作系统就没有太大的用途。
这就是分发的用武之地。分发提供了大量其他程序,这些程序与Linux一起可以组合成工作集以用于大量目的。这些程序的范围从基本的程序编写工具(如编译器和链接器)到通信库,电子表格和编辑器,以及介于两者之间的所有内容。分发往往具有实际用于每台计算机或解决方案的超集。它还为用户或公司可以组装成他们认为的工作集的每类软件组件提供了许多选择。可以对超市进行粗略的比喻,其中货架上的许多物品有许多选项,并且每个用户在他们的购物车中挑选并选择对他们有意义的东西。

基于二进制还是基于源的分布?

分布可以在很大程度上分为两类:基于二进制和基于源。
基于二进制的 发行版提供了已经预编译并准备安装的所有软件组件。这些组件使用“足够好”的构建选项进行编译,这些选项适用于大多数用户。它们还为需要或想要编译自己的组件的少数用户提供这些组件的源。按照我们的超市类比,这家超市包含预先包装和预先烹制的所有食品,但有明确的说明如何获取成分,并为那些想要调整一两个食谱的人重复这个过程。这种分布以Debian,Fedora Core,OpenSUSE,Ubuntu等众多分布为例。虽然它们提供相同类型的系统,但它们都是使用不同的,不幸的是,不兼容的方法。它们是服务器,台式机和笔记本电脑等通用计算机中使用的主要分发方式。
基于源的分发另一方面,专注于提供一个框架,最终用户可以从源代码中自己构建所有组件。这些发行版还提供了一些工具,可以轻松选择合理的组件开始集合,并根据需要调整每个组件的构建。这些调整可以像添加编译标志一样简单,以使用不同版本的源或以某种方式修改源。用户将组装他们想要构建的菜单,然后开始构建。几分钟或几小时后,根据具体情况,他们将得到一张可以用于计算机的图像。这种分发的示例是Gentoo,Android和Yocto。在我们的超级市场比喻中,这更接近散装食品商店,在那里您可以获得具有详细的机器可读烹饪说明的预测食品,你会有一个精致的炊具,可以阅读这些说明并为你做饭。并对一系列食谱进行调整,例如调整白米饭上的糙米。排序 - 这个类比在这个上有点弱。
这些基于源的分发通常优选用于基于嵌入式Linux的设备,尤其是物联网设备。虽然它们更难以设置和维护,但基于源的分发具有独特的优势,能够将安装的映像定制到确切的目标硬件,以便最大限度地利用资源或最小化资源浪费。对于往往是强约束的嵌入式设备。此外,基于源代码的发行版更适合  交叉构建 - 您构建平台的机器与运行它的机器不同 - 而基于二进制的发行版更适合  自托管构建 - 其中您在同一台机器(或相同的架构)上构建和运行。
鉴于今天流行的英特尔架构机器作为构建机器 - 并且使用ARM体系结构构建物联网产品 - 交叉构建支持对于物联网设备非常重要。

块上的新孩子:以容器为中心的分布

传统的Linux方法 - 包含包含内核之外的所有平台的单个统一用户空间 - 正在发生变化。新模型是关于拥有一组“容器”,它们组成了用户空间的组件。容器化模型将一部分用户空间转换为联合的组件集合,每个组件之间具有高度独立性。
集装箱分销带来许多好处,从允许团队更独立地工作到 制造进行粒度平台升级是可行的。缺点是它们比非集装箱化解决方案具有更大的占地面积。然而,如果技术的发展向我们展示了任何东西,那么当新技术的唯一缺点就是占地面积时,可用的资源往往会扩大,以使每个新一代产生越来越小的问题。
下面描述了一些早期选项,以与现有分布进行比较。

竞争者:物联网的Linux发行版

现在我们必须钻研有争议的领土。许多人拥有他们最喜欢的Linux发行版,即使他们的需求发生了巨大的变化(例如从服务器设置到嵌入式物联网设备),他们也会依赖于该发行版 - 有时候会将方形挂钩装入圆孔。
我将在下面的列表中作为序言:这是一些成熟的Linux发行版和一些上升和下降的示例。存在许多其他的并且可能更适合某些用例。
现在有了这个......

Yocto

Yocto是一种基于源的发行版,用于许多嵌入式和物联网设备。它试图结合基于二进制的发行版的好处,例如清楚地分离包及其依赖项,以及基于源的发行版的好处,这些发行版允许您在进行较小的更改时以显着的方式更改目标二进制文件。
该图演示了Yocto如何作为物联网的Linux发行版
图片来源:Yocto项目
Yocto由一系列  配方组成,每个配方描述如何构建系统的一个模块(例如库,守护进程,应用程序等)。然后将这些配方收集到  层中它收集了一系列配方并配置了它们应该如何一起使用的各个方面,从编译标志到配方功能,以及它们如何显示在目标上的详细信息。每个目标构建都将由这些层中的一些构成,每个层都从较低层添加或删除包,或修改其默认行为。这允许多方调整自己的图层以影响最终图像。因此,如果基础层使用一组保守的编译器标志(它通常会这样做),那么芯片供应商可以添加对其特定芯片模型有益的编译器标志,并且电路板供应商可以删除其电路板可能不支持的芯片功能。
这对您的物联网产品的实践意味着您使用已经支持Yocto的电路板构建解决方案的努力将是添加或修改能够为基本功能提供增值的配方。您还需要一个构建和配置管理基础架构设置,允许为您的目标创建映像,尽管在当今的容器世界中  并不难做到
有关Yocto的更多信息,您可以从这里开始。同样值得一看的是Yocto对任何开发者的支持程度。您正在考虑使用IoT解决方案的电路板。

Debian的

Debian是一个值得尊敬的开源二进制分发版。它既是自身的分布,也是其他众所周知的派生分布的基线,其中最着名的是Ubuntu。
Debian有一个相当大的软件包集合,这些软件包已经预先构建用于ARM(物联网的首选架构),但是这些软件包的ARM二进制文件的支持和维护水平往往远低于英特尔同行的Debian强度在英特尔生态系统中。因此,诸如“10,000+包构建”之类的指标并不是那么有意义。您需要了解对您很重要的软件包以及它们的支持程度。
在自托管设置(例如 Debian)中使用的许多发行版的缺点是开发人员不理解或记住可能无法在最终运行包的机器上完成包安装,因此他们不能依赖目标的任何功能都可用。鉴于这种麻烦对于docker环境来说也是一个令人头痛的问题,因此发行版已经花费了很多精力来清理这些依赖项,因此这是一个比以前更小的问题。

为一小组软件包设置构建环境的工作相当简单,但构建系统所有软件包的基础架构可能会变得非常重要。

因此,Debian for IoT是一个不错的选择,只要你可以考虑的板已经完成了支持Debian的工作,在这种情况下你只需要添加或创建一些包来完成你的平台

EdgeX Foundry

 
 
EdgeX Foundry并不是严格意义上的分布,因为它对发行版的Board Support Package(BSP)组件没有任何意见。BSP是包含Linux内核本身的部分,设备驱动程序和库以启用硬件平台。它从高于此水平开始,需要一个支持docker的Linux系统作为底层基板。从那里它提供了各种各样的容器,为物联网设备提供了丰富的中间件和垂直设备,特别是边缘设备(在码头用语中,容器是一个独立的模块,通常提供垂直功能,如数据库或一个Web服务,很少或不依赖于主机操作系统,库等)。
图片来源
EdgeX Foundry背后的概念指出了更大的物联网设备(特别是边缘设备)的前进方向,但仍需要完成定义更具约束性的版本以提供一组良好的基线服务。在这方面取得了一些进展,将一些服务从JVM迁移到基于golang的实现,但在不久的将来,基于Linux的中低端物联网的覆盖范围仍然遥不可及。

Foundries.io Microplatform

图片来源
Foundries.io创建了一个Linux平台,使用基于Yocto的方法创建板支持层,然后在其上层叠一组容器化微服务。他们的容器集比EdgeX Foundry方法更小,更适度,占地面积更小。
虽然通过订阅可以完全访问具有自动更新和管理功能的Foundries.io产品,但底层平台是开源的,可在此处获得。

结论

基于Linux的物联网正在开始从传统的嵌入式模型迁移,其中完整的垂直解决方案从单个团队/世界观/工具链/模型创建到更灵活的模型,更加分离固件,板,中间件和应用程序组件。然而,这种迁移并非没有成本,并且对CPU,内存和磁盘要求提出了更高的要求。为了为您的下一个物联网项目选择Linux基准,您需要考虑您可以承受的足迹以及您为产品规划的生命周期。更小更快更换的产品最好不要接近今天久经考验的Yocto解决方案。能够提供更多资源的产品,

用户喜欢...

新研究:IIoT预测性维护的展望

对IIoT趋势的大多数行业研究都依赖于从高级管理层和决策者那里获得的见解。 埃默里大学的学生和Presenso的一项新研究旨在从工厂级操作和维护(O&M)员工的角度了解IIoT的前景。 以下是该研...


“物联网”的简单解释

物联网(IoT)正在成为一个日益增长的话题,无论是在工作场所还​​是在场外。这个概念不仅有可能影响我们的生活方式,还有影响我们的工作方式。但究竟什么是物联网,它对你有什么影响...


开源物联网平台汇总

物联网(IoT)是帮助人工智能(AI)以更好的方式控制和理解事物的未来技术。 我们收集了一些最有名的物联网平台,帮助您以受控方式开发物联网项目。 物联网平台是帮助设置和管理互联网...


IoT Designs不知所措?

恐惧助长了变化。更准确地说,恐惧往往会激起对通常保守的公司高管的突然变化的激情。但仅凭这种焦虑无法改变公司的商业模式或激发新的产品设计。 克雷格麦克尼尔 即将到来的智能互联...


物联网(IoT)的兴起 预计未来五年微控制器市场将稳步上升

旧金山 - 据市场研究公司IC Insights称,预计未来五年微控制器市场将稳步上升,主要原因是传感器的普及和物联网(IoT)的兴起。 IC Insights表示,预计今年MCU出货量将增长18%,达到306亿部。该...


专题分析 为什么IIoT对网络攻击如此脆弱

OT不是IT 两种环境之间的差异很大。 OT网络更加复杂和多样化,由多种类型的旧ICS设备和资产组成,这些设备和资产通过多个专有操作系统从多个供应商进行控制。 除此之外,越来越多的有时...


刘克振 2020 IoT引爆或者说成熟的时间

当前物联网(IoT)科技高速发展,各国纷纷抢占发展制高点,科技巨头一齐抢滩布局产业链。然而喊了这么多年的IoT口号,许多产品仍然处于初级阶段,IoT应用领域过于碎片化,唱衰声音也此起彼...


这5个IoT能量收集选项在“现场”脱颖而出

由于低功耗和高能效的进步,嵌入式系统和物联网设备不再需要访问交流电流,这意味着这些平台适用于远程应用。无线通信在偏远地区也变得越来越普遍,为环境传感器和遥测应用,编制天...


处理IIoT的技术和文化变革

以太网使IT和OT更紧密地结合在一起 工业物联网的兴起改变了自动化行业的技术和文化方面: 在技​​术方面,从现场总线到以太网已有数十年的转变。这最终导致了现在通过可扩展的工业以...


Microchip 的 Amazon 网络服务 (AWS) IoT 套件用于安全物联网应用的快速原型开发

来自Microchip Technology的 AT88CKECC-AWS-XSTK-B零接触安全配置套件帮助设计人员快速、可靠地开发出物联网设备,符合 AWS 安全规定。新的安全模型要求设备必须使用相互身份验证在 AWS 云上获得远程...


蓝牙5:网状网络,更广的范围以及共存IoT和IIoT应用潜力的能力

蓝牙特别兴趣小组(SIG)去年12月发布了2,822页的蓝牙标准,很明显,SIG的意图是使该技术更适合物联网应用。正是为了实现这一目标,SIG于2017年7月正式将网状网络功能添加到了规格中,这有可...


一个小小的物联网知识可以走很长的路

物联网(IoT)正在改变一切,它不仅仅是人与机器之间的互动。 与任何新兴或新兴技术一样,它所创造的变化常常以多种方式在社会中涟漪。它可能会改变企业的运营方式,甚至改变他们提供...


NXP与Amazon FreeRTOS携手 LPC54018 IoT解决方案

LPC54018 IoT解决方案由恩智浦与Embedded Artists携手开发,该解决方案是一款独立式高性能微控制器解决方案,适用于开发支持AWS的产品。该解决方案包含一个基于LPC54018的模块,提供板载Wi-Fi和用于...


使用网关克服低功耗无线 LAN-IoT 连接难题

许多低功耗无线接口和协议,如低功耗蓝牙、ZigBee、Thread 等,在智能家庭和智能工业传感器网状应用中很常见。但是,开发人员发现,这些射频协议设计于物联网 (IoT) 出现之前,因此通常缺乏...


10 大 IoT 安全挑战

随着越来越多 IoT 设备面世,部署在无法控制、复杂且通常恶劣的环境中,保护 IoT 系统面临着大量独特挑战。依据 Eclipse IoT 工作组 2017 年的IoT 开发人员调查,安全是 IoT 开发人员关注的首要问...


IIoT:不仅是云计算

工业物联网(IIoT)通常与大数据和云相关联,从广泛分布的传感器收集大量数据,将信息转化为洞察力。在一些工业流程中,洞察时间非常关键,而将数据发送到云端并接收响应的延迟时间可...