购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 嵌入式技术应用

嵌入式技术是整个物联网的核心技术之一,是万物互联中物的基础。任何物体若要接入物联网都需要借助嵌入式技术。在物联网项目中,单片机一般作为嵌入式设备的大脑,负责简单处理各种数据和执行任务。本书也将重点讲解物联网中的嵌入式开发技巧。

嵌入式开发包含非常多的知识点,从底层裸机原理到操作系统,从蓝牙到WiFi、ZigBee。不同的划分原则可以划分出不同的领域。

根据芯片运行的操作系统区分,我们可以简单地分为单片机开发、RTOS开发、嵌入式Linux开发三大部分。

根据通信场景又可分为:近距离通信(蓝牙、WiFi、ZigBee等)、远距离通信(GSM、NB-IoT等)。

2.2.1 单片机技术

单片机是一种集成电路芯片,在芯片内部集成了CPU、RAM、ROM、IO、定时器等功能。单片机的使用领域已十分广泛,如智能仪表、实时工控、通信设备、导航系统、家用电器等。

单片机拥有以下几种应用特点:

(1)拥有良好的集成度。

(2)自身体积较小。

(3)拥有强大的控制功能,同时运行电压比较低。

(4)拥有方便携带等优势,同时性价比较高。

本书中的单片机开发特指裸机开发,即在单片机上不运行操作系统,而直接运行用户程序。这样开发难度比较低,只需要读者掌握单片机开发技巧和物联网组网技术即可。

2.2.2 嵌入式RTOS

在嵌入式应用领域,很多场合对系统的实时性要求严格,在这样的场合下,我们需要在单片机的基础上,增加实时操作系统,即RTOS。

一般在实时操作系统中,用户程序是以线程(任务)的形式存在的,每个线程(任务)都存在优先级。实时操作系统会保证高优先级的线程(任务)具有优先执行权,从而保证整个系统的实时响应能力。

目前市场上的RTOS非常多,本书大致列出如下几种:RT-Thread、FreeRTOS、μC/OS家族、RTX。

1.RT-Thread

RT-Thread有两个版本:RT-Thread Nano和RT-Thread IoT。

RT-Thread Nano是一个精简的硬实时内核,支持多任务、信号量等。内核占用ROM仅为2.5KB,RAM占用1KB,适合初学者用来学习RTOS,也适用于家电、医疗、工控等32位入门级MCU领域。

RT-Thread IoT是RT-Thread的全功能版本,由内核层、组件、IoT框架层组成,重点突出安全、联网、低功耗和智能化等特点。它支持丰富的网络通信协议,如HTTPS、MQTT、WebSocket、LWM2M等,支持连接不同的云端厂商设备,是学习物联网的最佳入门选择。

根据官方资料显示:RT-Thread系统完全开源,3.1.0及以前的版本遵循GPL V2+开源许可协议。从3.1.0以后的版本遵循Apache License 2.0开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码。

本书将采用RT-Thread作为RTOS的学习入门。

2.FreeRTOS

FreeRTOS是专为小型嵌入式系统设计的可拓展实时内核,并且开源免版税,设计小巧,简单易用。通常FreeRTOS内核二进制文件的大小在4KB到9KB。

2017年底,FreeRTOS的作者加入亚马逊,担任首席工程师,FreeRTOS也由亚马逊管理。亚马逊同时修改了用户许可证,FreeRTOS变得更加开放和自由。背靠亚马逊,相信未来FreeRTOS会更加稳定可靠。此外,以前价格不菲的《实时内核指南》和《参考手册》也免费开放下载,这使得学习更加容易。

3.μC/OS家族

μC/OS家族包含μC/OS-Ⅰ、μC/OS-Ⅱ、μC/OS-Ⅲ,由Micrium公司提供,是一个可移植、可固化、可裁剪、占先式多任务实时内核,适用于多种微处理器、微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。μC/OS-Ⅱ已经通过联邦航空局(FAA)商用航行器认证,符合航空无线电技术委员会(RTCA)DO-178B标准。

虽然μC/OS源码开源,网上资料非常多,适合用来学习,但是使用μC/OS商业化则需要交版权费,故而本书未采用μC/OS作为学习入门。

4.RTX

Keil RTX是为ARM和Cortex-M设备设计的免版税的实时操作系统。它允许创建同时执行多个功能的程序,并帮助创建更好的结构和更容易维护的应用程序。

具有源代码的免版权、灵活的调度等特点。但是由于RTX是运行在Cortex-M设备上,不具有可移植性,故而本书未做深入介绍。

2.2.3 嵌入式Linux

嵌入式Linux是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,近几年来已成为研究热点。目前正在开发的嵌入式系统中,有近50%的项目选择Linux作为嵌入式操作系统。

由于嵌入式Linux对芯片资源要求比较高,在一些成本敏感的场合,目前使用的还是单片机+RTOS为主。而在一些对性能要求比较高、需要多媒体网络等复杂功能的场景,嵌入式Linux可以说是最佳的选择,例如路由器、家庭智能网关、人机交互等。 uh5Mw9kDMOF0XFIzGtqjCtxQWGOI9F8z5E9KY7DhZ6YUGyqJkOt63GjxnOB6vH0L

点击中间区域
呼出菜单
上一章
目录
下一章
×