DIY——IoT溫度監控系統筆記

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提供的微妙延時函數。
    在這裏插入圖片描述
    在這裏插入圖片描述

後面發現是時鐘設置不對導致的

  • 使用json_pack生成json格式數據失敗

    解析和生成json的時候要保證有足夠的堆空間,STM32G0的HAL庫的啓動文件默認分配堆只有512bytes,堆太小導致生成不了json。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章