201-STM32G070+Air724UG(4G)基本控制篇(阿里云物联网平台)-设备使用一机一密方式连接云平台,并使用物模型Topic上报温湿度数据
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ZLIOTD/Air724UG/aliyun.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
这一节咱们使用平台提供的物模型Topic把温湿度数据展示在平台上
为了是这一节可以单独使用!故和前面有内容重复.
注意:如果用户已经看了前面的 关于阿里云物联网平台物模型Topic 章节,不需要在平台上重复添加温湿度功能!
给产品添加上温湿度功能
1.点击产品,查看
2.各个版本不一样,阿里云总是在更新.....
选择功能定义 点击编辑草稿
3.添加自定义功能
4.添加一个温度
用户请先按照我下面的填写,待熟悉以后再自己自定义
标识符是 temp,咱通信的时候作为温度的字段
5.再添加一个湿度
用户请先按照我下面的填写,待熟悉以后再自己自定义
标识符是 humi,咱通信的时候作为湿度的字段
6.提交
7.回到设备里面
使用单片机设备测试
1.安装好模组
GPRS模块和底板安装说明
安装到第三排排母!模块的第一个VCC引脚和底板的5V引脚相连接
WiFi模组和GSM模组都是串口2通信, 为避免通信冲突, 去掉下面的WiFi模组
2.打开这节的单片机程序
3.根据自己的设备修改信息,然后下载程序
4.使用usb口打印串口日志
5.查看日志
连接上服务器以后,每隔一段时间上报温湿度数据
6.查看网页端
程序说明
1.整体概况
①:控制模块连接TCP服务器(MQTT服务器)
②:计算MQTT密码
③:MQTT消息处理封装包(缓存管理,支持消息等级0,1,2)
④:使用Mbedtls里面的sha1或者md5 计算密码文件
2.初始化MQTT,注册相应的回调函数
我编写的包是以注册回调函数的形式使用.
4.先使用TCP连接上TCP服务器(MQTT服务器就是TCP服务器嘛)
配置模组是TCP透传模式,后面模组接收的数据直接通过串口输出, 往模组串口发送数据,数据直接发到TCP
5.连接上TCP以后,发送连接MQTT协议(关于组合计算密码在最后面会有详细说明)
6.发送连接协议给服务器以后,如果服务器返回连接成功消息,便会调用MQTT连接成功回调函数
在连接成功回调函数里面组合订阅的物模型主题,并执行api函数订阅; 组合发布的物模型主题
7.连接上了以后就轮训mqtt_send_function函数
咱们后面调用订阅,发布的函数的时候, 数据都会存储在缓存里面, 然后通过轮训 mqtt_send_function函数,把MQTT的数据发送出去
这个函数里面也实时检测发送心跳包.
8.接收消息
连接MQTT成功以后收到的服务器发送的数据需要让 mqtt_read_function函数处理, 该函数内部会处理消息并调用相应的回调函
9.轮训发送温湿度数据给服务器