整個教程的目錄:一.Onenet平臺配置及M5311配置(本章)
二.STM32連接HLW8032采集電參數三.整體測試M5311核心板官網資料下載:http://dwz.date/aT8c
HLW8032計量模塊資料下載:
鏈接:https://pan.baidu.com/s/1gN1PVEEKmINgDYsWVlPCTQ 提取碼:i59p
關于HLW8032模塊的操作可以參看這篇文章:
https://blog.csdn.net/qishi3250/article/details/103546632
實現的功能:1.測量用電設備的有功功率、電流和電壓有效值和用電量;
2.電參數通過nb-iot上傳到Onenet,可以在后臺實時監控數據;
3.可以通過Onenet后臺發送指令控制電參數是否上傳(可以拓展繼電器控制)。
需要的材料:
1.一個STM32芯片,我這里用的是正點原子的mini開發板,型號:STM32F103RCT6
http://dwz.date/aTyF 剛剛看了一下,竟然降價了。131元,大學我買的時候168塊,虧了一個億。。。。
2.ST-Link下載器,主要用來給STM32單片機下載程序的,有其他的仿真下載器也是可以的。當然,用串口也是可以下載的,就是比較麻煩,我比較喜歡用仿真器下載,一鍵完事!
http://dwz.date/aTzr
3.USB-TTL串口模塊,這個是用來調試M5311模塊的,可以不需要,因為mini開發板板載USB轉TTL模塊,你可以拔掉原有的短路帽來用。不過玩單片機的話,最好是有一個這個模塊,超級方便!
http://dwz.date/aTza
4.中移的M5311核心板,建議用哪個膠棒天線的,比較方便!
http://dwz.date/aTzf
5.HLW8032計量模塊,用于采集電參數的,不需要進行校準,精度2%。也可以自己再進行校準一次,精度可達0.5%,需要專門設備進行校準,我自己用2%的精度足夠了
http://dwz.date/aTzp
6.杜邦線12根
 
一、獲取M5311模塊的IMEI和IMSI1.把USB轉TTL串口模塊和M5311模塊用杜邦線連接起來
 
2.把USB-TTL串口模塊插到電腦上,電腦打開串口調試助手
 
如果在串口選擇那里沒有發現CH340設備,打開電腦設備管理器
 
CH340驅動下載地址:http://pan.baidu.com/s/1gfreXbH
3.輸入AT指令獲取模塊的IMEI和IMSI
先發送:AT+SM=LOCK
這個是關閉模塊的睡眠模式!!!
然后再發送AT+CGSN=1指令獲取IMEI
 
同理,發送AT指令獲取IMSI:
 
拿到這兩個參數之后,接下來就是配置Onenet后臺了,也是非常簡單幾步就可以了!
二、配置Onenet后臺
1.打開Onenet官網:https://open.iot.10086.cn/
2.如果沒有賬號的,注冊賬號后登陸,然后進入開發者中心:
 
3.進入開發者中心后,點擊進入NB-IoT物聯網套件:
 
4.點擊添加產品
 
5.點擊添加產品后會在左邊彈出頁面,填寫好信息后,點擊保存:
 
6.新建產品后,點擊產品的名字進入下圖頁面后,點擊左側的設備列表
 
7.進入設備管理后,點擊添加設備:
 
8.填寫剛剛串口調試助手獲取到的IMEI和IMSI,再點擊保存即可:
 
這個時候我們就可以看到剛剛新建的設備了,顯示為離線及訂閱失敗!接下來通過串口調試助手讓設備上線!!!
 
三、發送AT指令讓M5311模塊上線1.返回串口調試助手軟件那里,在輸入框輸入AT指令,然后發送,看看M5311模塊是否返回OK。如果沒有就按一下RST復位按鍵即可。
然后再輸入框輸入AT+CEREG?,用于查詢M5311模塊的網絡狀態:
 
2.在輸入框輸入:AT+MIPLCREATE,并發送
這個指令是用于創建一個OneNET設備實例的,M5311會反饋創建設備實例的ID,這個過程比較久,大概3S左右,和你的M5311網絡有關。
 
3.創建實例成功后,發送:AT+MIPLADDOBJ=0,3200,1,"1",1,1
這句指令用于添加一個object及其所屬的instance,
第一個0是上面反饋的設備實例ID;
第二個3200是object ID;
第三個1是指實例個數;
第四個“1”是實例位圖,字符串格式,每一個字符代表一個實例,1表示可用,0表示不可用,說白了就是填“1”就可以啦;
第五個1是屬性個數;
第六個1是指操作個數。
 
4.添加Object成功后,發送:AT+MIPLDISCOVERRSP=0,3200,1,4,"5750"
這個指令用于設置指定object的所屬資源列表
第一個0是設備實例ID;
第二個3200是object的ID;
第三個1是保留;
第四個4是指后面字符串的長度;
第五個“5750”是ibject的屬性;
 
5.上面操作完成后,就可以向Onenet平臺發起注冊請求了
發送:AT+MIPLOPEN=0,3600
這個指令用于向平臺發起注冊的請求的!
第一個0是設備實例ID;
第二個是本次注冊的生命周期,單位為秒,說白了就是在這個時間內,就算我不上傳消息,平臺也會顯示我在線。這里測試使用3600秒,就是一個小時,建議使用的時候改成60秒!不然你這邊M5311掉線了,但是平臺還是顯示在線的。
 
這個時候進入Onenet的后臺就可以看到設備顯示在線了!
 
四、上傳測試數據到Onenet平臺1.發送AT+MIPLNOTIFY=0,0,3200,0,5750,1,4,"test",0,0
 
這條這里的含義:
 
然后我們就可以在后臺看到上傳的字符串“test”了
 
 
 
測試階段到這里就結束了,點擊操作里面的寫,可以從Onenet平臺發送數據到模塊,M5311會通過串口打印數據的,平臺會顯示發送失敗,因平臺需要收到模塊的反饋指令才會認為數據發送成功的。
下一遍就是操作STM32開發板采集電參數!!!
資料下載:
HLW8032參考設計資料.7z
(8.6 MB, 下載次數: 36)
2021-3-26 04:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|