查看: 3237|回复: 2

[分享] 在恩智浦MCU上使用AliOS Things

[复制链接]

该用户从未签到

72

主题

80

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
724
最后登录
2020-1-3
发表于 2018-11-19 09:44:25 | 显示全部楼层 |阅读模式
本帖最后由 eefishing 于 2018-11-16 15:36 编辑

随着物联网设备的普及,物联网操作系统也成了广大开发者热烈讨论的话题之一,很多的组织和厂商都推出了在物联网节点上的基础软件——物联网操作系统,如服务器巨头Alibaba推出的AliOS Things,Amazon公司的Amazon FreeRTOS,再如开源社区领袖Linux基金会推出的Zephyr,以及在国内知名度很高的RT-Thread等等。
这些物联网操作系统各具优势,小编参与过AliOS Things的开发,今天就讲讲AliOS Things的基本架构。

在恩智浦MCU上使用AliOS Things
讨论AliOS Things之前,先来看看恩智浦在这上面做了哪些工作,有哪些产品可以支持这一物联网操作系统。
恩智浦的工程师和广大开发者,在AliOS Things上已经完成了大量的平台移植工作。在AliOS Things的GITHUB上,已经有数十款MCU通过了AliOS Things的认证测试,并获得了设备认证。
下面是已经获得认证的部分恩智浦MCU的列表:

12.png

从这个表里可以看出,很多恩智浦主流的MCU产品都已经支持了AliOS Things。另一个要点是,表中可以看到这些MCU的存储容量跨度很大,最小只有8KB RAM和32KB Flash,这说明AliOS Things可以适应非常广泛的MCU配置,适应性很强。
下面就详细看看AliOS Things的内部模块和功能配置。


AliOS Things是什么?
AliOS Things是阿里巴巴推出的物联网设备端软件框架,物联网设备可以通过AliOS Things设备框架接入阿里云,使用云服务器提供的相关物联网设备服务。
133.png


AliOS Things软件框架是基于APACHE2.0协议的开源软件,项目地址为
http://github.com/alibaba/AliOS-Things
AliOS Things软件架构可以从下到上分为四层,硬件和硬件抽象层、AOS操作系统层、应用框架层和应用层,下层组件为上层业务逻辑的实现提供支撑机制。
下图是AliOS Things的整体框图:
14.png

1. 硬件和硬件抽象层
物联网节点应用的多样性,导致物联网硬件的巨大差异。
物联网节点设备上的传感器、通信模块、微控制器的内核架构,外设组件等都不相同,物联网操作系统在不同硬件平台的可移植性,是其成功与否的一大挑战。
为了增加物联网操作系统在不同硬件平台的可移植性,AliOS Things对物联网硬件提供了3组不同层级的硬件接口,包括微控制器内核架构模块(图中的CPU模块),片上系统片上外设模块(图中的HAL模块),和基于电路板的模块(图中的BSP模块)。
在Github的项目中,CPU相关源码位于/AliOS-Things/platform/arch目录,HAL相关源码位于/AliOS-Things/platform/mcu目录,API定义文件为/kernel/hal/include/hal/hal.h,BSP相关源码位于/AliOS-Things/board目录。



2. AOS操作系统层
AOS操作系统层主要由核心组件(Kernel)、网络协议栈(Protocol Stack)和安全组件构成。

核心组件
Rhino是一个实时操作系统内核。和其他操作系统内核类似,Rhino提供了操作系统的基本功能,如多任务管理、任务间通信、内存管理等。内核也支持软件定时器及功耗管理。如果读者希望对Rhino内核有更多的了解,可以参考AliOS Things百科
http://github.com/alibaba/AliOS ... OS-Porting-Guide.zh,文章介绍了更多关于Rhino内核的移植、性能、代码尺寸等信息。
VFS是一个虚拟文件系统,提供了设备文件接口。类似于Linux系统,除了存储在存储器上的文件外,硬件设备(如传感器、麦克风等)也可以通过VFS设备接口访问。
YLoop是一个用于进程间通信的异步事件框架,提供了在任务中接收/处理/发布系统消息、定时器消息、用户消息、IO消息(传感器、WiFi)的机制。Yloop机制广泛的用于AliOS Things的设备框架层和应用程序中。
Key-Value Pair(KV)键值对,提供了键值对在Flash或EEPROM上的增加、删除、修改、查询等接口。上层业务可以通过键值对接口,完成对硬件设备数据(Sensor校准参数)或用户数据(WiFi SSID)的管理。
除此以外,核心组件还提供了POSIX兼容接口和低功耗的支持。
核心组件的相关源码位于/AliOS-Things/kernel目录。

网络协议栈(Protocol Stack)
AliOS Things网络协议栈包括IP和非IP设备的网络协议。对于IP网络,协议栈既提供基于LWIP的支持,也提供了MCU + Wi-Fi模块或Wi-Fi片上系统的支持。对于非IP网络,协议栈包括蓝牙、LoRa WAN、zigbee等。
在物联网节点中使用的Wi-Fi模块并非统一规格。在总线连接方式上,Wi-Fi模块的接口可能支持UART/SPI/SDIO的一种或几种;在访问方式上,有的Wi-Fi模块使用基于AT命令的控制方式,有的Wi-Fi模块使用裸Socket形式的API。
套接字适配层SAL(Socket Adapter Layer)旨在抽象Wi-Fi模块的差别,以提供应用层网络服务或者网络应用程序的可移植性,向上层提供BSD Socket接口。
对于设备组网,AliOS Things网络协议栈还提供基于不同平台的uMesh库。
网络协议栈相关源码在/AliOS-Things/network目录。

安全组件
AliOS Things对于安全的支持要有以下方面:
基于mbed tls提供TLS支持,用于建立服务器和IoT节点的安全可信通信连接。
提供软件密码学引擎
提供安全存储的接口
提供基于ID2的预置可信根和相关认证机制
提供可信执行环境TEE的例子
安全相关源码位于/AliOS-Things/security目录。


3. 应用框架(中间件)
应用框架包括固件升级框架、传感器采集框架、物联网通信协议、语音服务、Java Script解释器和工具。
Linkkit中间件支持各种适用于物联网的应用层协议,包括MQTT、CoAP、ALink、HTTP、HTTP2等。
uData提供了传感器采集框架,在uData框架中,传感器数据表示成为传感器类型,传感器数据和时间戳的实例。
Tiny Engine是一个Java Script脚本解释器,为实现最终应用的跨硬件平台的运行能力。
固件升级FOTA,基于网络的固件升级在物联网终端节点非常普及。物联网设备固件存放在AliCloud中,AliCloud管理入网设备和对应的固件版本。在物联网设备和AliCloud建立可信安全连接后,物联网设备通过MQTT升级主题订阅,或者Alink相关协议实现待升级固件的下载。在物联网应用中,由于网络的不稳定,实现固件升级通常需要实现“双备份”升级方式,物联网设备的Flash一般会划分有独立的存储升级文件的区域,这也要求物联网节点设备比传统设备需要更多的存储空间。
此外,AliOS Things还提供了语音云服务接口LinkVoice,物联网终端节点可以上传语音数据,使用阿里云的诸如语音识别等的云服务。
AliOSThings应用框架及中间件相关源码位于/AliOS-Things/middleware目录。


4. 应用实例
AliOS Things提供了各种应用实例,指导开发者如何使用AliOS Things提供的各种机制,以完成物联网设备和AliCloud之间的互联通信。
通过BUILD系统和交叉编译工具链,这些应用可以在支持AliOS Things的硬件平台上运行。
AliOS Things应用实例的源码位于/AliOS-Things/app目录。


结束语
恩智浦长期致力于物联网,以及在AliOS Things平台下的开发和移植工作。如果您心意的MCU不在列表中,请让我们知道,我们有足够的经验和知识,可以帮助您进行平台的移植和设备认证。





回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25491
最后登录
2025-9-9
发表于 2018-11-20 13:49:14 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

  • TA的每日心情
    慵懒
    23 小时前
  • 签到天数: 1882 天

    连续签到: 7 天

    [LV.Master]伴坛终老

    203

    主题

    3万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    112745
    最后登录
    2025-9-10
    发表于 2018-11-20 14:25:11 | 显示全部楼层
    需要LPC5系啊
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-10 23:52 , Processed in 0.094734 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表