阿里雲lot Studio控制 Web開發(程序已精簡)
分享一下自己使用stm32f103c8t6通過ESP_01模塊連接阿里雲物聯網平臺,實現溫溼度上傳和控制命令下達的過程,能力有限,用的是最簡單的方法,如有錯誤,多多擔待。
一、成果展示 (三路數據上傳和兩路開關控制)
二、硬件選型
1、 stm32f103c8t6
2、ESP_01 wifi模塊
3、其他
三、硬件連接
WSP_01 | STM32F103C8T6 |
---|---|
RXD | PA2 |
TXD | PA3 |
RES | PA4 |
VCC | 3.3 |
GDN | GND |
連接圖如下:
四、連接步驟
1、登錄物聯網平臺,選擇:設備管理 --》產品 --》創建產品
2、創建新產品
產品名稱:隨便寫
所屬品類:智能生活/家居安防/溫溼度採集單元
其他的默認即可
3、設置產品的功能
功能定義 —》編輯草稿
點擊:添加自定義功能—》屬性
功能名稱(1):當前溫度
標識符:隨便寫 注:這個地方的標識符可以隨便寫,但是程序中,必須和這個標識符對應
數據類型:int 32 注:這個數據類型決定了顯示數據的精度,爲了提高精度,可以設置成float型
取值範圍:0-100
步長:1
單位:攝氏度
用類似的方法,定義另外一個功能—當前溼度
再定義一個指令下達的功能(這裏以控制開關燈爲例)
4、在新建立的產品下面,添加設備
設備名:隨便寫
注意:一定要在對應的產品下面
5、複製設備證書(重要)——需要修改的2處之一
此時,產品和設備就已經建立完成。設備的狀態是”未激活“。
6、激活設備
修改程序,將程序燒錄c8t6即可激活
程序改動1:mqtt.h (就是將剛剛複製的設備證書添加到對應的位置)
#define PRODUCTKEY "a1kpb6iULSE" //產品ID
#define PRODUCTKEY_LEN strlen(PRODUCTKEY) //產品ID長度
#define DEVICENAME "A001" //設備名
#define DEVICENAME_LEN strlen(DEVICENAME) //設備名長度
#define DEVICESECRE "9gyc2OcDRamSN17bOdJrdWpmSgv8KqsN" //設備祕鑰
#define DEVICESECRE_LEN strlen(DEVICESECRE)
#define S_TOPIC_NAME "/sys/a1kpb6iULSE/A001/thing/service/property/set" //需要訂閱的主題
#define P_TOPIC_NAME "/sys/a1kpb6iULSE/A001/thing/event/property/post"
程序改動2:wifi.h (改成自己的wifi名和密碼 )
#define SSID "337" //路由器SSID名稱
#define PASS "1234567890" //路由器密碼
程序燒寫好以後,c8t6通過AT指令,控制ESP_01 wifi模塊連接到服務器
此時,設備顯示在線
7、創建web界面
8、新建空白項目
項目名稱:隨便寫
9、關聯產品和設備
此時,我們建立的Wed應用就和剛剛建立好的產品和設備之間相關聯了。
10、設計可視化界面 (用來顯示數據和下達指令)
11、界面設計
用同樣的方法,設計其他兩個界面即可
五、 結語
代碼粗糙,就不公開了。評論區留下郵箱,我會及時回覆