嵌入式开发:物联网嵌入式系统的操作系统

更新时间: 2021-11-08 09:47:41来源: 粤嵌教育浏览量:12785

  在物联网中有两大类物理对象:标记对象和连接对象。第一类包括附加到产品上的各种标签技术,例如条形码、QR码、NFC或RFID标签、IR/AR等。在这种情况下,对象不是直接连接到web,而是被动连接,因为需要另一个设备或应用程序与产品交互。连接对象直接连接到物联网,是嵌入式开发的世界,它们本质上是小型、相对便宜、低功耗的计算机,资源和能力有限。


  有数百种嵌入式平台,这些平台的一个区别是它们的操作系统。为了简化,我们可以考虑用于嵌入式设备的两类操作系统(OS):实时操作系统(RTOS)和非实时操作系统!


  说到嵌入式设备,RTOS的世界由FreeRTOS主宰,FreeRTOS是一种开源实时操作系统,尽管存在一些可行的替代方案,如Contiki、TinyOS、mbed OS或商用Intel VxWorks。实时操作系统的缺点之一是它不太擅长并行操作许多任务,这使得很难构建提供简单抽象的复杂层。这是非实时操作系统可以提供帮助的地方。它对于那些任务不那么关键的事情尤其有用,因为用户体验和功能比恒定、非常快速的响应时间更重要。



  在嵌入式开发中,一个操作系统比在RTOS世界中更能控制所有操作系统:Linux。由于其庞大的社区、大量的工具、抽象和支持的体系结构,Linux是开始修补和创新物联网设备的理想环境。但不要弄错了;它也越来越成为现实世界和强大物联网应用(如家庭自动化或构建应用网关)的可靠候选。还值得注意的是,许多项目提供Linux内核的修改版本,以将其转换为实时操作系统。


  在过去的几年里,Linux已经成为一种在嵌入式设备上使用的非常流行的操作系统,来自Linux基金会(Yocto)的项目现在致力于为嵌入式设备创建定制的Linux发行版。类似地,谷歌已经发布了Brillo,Android的一个扩展(也构建在Linux上)用于物联网,Ubuntu也为物联网发布了Ubuntu内核。Ubuntu Core还展示了物联网操作系统容器化的一个有趣的发展方向:允许在容器中部署应用程序,为物联网应用程序商店铺平道路(想象一下在现实世界中安装电梯后为电梯添加功能)。值得注意的是,尽管Linux在很大程度上占据主导地位,但在这一领域,Linux还有一些替代品,如用于物联网的Windows 10。


  在构建物联网的过程中,您将了解更多关于嵌入式开发的细节,以及如何为Raspberry Pi、BeagleBone或Intel Edison等平台安装和定制Linux。

免费预约试听课