您会发现,构建物联网生态系统组件的最快方法是使用嵌入式 Linux,无论您是增强现有设备,还是从头开始设计新设备或系统。嵌入式 Linux 与桌面 Linux 共享相同的源代码库,但它与不同的用户界面工具和其他高级组件相结合。系统的基础本质上是相同的。
让我们看看几个常见案例。
通常,极低功耗的应用(如传感器)一次运行数月,使用一次性电池,甚至使用能量收集应用。任何 Linux 的使用似乎都相当繁重。低功耗特性通常排除了直接 IP 连接。这意味着需要一个网关进行互联网连接。网关将使用低功耗协议与传感器通信,并将它们转换为 IP。根据协议的不同,Linux 可能已经有现有的协议支持,或者有足够相似的东西可以利用。
考虑一个室外温度计,它通过无线链路从 CR2032 纽扣电池或“智能灯泡”运行。“智能灯泡”可能看起来不是低功耗应用,这取决于它在关断状态下处理事情的方法。纯 Linux 方法(在关闭时休眠)可能意味着您会遇到启动时间问题(大多数用户不愿意等待 10 到 20 秒才能第一次打开灯泡)。
如果这些设备中的任何一个直接运行某种 IEEE 802.11(“Wi-Fi”),电池寿命将受到极大的限制。同样,灯泡关闭时的功耗将远高于普通灯泡。(智能灯泡通常允许用户从关闭状态通过互联网打开它。)相反,它们可以使用为低功耗协议设计的灯泡,例如简单的 2.4GHz 信号系统或蓝牙低功耗,以保持低功耗特性。嵌入式 Linux 网关将低功耗无线链路转换为 Wi-Fi 甚至以太网以实现互联网连接。基于 Linux 的网关以及低功耗无线协议正是您今天在市场上众多设备上看到的东西。
另一个常见案例是全新设计。今天,嵌入式 Linux 已经存在于许多非物联网设备中。设计师面临的一个常见困境是在裸机/RTOS(实时操作系统)方法与在 SoC(片上系统)上使用 Linux 之间做出选择,SoC 是一种集成了计算机所有组件的集成电路。裸机选项最初看起来具有较低的 BOM(物料清单)成本,但这忽略了常见问题,例如上市时间、开发成本和支持成本。嵌入式 Linux 可以更快地完成周转,更大的用户群意味着更低的开发成本,包括可用的资源,包括合格的工程师和开发工具,例如那些允许您模拟项目各个方面的工具。庞大的 Linux 用户群可以扩大测试覆盖范围并简化支持问题。
物联网设备的主要要求是连接性,通常以 IP 的形式出现。通常这是通过 Web 服务器实现的。裸机/RTOS 可以提供 IP 连接,但除非您仔细审查,否则您可能会面临错误百出且可能不合格的 IP 实现的风险。例如,许多 RTOS 不会将 IP 堆栈用户与 IP 堆栈本身隔离。互联网连接可能需要处理低速或拥塞的链路。当堆栈与其他代码混合在一起时,这可能会转化为晦涩难懂且难以调试的缓冲区处理问题。相比之下,嵌入式 Linux 实现利用硬件隔离和广泛使用的 IP 堆栈,该堆栈可能已经暴露于边缘情况。如果您考虑到这一点以及与裸机/RTOS 实现相关的其他风险,您可以快速抵消 Linux 增加的最低 BOM 成本,从而缩短上市时间、降低支持和开发成本以及广泛可用的开发资源。
另一个常见案例是增强现有设计以实现物联网功能。这包括几乎完成但仍在开发中的项目以及现有产品的升级。关键问题是添加物联网功能。为了便于讨论,这意味着向具有 Web 浏览器(如手机上)的设备添加读取设备状态、配置和控制,或所有这些功能。这意味着您需要 IP 堆栈、Web 服务器和设备上的软件粘合剂。
对于具有裸机设置的现有设备,上述讨论适用于改造互联网连接。改造设备以使用嵌入式 Linux 可能是最简单的途径。让我们看看现有的嵌入式 Linux 设备。向现有设备添加 IP 连接可以像通过内核选项启用 IP 堆栈一样简单。您需要添加一些软件包来配置系统,同时引入众多 Web 服务器之一。此时,您需要编写软件粘合剂来服务 Web 请求。软件粘合剂可以是使用 shell、Python、JavaScript 等编写的简单脚本的形式。具有添加的物联网功能的上市时间通常至关重要,因此,您可以与其他步骤同时执行最后一步。增加一名工程师可以真正加速开发。
安全性是将物联网连接改造到嵌入式 Linux 设备的一个基本问题。这适用于改造和全新设计。物联网服务通常暴露于危险的、未经过滤的互联网。互联网接口上的系统泄露可能会产生超出向入侵者提供有关设备信息或控制设备的后果。但是,进一步探讨安全问题很容易再写一篇文章。您可以利用几个原生的嵌入式 Linux 功能——多用户、SELinux 和容器——来控制和限制损害。这是在 Linux 社区其他部分共享的潜在修复程序之上的。
这些案例展示了嵌入式 Linux 如何加速物联网开发。Linux 可以面向未来,简化增强功能,并为物联网生态系统提供 IP 网关服务。Linux 生态系统中庞大的驱动程序和功能库以及开源的力量是构建物联网项目的天然资源库。
Hunyue Yau 将在 SCALE 15x 大会上发表演讲,主题为:嵌入式 Linux 的多重物联网角色。
1 条评论