阿里云上云教程
阿里云平台设置
创建产品
打开阿里云物联网平台,点击产品
点击创建产品,设置产品名称,点击“自定义品类”,点击确定
添加设备
点击添加设备,设置设备名称“stm32_display”,点击确认。
功能定义
重新点击产品,点击查看,点击功能定义
点击编辑草稿,点击添加自定义功能,编辑一个温度相关信息。
后面还可以继续添加湿度、灯控制等功能。
最后点击发布上线。
固件烧录
解压flash_download_tool_3.9.4.zip
打开flash_download_tool_3.9.4.exe
选择ESP8266, 工作模式选择Develop
选择固件为(1112)ESP8266-4M.bin,文件目录在flash_download_tool_3.9.4\dl_temp_temp_by_dltool\downloadPanel1\下,如果需要回到正常的AT固件可以选择:Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130.bin_rep这个固件。
选好固件之后在前面勾选,没有勾选的不管。然后设置地址为0x00000,接上ESP8266模块后点击START烧录固件。个别wifi模块可能需要在点击START之后对ESP8266重新上电复位。
烧录完成之后点击STOP结束并关闭软件。
烧录完成之后给模块重新上电,然后发送AT+RST指令,会显示如下信息
################################################
arch:ESP8266, 1
compile_time:Ai-Thinker|B&T
wifi_mac:8cAAB5510F13
sdk_version:v3.4-22-g967752e2
firmware_version:2.2.0
compile_time:Jul 31 2021 11:41:32
ready
################################################
连接到云平台
云平台参数查看
点击产品,点击管理设备
找到设备,点击查看
查看MQTT连接参数
复制连接参数信息
clientId
a1rm6rTxVCD.stm32_display|securemode=2,signmethod=hmacsha256,timestamp=1718025605913|
username
stm32_display&a1rm6rTxVCD
passwd
b87465410526a483e94b1116aecfbbf9870d5222f33389177dc6cbb11d3d6846
mqttHostUrl
a1rm6rTxVCD.iot-as-mqtt.cn-shanghai.aliyuncs.com
port
1883
复制ProductKey和DeviceName
ProductKey
a1rm6rTxVCD
DeviceName
stm32_display
wifi模块连接
输入AT指令
AT+RST
AT+CWMODE=1 //设置模块为STA模式
AT+CWJAP="WIFI名称","WIFI密码" //使模块连接上wifi
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com" //设置时区为:中国早上八点
AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,"" //设置MQTT的登陆用户名与密码
AT+MQTTCLIENTID=0,"clientId" //设置MQTT的ClientID(注意!!!要在逗号前加\符号)
AT+MQTTCONN=0,"mqttHostUrl",port,1 //设置MQTT接入地址
以上的"username",“passwd"需要套用之前在平台获取的"username”,“passwd”,所以AT指令为
AT+MQTTUSERCFG=0,1,"NULL","stm32_display&a1rm6rTxVCD","b87465410526a483e94b1116aecfbbf9870d5222f33389177dc6cbb11d3d6846",0,0,""
AT+MQTTCLIENTID=0,"a1rm6rTxVCD.stm32_display|securemode=2\,signmethod=hmacsha256\,timestamp=1718025605913|"
AT+MQTTCONN=0,"a1rm6rTxVCD.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
发送完以上指令后在平台查看设备会显示在线
订阅平台消息
查看设备,点击Topic列表,这里是显示当前设备尚未订阅任何Topic。
输入AT指令
AT+MQTTSUB=0,"/ProductKey/DeviceName/user/get",1
这里替换上面的ProductKey和DeviceName,AT指令为
AT+MQTTSUB=0,"/a1rm6rTxVCD/stm32_display/user/get",1
再次刷新平台的Topic列表,会显示刚刚订阅的信息
点击发布消息,可以在wifi串口上看见订阅下来的消息
wifi串口助手上显示:
设备上报数据
例如上报一个温度数据,
发送AT指令
AT+MQTTPUB=0,"/sys/ProductKey/DeviceName/thing/event/property/post","{params:{\"标识符\":你想要设置的数值}}",0,0
这里替换上面的ProductKey和DeviceName,标识符为功能定义时的标识符,数值为具体的温度值
这里AT指令为
AT+MQTTPUB=0,"/sys/a1rm6rTxVCD/stm32_display/thing/event/property/post","{params:{\"temp\":26}}",0,0
发送完AT指令之后会在平台设备的物模型数据中看到上报的温度数据
点击查看日志可以查看详细上报的数据
去掉内容关键字条件
点击查看
可以看到上报的详细信息
在线调试
点击监控运维,点击在线调试,选择产品、设备
这里可以设置设置或者获取温度值、湿度值或者LED灯状态,比如设置温度为22度,湿度23,LED灯状态为开,并且点击设置
wifi模块的串口助手就会接收到云平台发送的相关信息:
我们可以通过STM32的串口中断接收这些数据之后进行解析,并且进行相应动作。