本文将介绍stm32如何通过WiFi来连接阿里云,上传数据和接收指令。要先与阿里云建立TCP连接,然后再通过MQTT协议交互。
大体流程:1、在阿里云网页上创建产品和设备;2、stm32通过WiFi连接云平台;3、MQTT连接阿里云;4、MQTT上传数据及接收指令并处理。
本文将以简单示例进行演示:上报温度、湿度、LED状态,接收LED指令并控制开关;
硬件:stm32f103c8t6、ESP8266 WiFi模块、DHT11温湿度模块、LED等;
一、创建产品和设备
1.1注册并登陆阿里云
若未注册阿里云账号,则需要先注册并登陆。
阿里云官网:阿里云-计算,为了无法计算的价值
1.2创建产品
登陆后,在阿里云首页,进入<控制台>(右上角)。
在控制台页面的左上角,依次选择<产品与服务>、<物联网>、<物联网平台>:
尚未开通需要先开通:
点击开通:
很遗憾,阿里云物联网平台已不能新购了,所以新用户也无法开通使用了。
只用能已开通的老账号来演示了。
创建产品如下:
添加功能定义:
到此,产品已创建完成。
注:需记下标识符和数据类型,后续上传或接收数据时用到。
1.3创建设备
创建产品后,还需添加设备,点出添加产品:
弹框输入信息:
添加成功:
在设备列表中会显示刚创建的设备:
二、全程快速适配
在提供的例程中,通过修改WiFi配置、阿里云产品设备信息可快速连接并使用。
2.1查看阿里云参数
在设备中,点击刚创建的设备,进入设备详细信息,可查看到:
需要的就是ProductKey、DeviceName、DeviceSecret这几个参数。
2.2配置参数修改
打开stm32工程,在config.h中分别配置wifi账号和密码,阿里云参数等,如下红框选中部分:
其中,AP热点即WiFi账号密码,第2项阿里云的产品和设备参数,设备属性是创建产品时添加的属性。
2.3连接云平台和交互
2.3.1连接云平台
烧录程序运行后,LOG如下:
在阿里云网页上也可见设备已上线:
2.4上传数据
点进设备详情的<物模型数据>,可见上传的数据:
2.5 下属指令
点击<在线调试> ,设置LED状态,点击设置:
LOG可见,led设置的状态为1,即点亮:
在开发板上也可见LED被打开:
到此,上传和下发都调通了。
例程在如下链接:
获取资料/指导答疑/技术交流/选题/帮助,请点链接:
https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt