RTOS
RT-Thread
使用STM32CubeMX
添加RT-Thread
:
https://www.rt-thread.org/document/site/tutorial/nano/nano-port-cube/an0041-nano-port-cube/
MCU
使用ST官方的G0板卡
STM32G070RBx
物聯網平臺
阿里雲IoT
使用MQTT.fx接入物聯網平臺:https://help.aliyun.com/document_detail/140507.html?spm=a2c4g.11186623.6.565.798c243eZYQQkE
通信模組
2G GPRS模塊
配置服務器地址和端口:
AT+IPPORT="a1TAQrjlyNl.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
配置用戶和用戶密碼:
AT+USERPWD="STM32G0_Node&a1TAQrjlyNl","9F42B96E4E8BACB4C1AC18780C103B7E46433F82"
配置ClientID:
AT+CLIENTID="12345|securemode=3,signmethod=hmacsha1,timestamp=10|"
IDE
Keil5-MDK
數據
使用jansson庫進行json數據解析
jansson庫github:https://github.com/akheron/jansson
keil-MDK添加jansson pack以及用法:https://blog.csdn.net/yannanxiu/article/details/52712723
json數據格式化在線工具:https://www.json.cn/
上報json數據:
{
"version": "V1.0",
"id": 12345,
"params": {
"CurrentTemperature" : 28.3 //CurrentTemperature——阿里雲IoT中定義的物模型數據
},
"method": "thing.event.property.post"
}
問題記錄
-
DS18B20溫度採集
剛開始用RT-Thread Studio來玩,玩了之後發現RT-Thread Studio真不好用。已經在RT-Thread做好的DS18B20的溫度採集程序,將DS18B20程序移植使用STM32CubeMX生成的MDK工程中就採集不了。時序中延時函數使用的是RT-Thread提供的微妙延時函數。
後面發現是時鐘設置不對導致的。