揭晓为何RTOS是物联网设备最佳选择
扫描二维码
随时随地手机看文章
如果你正在开发物联网设备,则需要仔细考虑要使用的操作系统。物联网设备都具有物联网操作系统需要考虑的共同约束,包括功率、内存和处理速度。这些设备限制意味着许多嵌入式开发人员的自然首选操作系统选择Linux 通常并不合适,许多物联网设备根本没有足够的板载RAM 来支持甚至精简版的操作系统。
这就是为什么实时操作系统(RTOS)是物联网设备的一个很好的替代品。因此,现在市场上有大量开源和商业RTOS 选项。在本文中,我们将与你讨论如何为你的IoT 设备选择最佳RTOS。
物联网近两年的快速发展,想必大家都看到了,因为物联网,使C语言的成为最受欢迎的语言(之前几年JAVA一直的老大)。
顺便先给大家看看6月TIOBE指数:
C语言已经连续两月位居榜首,超越JAVA了。
一、为什么IoT设备选用RTOS?
我们说的IoT设备,通常指的是物联网系统中的终端设备,我们将IoT设备视为通过网络发送和接收信息的嵌入式系统。
尽管许多嵌入式系统使用较不复杂的软件即可很好地管理,但联网设备需要功能更强大的系统。
物联网设备的软件应该具备:
可扩展:以适应各种不同类别的设备
模块化:选择所需的组件
可连接:通过Wi-Fi,以太网,USB或蓝牙将数据移入和移出设备。
可靠性:最好具有相关的安全认证
选择RTOS 时要考虑的关键点
现在市场上有多种用于物联网设备的开源和商业RTOS可供选择。由于选择可能令人眼花缭乱,以下是为物联网设备选择最佳RTOS 时需要考虑的关键点。
性能:在性能方面,你有很多选择。内存和处理占用空间要求是你首先需要考虑的事情。ROM、RAM和闪存都应根据你的内存需求进行评估,而中断延迟和上下文切换时间应根据你的处理需求进行评估。
可扩展性:8位和16 位MCU 一直是IoT 设备的首选硬件,但32 位MCU现在变得越来越流行,导致许多制造商在设备中使用两种不同的供电流程。因此,你的RTOS 应该是可扩展的,以便管理任何未来的MCU 升级。
图形用户界面:GUI要求会对你为IoT 选择RTOS产生重大影响。在嵌入式开发中,你是否只需要设备的基本图形库,还是需要更高级的东西,例如3D 渲染、多层界面和自定义?
连接性:你的RTOS 需要哪些通信协议才能为你的嵌入式设备提供连接性?以太网、Wi-Fi、蓝牙和IEEE 802.15.4?你的 RTOS将使你能够选择连接所需的特定通信堆栈,因此你只使用你需要的。
模块化:毫无疑问,你使用的RAM 有限,因此你的RTOS将配备一个强制性的核心内核,以及定制的中间件和协议栈。通过仅围绕核心内核构建你需要的内容,你可以控制设备内存需求,这对于传统操作系统来说要困难得多。
安全性:需要仔细考虑你的物联网设备和系统安全要求。市场上的每个RTOS都提供不同范围的安全附加组件,例如安全启动、SSL支持和加密驱动程序。在 Nabto,我们使用p2p 加密提供超安全的物联网连接,无需第三方依赖。在此处详细了解我们的p2p IoT 连接解决方案。
生态系统:你正在考虑的每个RTOS 在你的行业中的采用情况如何?是否支持其他架构和处理器?是否有活跃的嵌入式开发者社区在GitHub、堆栈溢出和其他平台上共享代码和其他信息?庞大的用户社区提供了该软件功效的社会证明,当然,也提供了一个有用的学习资源。