• 201STM32+W5500基本控制篇(阿里云物联网平台)设备使用一机一密方式连接云平台,并使用物模型Topic上报温湿度数据


    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/aliyun.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    说明

    这一节咱们使用平台提供的物模型Topic把温湿度数据展示在平台上

    为了是这一节可以单独使用!故和前面有内容重复.

    注意:如果用户已经看了前面的  关于阿里云物联网平台物模型Topic  章节,不需要在平台上重复添加温湿度功能!

     

    给产品添加上温湿度功能

    1.点击产品,查看

    2.各个版本不一样,阿里云总是在更新.....

    选择功能定义  点击编辑草稿

    3.添加自定义功能

    4.添加一个温度

    用户请先按照我下面的填写,待熟悉以后再自己自定义

    标识符是 temp,咱通信的时候作为温度的字段

    5.再添加一个湿度

    用户请先按照我下面的填写,待熟悉以后再自己自定义

    标识符是 humi,咱通信的时候作为湿度的字段

    6.提交

    7.回到设备里面

    使用单片机设备测试

    1.打开这节的单片机程序

    2.根据自己的设备修改信息

    3.编译下载到开发板

    连接上服务器以后,每隔一段时间上报温湿度数据

    4.查看网页端

    程序说明

    1.整体概况

    ①:控制模块连接TCP服务器(MQTT服务器)

    ②:计算MQTT密码

    ③:MQTT消息处理封装包(缓存管理,支持消息等级0,1,2)

    ④:使用Mbedtls里面的sha1或者md5 计算密码文件

    2.初始化MQTT,注册相应的回调函数

    使用W5500的MAC地址作为ClientID ;  我编写的包是以注册回调函数的形式使用.

     

    3.组合MQTT服务器的IP地址, 使用DNS解析地址

    4.先使用TCP连接上TCP服务器(MQTT服务器就是TCP服务器嘛)

    5.连接上TCP以后,发送连接MQTT协议

    6.发送连接协议给服务器以后,如果服务器返回连接成功消息,便会调用MQTT连接成功回调函数

    在连接成功回调函数里面组合订阅的物模型主题,并执行api函数订阅;   组合发布的物模型主题

    7.连接上了以后就轮训mqtt_send_function函数

    咱们后面调用订阅,发布的函数的时候, 数据都会存储在缓存里面, 然后通过轮训 mqtt_send_function函数,把MQTT的数据发送出去

     

    这个函数里面也实时检测发送心跳包.

     

    8.接收消息

    连接MQTT成功以后收到的服务器发送的数据需要让 mqtt_read_function函数处理, 该函数内部会处理消息并调用相应的回调函

    9.轮训发送温湿度数据给服务器

  • 相关阅读:
    洛谷 P5564: [Celeste-B]Say Goodbye
    LOJ 3185: 「CEOI2018」斐波那契表示法
    Codeforces 749E: Inversions After Shuffle
    C#之在treeview中鼠标点击的所选的节点触发事件
    C#中选中指定文件并读取类似ini文件的内容
    免费的EmBitz可替代Keil MDK开发STM32、NXP项目
    C#创建子线程,子线程使用委托更新控件
    C#调用C++生成的动态链接库DLL
    C#之菜单控件、主窗体打开子窗体、GroupBox控件使用
    在Linux下用CANopenSocket协议模拟CAN总线通讯
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/15873532.html
Copyright © 2020-2023  润新知