?今天我們來學(xué)習(xí)使用合宙Air708E開發(fā)板的MQTT通信基本功能。
一、MQTT介紹
MQTT是一種低開銷、低帶寬占用的即時通訊協(xié)議,可以用極少的代碼和帶寬為遠(yuǎn)程設(shè)備提供實時可靠的消息服務(wù)。它適用于硬件性能低下的設(shè)備以及網(wǎng)絡(luò)狀況不佳的環(huán)境,因此在物聯(lián)網(wǎng)(IoT)小型設(shè)備和移動應(yīng)用等方面有廣泛應(yīng)用。
MQTT采用發(fā)布/訂閱通信模型,客戶端可以發(fā)布消息到主題(Topic),也可以訂閱主題來接收消息。這種模式解耦了消息的發(fā)送者和接收者。
MQTT的消息傳遞質(zhì)量分為三種:最多一次(QoS0)不保證交付,至少一次(QoS1)確保至少到達(dá)但可能重復(fù),只有一次(QoS2)確保僅到達(dá)一次。
二、演示功能概述
本demo通過使用AIR708E開發(fā)板,帶你快速體驗通過MQTT協(xié)議進(jìn)行數(shù)據(jù)接收與發(fā)送。
三、準(zhǔn)備硬件環(huán)境
3.1 AIR780E開發(fā)板
3.2 TYPE-C線快充線
四、準(zhǔn)備軟件環(huán)境
注:以下軟件下載鏈接,請復(fù)制后,粘貼到瀏覽器URL地址欄進(jìn)行下載;
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固件,是基礎(chǔ)環(huán)境,該固件由合宙官方提供,用戶不可修改;源碼腳本,為應(yīng)用程序,可由客戶自行修改;
五、軟硬件資料
●AIR708E開發(fā)板原理圖,打開Air780E產(chǎn)品手冊,訪問頁面中的《EVB_Air780X_V1.6.zip》
●API使用介紹說明
●AIR708E開發(fā)板使用說明,打開Air780E產(chǎn)品手冊,訪問頁面中的《Core_Air780E使用說明V1.0.5.pdf》
5.1 開發(fā)板按鈕與指示燈圖示與說明
?
?
5.2 硬件安裝與連接
5.2.1 SIM卡安裝
?
5.2.2 實物連接圖
?
注:開發(fā)板與電腦通過TYPE-C線連接,用于通信與供電,所以必須使用“支持快充”的TYPE-C線才可以;
六、代碼示例介紹
6.1 DEMO軟件流程圖
?
6.2 配置
6.2.1 MQTT的4個重要配置
- localmqtt_host="lbsmqtt.airm2m.com"(MQTT服務(wù)器地址,這里使用合宙提供公用測試服務(wù)器)
- localmqtt_port=1884(MQTT端口)
- localuser_name="user"(MQTT服務(wù)器登錄用戶名)
- localpassword="password"(MQTT服務(wù)器登錄密碼)
6.2.2 MQTT的2個重要主題
- localpub_topic="/luatos/pub/123"--..(mcu.unique_id():toHex())(設(shè)備發(fā)布主題,以下方源碼55行,可自行修改)
- localsub_topic="/luatos/sub/123"--..(mcu.unique_id():toHex())(設(shè)備訂閱主題,以下方源碼56行,可自行修改)
6.3 完整程序清單
注:完整復(fù)制后保存為main.lua,可直接使用
?
七、功能驗證
7.1 開機
按圖1所示通過TYPE-C線將開發(fā)板與電腦連接無誤后,開發(fā)板電源指示紅燈常亮,網(wǎng)絡(luò)指示燈滅,如下圖:
?
此時按下開機鍵,約2秒后釋放,等待幾秒網(wǎng)絡(luò)指示綠燈常亮,即開機成功,如下圖:
?
此時電腦設(shè)備管理器中會發(fā)現(xiàn)下圖所示幾個設(shè)備,即代表開機成功!
?
7.2 打開Luatool軟件工具并進(jìn)入項目管理測試頁面
?
圖4
7.3 按序號步驟創(chuàng)建項目
?
?
7.4 按如下步驟進(jìn)行程序燒錄
?
?
7.5 觀察下載過程后確認(rèn)燒錄結(jié)果
?
?
7.6 查看調(diào)試日志,獲取設(shè)備發(fā)布與訂閱主題
?
7.7 打開MQTT客戶端MQTT.fx應(yīng)用程序并配置
7.7.1 MQTT客戶端基本配置
ProfileName:合宙(可修改為你想要的名稱)
BrokerAddress:http://lbsmqtt.airm2m.com(合宙提供的免費測試服務(wù)器,也可修改為自己的服務(wù)器)
BrokerPort:1883(端口號)
UserName:user
Password:password
7.7.2 兩個重要主題
設(shè)備發(fā)布主題:861959068926349/up(設(shè)備向服務(wù)器發(fā)送數(shù)據(jù)使用)
設(shè)備訂閱主題:861959068926349/down(接收服務(wù)器數(shù)據(jù)主題)
?
7.8 訂閱設(shè)備主題
?
7.9 MQTT客戶端給開發(fā)板發(fā)送數(shù)據(jù)
?
7.10 查MQTT客戶端訂閱的設(shè)備數(shù)據(jù)
?
八、總結(jié)
至此,我們已使用AIR708E開發(fā)板完成了MQTT通信的基本功能。
?審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44009瀏覽量
369934 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8940瀏覽量
85058 -
低功耗
+關(guān)注
關(guān)注
10文章
2349瀏覽量
103531 -
MQTT
+關(guān)注
關(guān)注
5文章
646瀏覽量
22391
發(fā)布評論請先 登錄
相關(guān)推薦
評論