基于FreeRTOS的嵌入式设备管理关键技术研究及实现(学习一)

NB-IoT(Narrow Band Internet of Things)网络具有低功耗、低成本、广覆盖、大连接的优势,使得NB-IoT在嵌入式设备中的应用迅速推广,如今,NB-IoT被广泛应用于工业、医疗、智慧城市等各个领域。

随着NB-IoT设备功能日益复杂,如何在低带宽和低功耗的条件下进行设备的统一化管理和固件远程升级成为系统面临的问题。

论文基于企业委托项目,设计并实现了一种能够实现远程设备管理的机房环境监控设备,采用差分升级方式减少了设备固件升级时的数据传输量和传输时间,从而降低了设备固件升级的功耗和带宽要求。

  1. 设计并实现了基于FreeRTOS的嵌入式设备管理架构,该架构覆盖硬件选型、协议选择、软件设计,兼顾了NB-IoT的自身特性与项目实时性需求,同时也满足软件设计的高内聚,低耦合特点。
  2. 设计并实现了基于LwM2M设备管理协议的设备管理驱动程序。该驱动设计基于IPSO联盟指定的“对象-资源”模型对设备资源进行抽象,并参照移动OneNET平台提供的平台侧通信接口实现了设备内部的信息管理统一接口,能够完成数据上传,远程控制等功能。实现了设备管理和控制的模块化和标准化。
  3. 论文针对内存受限的小型设备优化了差分升级算法。由于使用NB-IoT技术的设备普遍存在内存受限问题,本文针对性地提出了数据序列化的更新机制,有效减少了差分升级时所需的内存空间,并通过实验验证了该算法的有效性。

研究背景和意义

随着智能产品逐渐走进千家万户,设备间的关联性越来越强,真正形成了“万物互联”,而在“万物互联”的同时,面临的挑战也越来越多。

随着物联网概念的普及并应用在各行各业,小型终端设备部署数量爆炸式增长,工信部在2018年也给出了物联网发展目标,在未来几年,物联网连接数达到17个亿,最新的文件中还明确了6亿的NB-IoT连接目标。

在2019年末,仅电信一家运营商的物联网用户接入量就超过了2亿,其中NB-IoT用户将近7000万。

NB-IoT在2015年7月被提出,逐渐成为物联网的重要组成部分,该技术致力于打造低功耗、广覆盖物联网应用与市场,是一种被全世界多领域广泛应用的新兴技术。NB-IoT具有覆盖广、连接多、速率快、成本低、功耗低、架构优等特点。

之后OMA面向NB-IoT发布了轻量级端到端协议(Lightweight Machine To Machine,LwM2M),该协议栈基于UDP,提供轻量化报文结构的方案,对窄带物联网中的通信方式提供了参考标准。

因为NB-IoT设备通常是资源受限的小型嵌入式终端,无交互、窄带宽、低计算能力。但是由于物联网终端的数量巨大,网络传输可控性对于这样的设备非常重要,

因此,轻量级端到端协议设计了不同属性设备的参考ID,定义了每个ID可携带的数据类型,通过制定外部规则大大降低了报文设计的复杂性及传输携带的数据量。

同时,物联网中占有较大市场份的通信技术还有2G,2G作为一种成熟的通信标准,其可靠性也远高于NB-IoT,但其功耗在不同工作状态下较NB-IoT高数倍至数十倍不等,同时全球自2017年起开始陆续关闭GSM基站,因此随着NB-IoT的推广和2G在物联网中逐渐退出舞台,NB-IoT所展现出的优势和泛用性得到了广泛认可。

另一方面,由于小型终端智能设备所肩负的任务和需要完成的功能越来越多,需要不断地人为更新和完善设备软件以适应设备网络。

因此,空中升级(Over The Air,OTA)的概念被提出,随着技术的发展,OTA也被逐渐应用在物联网终端设备的更新和升级中。

传统OTA服务通常被应用在车联网和智能手机中,对于计算资源较低的设备,如部分低功耗设备,由于较小的内存空间导致这些设备的OTA也会受到更多的限制。

本文所讨论的小型设备中的OTA升级的困难主要聚焦于由于小型设备计算资源低下导致的更新失败问题。

  1. 更新困难。通常,使用NB-IoT技术的设备都是存储、处理能力受限的小型设备,但OTA差分升级过程需要占用设备相当大的内存,几乎是完整固件大小的两倍以上,因此,大多数时候这样的小型设备不用作OTA功能服务的对象,但随着嵌入式技术的发展和日益增长的万物互联的需求,小型设备的远程升级功能的完备性亟待讨论。
  2. 设备管理难度大。由于设备应用逐渐复杂、终端设备数量大幅度增加导致设备管理难度逐渐变大。首先,在早期的软件中,程序在不复杂的情况下工作比较单一,控制着简单的逻辑,例如冰箱、电热水壶等,完成的功能简单,不需要复杂的软件设计来完成复杂的功能,单任务架构可以较好地应付这样的工作。
    在这种情况下,应用和驱动耦合度很高,软件设计与硬件功能重合,甚至把应用和驱动写在同一文件中,不符合软件设计的高内聚低耦合的要求。并且,这样的设计使得软件功能单一,不利于设备管理。
    其次,由于终端设备连接数量非常大,使得对设备的管理难度变得更为困难大。
    为了满足低耦合、高内聚的软件设计理念,出现了系列化、模块化的单片机。
    用户和开发者都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就形成新的系统,这样就希望插件是互相兼容的。

物联网中的OTA技术

远程升级技术可以使终端设备远程获得固件并进行相应的固件升级服务,对相应的功能进行升级或系统漏洞进行修复。
OTA技术利用嵌入式设备的远程升级功能,可以对设备以及挂载设备进行功能修复、驱动更新。

**由于NB-IoT技术标准对应用场景的限制,针对NB-IoT的远程更新的研究以及方案并不多,有文献引入文件比对算法来减小固件包的字节数,以达到减小网络传输量的目的。还有文献讨论NB-IoT远程更新问题关注于终端设备侧的文件处理以及对在设备内存中运行的软件更新算法进行优化的算法,使设备在远程更新时降低内存消耗。**

NB-IoT技术

NB-IoT技术致力于打造低功耗、广覆盖物联网应用与市场,是一种被全世界多领域广泛应用的新兴技术。
NB-IoT技术是一种射频带宽仅180kHz的基于蜂窝网络的无线接入技术,不同于无许可频谱的通信技术,例如BlueTooth、ZigBee等,也不同于LoRa等低功耗广域技术,NB-IoT技术是基于通信运营商的一种许可频谱的无线通信技术。

NB-IoT技术具备下面几种优势:

  1. 通过使设备进入PSM状态以及省略不必要的AT指令来达到降低功耗的目的,从而达到在164dbMCL下提供电池容量为5Wh的设备可以工作10年的目标。
  2. 降低设备复杂度以适应海量设备的需求,此外也达到了低成本的目标。
  3. 通过扩展20dB的链路预算,来达到更大的覆盖度。
  4. 通过使用40个设备仓库,来达到更多设备连接数的目标。

NB-IoT技术传输速率低,上下行的峰值速率不超过250kbit/s,因此,NB-IoT技术适用于通信不频繁,传输量较小的场景。

嵌入式操作系统

项目中存在多任务调度的需求,仅使用中断来控制设备的功能既不严谨,从软件设计角度考虑也不合理。
因此,操作系统对嵌入式设备来说就是一个调度芯片资源的中心。

在操作系统介入后,设备驱动需要与操作系统结合,应用构建在驱动之上,硬件驱动设计需要按照具体系统的要求对用户开发统一接口,例如:write()、read(),操作系统会根据设备芯片组的硬件库对外封装用户接口,从而使用户可以跨硬件平台地使用系统接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值