本帖最后由 robe.zhang 于 2021-11-5 10:55 编辑
【米尔MYS-8MMX试用】接入阿里云物联网
近年来物联网深入生活中的方方面面,万物互联。阿里云物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过调用云端API将指令下发至设备端,实现远程控制。 笔者把米尔MYS-8MMX开发板(armlinux 设备)接入了阿里云物联网平台,实现了设备入网部分,不仅此开发板可以接入阿里云,其他所有的linux 设备都可以接入阿里云
阿里云提供了接入物联网的SDK源码,基于此SDK框架用户只要实现自己的业务逻辑,即可完成一个物联网产品。
笔者分析源码实现过程,整理成流程图如下: 通过阿里云物联网SDK框架接入阿里云的详细流程: 1, 因为是 SDK 框架,通用于不同的设备,不同的系统,不同的网络连接等,所以底层的系统接口层,网络层等分离出来了,做好系统接口和网络层的适配,就可以支持 arm linux 设备,其他 linux 设备,还支持 MCU 设备等。初始化系统接口层,就是初始化此SDK底层的系统接口函数: 比如以下接口: 内存分配接口的实现:malloc 是 linux系统内存分配接口 获取时间接口,随机数接口实现: 2, 初始化网络层: 3, 初始化mqtt 对象,填充mqtt_handle 的主机名字,端口,三元组信息,后面连接网络,连接 mqtt 服务器需要用到 4, 连接阿里云物联网平台服务器 5, 主进程创建保活进程,不停的发送系统心跳,告诉阿里云物联网此设备在线。 6, 主进程创建接收消息的进程,处理阿里云下发的消息 7, 主进程休眠了 8, 保活进程正常工作,维持系统心跳 9, 接收进程正常工作,处理系统下发执行,并执行指令。
笔者实现了此开发板开灯,关灯,闪烁灯,接入了阿里云物联网平台,并添加了 mqtt 自启动服务。开发板一上电会自动接入阿里云物联网,用户可以远程控制开发板LED灯,任何时间任何地点只要接入网络,就可以控制。 下发 led on 消息,led 常亮 下发 led off 消息,led 熄灭 下发 led blink 消息,led闪烁
[视频]
|