查看: 361|回复: 0

[原创] 【米尔MYS-8MMX试用】接入阿里云物联网

[复制链接]
  • TA的每日心情
    开心
    前天 00:45
  • 签到天数: 586 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2021-11-5 10:26:13 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 robe.zhang 于 2021-11-5 10:55 编辑

    【米尔MYS-8MMX试用】接入阿里云物联网


    近年来物联网深入生活中的方方面面,万物互联。阿里云物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过调用云端API将指令下发至设备端,实现远程控制。
    21.png
    笔者把米尔MYS-8MMX开发板(armlinux 设备)接入了阿里云物联网平台,实现了设备入网部分,不仅此开发板可以接入阿里云,其他所有的linux 设备都可以接入阿里云
    22.png
    阿里云提供了接入物联网的SDK源码,基于此SDK框架用户只要实现自己的业务逻辑,即可完成一个物联网产品。

    笔者分析源码实现过程,整理成流程图如下:
    23.png
    通过阿里云物联网SDK框架接入阿里云的详细流程:
    1, 因为是 SDK 框架,通用于不同的设备,不同的系统,不同的网络连接等,所以底层的系统接口层,网络层等分离出来了,做好系统接口和网络层的适配,就可以支持 arm linux 设备,其他 linux 设备,还支持 MCU 设备等。初始化系统接口层,就是初始化此SDK底层的系统接口函数:
    比如以下接口:
    24.png
    内存分配接口的实现:malloc 是 linux系统内存分配接口
    25.png
    获取时间接口,随机数接口实现:
    26.png
    2, 初始化网络层:
    27.png
    3, 初始化mqtt 对象,填充mqtt_handle 的主机名字,端口,三元组信息,后面连接网络,连接 mqtt 服务器需要用到
    4, 连接阿里云物联网平台服务器
    5, 主进程创建保活进程,不停的发送系统心跳,告诉阿里云物联网此设备在线。
    6, 主进程创建接收消息的进程,处理阿里云下发的消息
    7, 主进程休眠了
    8, 保活进程正常工作,维持系统心跳
    9, 接收进程正常工作,处理系统下发执行,并执行指令。

    笔者实现了此开发板开灯,关灯,闪烁灯,接入了阿里云物联网平台,并添加了 mqtt 自启动服务。开发板一上电会自动接入阿里云物联网,用户可以远程控制开发板LED灯,任何时间任何地点只要接入网络,就可以控制。
    下发 led on 消息,led 常亮
    下发 led off 消息,led 熄灭
    下发 led blink 消息,led闪烁

    [视频]




    回复

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|电路城

    GMT+8, 2021-12-1 19:59 , Processed in 0.082269 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.