低功耗4G模組:MQTT通訊功能

电子老师傅發表於2024-11-01

今天我們來學習使用合宙Air708E開發板的MQTT通訊基本功能。

一、MQTT介紹

MQTT是一種低開銷、低頻寬佔用的即時通訊協議,可以用極少的程式碼和頻寬為遠端裝置提供實時可靠的訊息服務。它適用於硬體效能低下的裝置以及網路狀況不佳的環境,因此在物聯網(IoT)小型裝置和移動應用等方面有廣泛應用。

MQTT採用釋出/訂閱通訊模型,客戶端可以釋出訊息到主題(Topic),也可以訂閱主題來接收訊息。這種模式解耦了訊息的傳送者和接收者。

MQTT的訊息傳遞質量分為三種:最多一次(QoS0)不保證交付,至少一次(QoS1)確保至少到達但可能重複,只有一次(QoS2)確保僅到達一次。

二、演示功能概述

本demo透過使用AIR708E開發板,帶你快速體驗透過MQTT協議進行資料接收與傳送。

三、準備硬體環境

3.1 AIR780E開發板

3.2 TYPE-C線快充線

圖片

低功耗4G模組:MQTT通訊功能

四、準備軟體環境

注:以下軟體下載連結,請複製後,貼上到瀏覽器URL位址列進行下載;

4.1 MQTT.fx

MQTT客戶端軟體下載:

https://docs.openluat.com/air780e/luatos/app/socket/mqtt/

4.2 Luatools

Luatools日誌列印與程式燒錄軟體下載:

https://doc.openluat.com/wiki/52?wiki_page_id=5071

4.3 core韌體和原始碼指令碼

注:core韌體,是基礎環境,該韌體由合宙官方提供,使用者不可修改;原始碼指令碼,為應用程式,可由客戶自行修改;

五、軟硬體資料

●AIR708E開發板原理圖,開啟Air780E產品手冊,訪問頁面中的《EVB_Air780X_V1.6.zip》

●API使用介紹說明

●AIR708E開發板使用說明,開啟Air780E產品手冊,訪問頁面中的《Core_Air780E使用說明V1.0.5.pdf》

5.1 開發板按鈕與指示燈圖示與說明

圖片

低功耗4G模組:MQTT通訊功能

圖片

低功耗4G模組:MQTT通訊功能

5.2 硬體安裝與連線

5.2.1 SIM卡安裝

圖片

低功耗4G模組:MQTT通訊功能

5.2.2 實物連線圖

圖片

低功耗4G模組:MQTT通訊功能

注:開發板與電腦透過TYPE-C線連線,用於通訊與供電,所以必須使用“支援快充”的TYPE-C線才可以;

六、程式碼示例介紹

6.1 DEMO軟體流程圖

圖片

低功耗4G模組:MQTT通訊功能

6.2 配置

6.2.1 MQTT的4個重要配置

  • localmqtt_host="lbsmqtt.airm2m.com"(MQTT伺服器地址,這裡使用合宙提供公用測試伺服器)

  • localmqtt_port=1884(MQTT埠)

  • localuser_name="user"(MQTT伺服器登入使用者名稱)

  • localpassword="password"(MQTT伺服器登入密碼)

6.2.2 MQTT的2個重要主題

  • localpub_topic="/luatos/pub/123"--..(mcu.unique_id():toHex())(裝置釋出主題,以下方原始碼55行,可自行修改)

  • localsub_topic="/luatos/sub/123"--..(mcu.unique_id():toHex())(裝置訂閱主題,以下方原始碼56行,可自行修改)

6.3 完整程式清單

注:完整複製後儲存為main.lua,可直接使用

圖片

低功耗4G模組:MQTT通訊功能

七、功能驗證

7.1 開機

按圖1所示透過TYPE-C線將開發板與電腦連線無誤後,開發板電源指示紅燈常亮,網路指示燈滅,如下圖:

圖片

低功耗4G模組:MQTT通訊功能

此時按下開機鍵,約2秒後釋放,等待幾秒網路指示綠燈常亮,即開機成功,如下圖:

圖片

低功耗4G模組:MQTT通訊功能

此時電腦裝置管理器中會發現下圖所示幾個裝置,即代表開機成功!

圖片

低功耗4G模組:MQTT通訊功能

7.2 開啟Luatool軟體工具並進入專案管理測試頁面

圖片

低功耗4G模組:MQTT通訊功能

圖4

7.3 按序號步驟建立專案

圖片

低功耗4G模組:MQTT通訊功能

圖片

低功耗4G模組:MQTT通訊功能

7.4 按如下步驟進行程式燒錄

圖片

低功耗4G模組:MQTT通訊功能

圖片

低功耗4G模組:MQTT通訊功能

7.5 觀察下載過程後確認燒錄結果

圖片

低功耗4G模組:MQTT通訊功能

圖片

低功耗4G模組:MQTT通訊功能

7.6 檢視除錯日誌,獲取裝置釋出與訂閱主題

圖片

低功耗4G模組:MQTT通訊功能

7.7 開啟MQTT客戶端MQTT.fx應用程式並配置

7.7.1 MQTT客戶端基本配置

ProfileName:合宙(可修改為你想要的名稱)

BrokerAddress:http://lbsmqtt.airm2m.com(合宙提供的免費測試伺服器,也可修改為自己的伺服器)

BrokerPort:1883(埠號)

UserName:user

Password:password

7.7.2 兩個重要主題

裝置釋出主題:861959068926349/up(裝置向伺服器傳送資料使用)

裝置訂閱主題:861959068926349/down(接收伺服器資料主題)

圖片

低功耗4G模組:MQTT通訊功能

7.8 訂閱裝置主題

圖片

低功耗4G模組:MQTT通訊功能

7.9 MQTT客戶端給開發板傳送資料

圖片

低功耗4G模組:MQTT通訊功能

7.10 查MQTT客戶端訂閱的裝置資料

圖片

低功耗4G模組:MQTT通訊功能

八、總結

至此,我們已使用AIR708E開發板完成了MQTT通訊的基本功能。

相關文章