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

本文详细介绍了如何在已有的阿里云物联网平台项目中添加温湿度功能,包括在产品页面配置自定义功能、使用单片机设备进行串口通信与数据上报,以及利用MQTT和SSL加密与服务器交互的过程。
摘要由CSDN通过智能技术生成

说明

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

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

这一节是在  002-STM32+EC800K使用MQTT+SSL加密方式接入阿里云物联网平台(不验证服务器证书)

章节的基础上增加了订阅主题和发布温湿度消息(使用物模型主题);

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

给产品添加上温湿度功能

1.点击产品,查看

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

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

3.添加自定义功能

4.添加一个温度

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

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

5.再添加一个湿度

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

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

6.提交

7.回到设备里面

使用单片机设备测试

1.安装好模组

单片机通过串口2和GPRS模块通信;  单片机PA8引脚作为复位模组使用;PB15连接模组的开机引脚

(单片机)PA2    ----   (EC800K)RX;

(单片机)PA3    ----   (EC800K)TX;

(单片机)PA8    ----   (EC800K)RST

(单片机)PB15  ----   (EC800K)PWR

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

3.使用单片机串口1打印串口日志(115200)

 

4.修改为阿里云的设备参数.

5.查看日志

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

6.查看网页端

程序说明

1,串口2接收模组数据的时候,单独使用一个缓存,缓存了TCP接收的数据

 

2.整体概况

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

②:计算MQTT密码

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

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

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

我编写的包是以注册回调函数的形式使用.

 

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

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

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

 

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

 

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

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

只要是判断连接上了MQTT服务器了, 用户可以在任意地方调用订阅,发布的函数

关于 

mqtt->timer_out_cnt   等待模块返回 >

mqtt->timer_out_send 等待发送完成

当前我设置的为3000ms

串口里面有相应的处理

8.接收消息

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

 

 

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

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值