AliOS Things组件功能介绍(二)

简介: AliOS Things组件功能介绍(二)

开发者学习笔记【阿里云物联网助理工程师认证(ACA)AliOS Things组件功能介绍(二)

课程地址:https://edu.aliyun.com/course/3112060/lesson/18971

AliOS Things组件功能介绍(二)


7、BLE host组件

BLE host组件主要是一个支持符合Bluetooth4.0/4.2/5.0核心协议规范的BLE host软件协议上。它主要支持的功能有GAP多角色支持(它是Generic Access Profile的缩写,是通用接入规范的意思=,它支持四种GP角色,第一个可以作为外部设备一般发送可连接的广播数据包,一旦被连接就作为从机具备发送可接收的功能。第二个是中心设备的角色,一般是对外设发起连接,连接之后作为主机具有发送和接收的功能。observer是观察者,也称之为扫描广播者,报告广播信息给应用,这种角色下必须要有接收的功能。


最后一个角色是广播者角色,一般用来发送广播数据包,需要有数据发送功能,也就是AliOS Things BLE host的组件支持四种角色,广播者、观察者、外部设备和中心设备。)第二个支持的功能是GATT多连接,它既可以作为蓝牙的客户端,也可以作为提供服务和数据的服务端。第三个支持的功能是SM支持及安全管理的支持,主要是针对蓝牙安全连接的管理,分成四部分,第一个支持传统的蓝牙连接,第二个是可以在蓝牙连接前设置安全等级(一般有四个等级),第三个是提供安全连接,第四个是支持RPA地址生成。第四个BLE host组件支持的功能是HCI接口支持。


HCI是主机控制接口是host control interface的缩写,分为两种接口,一种是标准HCI接口和虚拟HC接口。标准HCI接口支持只有主机的应用场景,主机通过HCI接口和controller对接,比如MCU和controller,其蓝牙模块是作为一种外接的模存在和MCU分离,这时主机通过HCI接口来和外接的控制模块进行通信,controller及蓝牙通讯模块一部分虚拟HCI接口支持host加controller应用场景,即蓝牙模块和主机是关联一体的,不是作为外界的模块,这时host就可以使用虚拟的HCI接口来和蓝牙通信模块进行通信


例如下图,上面是主机站,下面controller是蓝牙通信模块的部分。主机通过HCI接口和蓝牙通讯部分进行数据交互。

图片277.png

8、MODBUS主协议组件

MODBUS协议是应用于设备控制器上的一种通用语言,通过此协议控制器通过网络和其他设备之间可以进行通信,成为了一种通用的工业标准。有了MODBUS协议,不同厂商生产的控制设备可以连成工业网络进行集中监控,这个协议定义了一个控制器能够认识使用的消息结构。有了这个消息结构,可以经过任何网络进行通信,是一种主从协议,即主站发起通信从站响应,主站设备可以和一个或多个从站通信。


具体通讯流程如下图,当MODBUS主设备想要从一台从设备请求数据时,主设备会发送一条包含从设备地址、请求数据以及一个用于检测错误的校验码的数据帧,网络上的其他设备都可以收到这样的一个信息,但是只有指定地址的设备才会做出反应,因为主设备发送的数据帧里面包含了从设备的地址,其他设备收到信息之后,检查这个地址是否和自己的地址一样,不是不做出反应,是则做出反应,这个就是他通讯的一个过程。MODBUS主协议是针对物联网RTS系统而专门设计的,协议在实现时分成四个层,整体架构如下,最下层是PHY层,主要用于通信链路初始化及数据发送与接收。第三层ADU层用于封装数据包ADU的信息部分。PDU层用于封装数据包PDU部分。嘴上层API层,主要用于提供用户接口(包括初始化协议请求等)。

图片278.png

9、BLE Mesh组件

BLE Mesh组件是蓝牙mesh网络组件,是一种多对多通信组件,通过BLE Mesh节点设备之间可以进行相互通信,组成一个通信网络,具有覆盖范围大、功耗低、安全性高、路网灵活、支持规模大节点设备等特点。

BLE Mesh组件协议站,是基于蓝牙SIG组织于2017年7月发布的蓝牙Mesh V1.0标准来实现。下图是AliOS Things BLE Mesh产品架构图,包含了很多蓝牙的相关部分,蓝牙Mesh协议上属于其中的一块,用来实现节点设备之间的网络通讯。

图片279.png

10、U data组件

U data组件是传感器管理框架,主要分为两部分,Kernel部分和framework。Kernel层主要负责传感器驱动和相关的静态校准,包括轴向校准等。framework层主要负责应用服务管理、动态校准管理和对外模块接口等。下图是U data的一个组件示意图,最下层是传感器抽象层,通过虚拟的文件系统调用传感抽象层提供的接口来对底层不同型号、不同厂家生产的传感器进行数据采集和控制,包括动态校准管理、应用服务管理。比如有温室度气管理、加速器管理数据上云管理等。

图片280.png

11、uLog模块

u Log模块主要在AliOS Things中承担各个组件的日志记录和输出。


12、MAL组件

MAL组件是MQTT Adapter Layer的简称,该组件将外部扩展模组中提供的MQTT协议通过AT或者其他命令的方式为用户转换为AliOS Things系统中提供的统一MQTT协议API,提高用户应用程序的可移植性和硬件无关性,即用户可以直接使用转换之后的API,直接操纵外部支持MQTT协议的扩展模组。MAL组件主要包括以下几部分。第一部分是MAL Core,由AliOS Things提供是核心组件,主要包括MQTT连接管理、数据缓存、协议转换等功能,对上提供MQTT API接口服务,对下提供统一的HAL接口规范,对上提供的接口服务用于用户调用,对下提供的HAL接口规范可以对接不同厂商的AT模组。

MAL Driver组件驱动,驱动部分由AliOS Things提供,部分由用户自己来提供。MAL驱动模块是基于具体型号的通讯模组提供的AT命令来实现MAL规范的HAL接口功能。第三个是MQTT API,这层接口它提供了MQTT标准接口,如subscribe、unsubscribe、publish等。第四部分是MAL HAL API,这一层接口定义了MAL核心模块与不同厂商模组驱动之间的统一界面,这一层的HAL的对接是模组驱动接入中的主要工作。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
安全 物联网 API
AliOS Things组件功能介绍(三)
AliOS Things组件功能介绍(三)
228 0
|
存储 网络协议 物联网
AliOS Things组件功能介绍(一)
AliOS Things组件功能介绍(一)
296 0
|
物联网 Linux
【AliOS Things学习笔记】为你的AliOS Things应用增加自定义cli命令
怎么才能在RTOS系统中,通过 串口shell控制LED的开关。
3687 0
|
开发框架 安全 AliOS-Things
AliOS-Things 构建系统的介绍|学习笔记
快速学习 AliOS-Things 构建系统的介绍。
451 0
AliOS-Things 构建系统的介绍|学习笔记
|
监控 小程序 物联网
《AliOS Things快速开发指南》来了!
本文将基于AliOS Things 3.1系统搭建应用,此应用通过支付宝小程序控制RGB灯的颜色。
《AliOS Things快速开发指南》来了!
|
监控 安全 网络协议
AliOS Things 3.3新功能介绍
AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源,当前最新的版本是 AliOS Things 3.3。
AliOS Things 3.3新功能介绍
|
物联网 Linux 数据格式
AliOS Things开发:AliOS Studio使用说明
AliOS Studio 是一套基于vscode的开发环境,支持windows、linux、macOS。
AliOS Things开发:AliOS Studio使用说明
|
开发框架 IDE 物联网
AliOS Things 3.1 特性详解
深入了解AliOS Things,参加开发者活动获取多项权益
AliOS Things 3.1 特性详解
|
域名解析 移动开发 数据可视化
使用 AliOS Things 3.0 快速构建用户应用 BlinkAPP
AliOS Things 3.0版本于去年9月份在云栖大会正式发布,在新版本中带来了全新的应用开发框架,帮助用户快速构建自己的应用。使用户可以更专注于自身应用的开发。本文将已BlinkAPP为例,为大家演示如何快速使用应用开发框创建项目并完成应用代码编写。
975 0
使用 AliOS Things 3.0 快速构建用户应用 BlinkAPP
|
物联网 C++
使用AliOS Things 3.0快速构建用户应用 BlinkAPP
AliOS Things 3.0版本于9月27日在云栖大会正式发布,在新版本中带来了全新的应用开发框架,帮助用户快速构建自己的应用。使用户可以更专注于自身应用的开发。本文将已BlinkAPP为例,为大家演示如何快速使用应用开发框创建项目并完成应用代码编写。
7005 0