如何使用4G模塊通過MQTT協議傳輸溫濕度數據到onenet
本次實驗是采用SIM7600CE 4G cat4 模塊進行操作的,本模塊支持GNSS定位功能。也可以采用別的4G模塊,只要支持TCP傳輸就行。本模塊支持的AT命令相當強大,擁有TCP&UDP命令集,HTTP命令集,MQTT命令集。
本模塊雖然已經支持了MQTT功能,但是我們在實際研發項目中,為了保持項目的可移植性和兼容性,通常不會使用模塊自帶的MQTT命令集,而是用代碼實現MQTT上層功能,底層再調用模塊的TCP AT命令集。
一、MQTT簡介
MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議。它是IBM 1999年發布的一個用于物聯網的協議.MQTT協議是輕量、簡單、開放和易于實現的,這些特點使它適用范圍非常廣泛。
在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)。其在,通過衛星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。
MQTT設計思想是開放、簡單、輕量、易于實現。這些特點使它適用于受限環境。
例如,但不僅限于此:網絡代價昂貴,帶寬低、不可靠。在嵌入設備中運行,處理器和內存資源有限。
該協議的特點有:
- 使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合;
- 對負載內容屏蔽的消息傳輸;
- 使用 TCP/IP 提供網絡連接;
- 有三種消息發布服務質量:
- 小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量;
- 使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制。
二、ONENET平臺
OneNET是由中國移動打造的物聯網開放平臺。平臺能夠幫助開發者輕松實現設備接入與設備連接,快速完成產品開發部署,為智能硬件、智能家居產品提供完善的物聯網解決方案。
OneNET具備如下功能:
- 專網專號:中國移動基于物聯網特點打造的專業化網絡通道,提供“云-管-端”一體化的智能管道和支撐系統,支持工業級、車規級的專網卡和通信模組;
- 海量連接:基于多類型標準協議和API開發滿足海量設備的高并發快速接入;
- 在線監控:實現終端設備的監控管理、在線調試、實時控制功能;
- 數據存儲:基于分布式云存儲、消息對象結構、豐富的數據調用接口實現數據高并發讀、寫庫操作,有效保障數據的安全;
- 消息分發:將采集的各類數據通過消息轉發、短彩信推送、APP信息推送方式快速告知業務平臺、用戶手機、APP客戶端,建立雙向通信的有效通道;
- 能力輸出:匯聚中國移動短彩信、位置服務、視頻服務、公有云等核心能力,提供標準API接口,縮短終端與應用的開發周期;
- 事件告警:打造事件觸發引擎,用戶可以基于引擎快速實現應用邏輯編排;
- 數據分析:基于Hadoop等提供統一的數據管理與分析能力。
三、如何接入OneNet
用戶要接入 OneNet,
- 首先要在 OneNet 平臺上進行注冊用戶、創建設備等一系列準備工作,
- 然后要通過網絡和 OneNet 服務器建立TCP 連接,
- 最后將用戶數據按照一定的協議(比如:EDP、RestFul API,MQTT)打包上傳至 OneNet 平臺,從而實現設備終端接入。用戶注冊:
- 在接入 OneNet 之前,需在平臺網站注冊用戶賬戶,登陸網址:http://open.iot.10086.cn/,顯示如下界面:
如上圖:點擊右上角進行注冊.
注冊完成后,進行登錄,如下:
如上圖所示,點擊MQTT物聯網套件:
如上圖所示,選擇多協議接入:
如上圖,點擊添加產品,onenet平臺MQTT協議框架下分為產品ID和設備ID,可以建立多個不同的產品,每個產品擁有不同的設備,設備以ID號進行區分。
如上圖所示進行選擇,接下來還有操作系統選擇linux,網絡運營商選擇移動,因為模塊使用的移動的usim卡,可以根據自己模塊卡類型進行選擇。
如上圖所示,再點擊添加設備:
點擊右上角添加設備,
點擊添加,
如上圖所示,產品添加成功后的截圖,顯示為離線狀態,當4G模塊有數據上傳的時候,就會顯示為在線。
四、單片機&4G模塊與ONENET服務器通信
下面講解一下如何用單片機通過串口AT命令驅動4G模塊與ONENET服務器進行連接,單片機采用STM32F103RBT6,開發環境采用MDK5.
如上圖所示,606923821表示設備ID,PZqqtD0O=5lNOex4NshJn0RLflY= 表示API KEY
如上圖,點擊查看,輸入手機號發送驗證碼即可獲得,357092表示產品ID,上圖的產品ID是424250,可根據自己的情況進行填寫。
CAT11表示鑒權信息,鑒權信息可以在設備列表-設備詳情進行獲取。183.230.40.3, 6002 表示onenet平臺的服務器和端口號,有了這些信息就可以用4G模塊和自己創建的產品進行通信了。
如下圖所示:既可觀察設備的上下線情況,以及設備的數據
五、資料獲取及硬件
1.后臺回復 mqtt 即可獲得對應的源代碼功能。
2.文中單片機 STM32F103RBT6 可以自行到某寶搜索, 推薦如下:
3.用的SIM卡可以用手機卡也可以用物聯網卡,
4.4g模塊通用的模塊即可。