国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于OpenHarmony的本地MQTT服務實現

福州市凌睿智捷電子有限公司 ? 2022-05-30 12:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、MQTT協議簡介

MQTT(消息隊列遙測傳輸)是一個基于客戶端-服務器的消息發布/訂閱傳輸協議,是ISO標準(ISO/IEC PRF 20922)下基于發布/訂閱范式的消息協議。MQTT工作在TCP/IP協議棧上,是為硬件性能低下的遠程設備以及網絡狀況不理想的情況下而設計的發布/訂閱型消息協議。由于MQTT協議的輕量、簡便、開放的特點使它適用范圍非常廣泛。在很多情況下,包括受限的環境中使用,廣泛應用于物聯網IoT)。MQTT協議在衛星鏈路通信傳感器、醫療設備、智能家居、及一些小型化設備中已廣泛使用。

本文使用小凌派RK2206開發板實現基于OpenHarmony的本地MQTT服務。小凌派RK2206開發板采用瑞芯微高性能、高性價比的RK2206芯片。RK2206芯片是一款低功耗、高集成的MCU無線局域網處理器,它可以應用于不同的應用領域,如物聯網、可穿戴設備、家庭自動化、云連接等。小凌派RK2206開發板內置WIFI模塊,外部接口豐富,使用一個小凌派RK2206開發板就能夠輕松實現MQTT物聯網多種應用。

二、硬件電路設計

如圖1所示,為小凌派RK2206開發板支持的外部接口,本文使用小凌派RK2206開發板內置的WIFI和MQTT服務器通信。

87586468-dde6-11ec-b80f-dac502259ad0.png

圖1 小凌派RK2206開發板

三、軟件設計

1、主程序設計

在iot_mqtt_example函數中,通過LOS_TaskCreate函數創建iot_mqtt_thread線程,并設置線程優先級、線程堆棧大小等參數。


poYBAGKQJ3eAeIcXAAByrZFB5QA643.png


2、MQTT服務程序設計

iot_mqtt_thread函數中,開發板先連接WIFI,通過WIFI和PC端的MQTT服務器通信;WIFI連接成功后,初始化網絡,初始化MQTT客戶端;初始化完成后,連接MQTT服務端,注冊消息接收函數message_receive;函數進入循環,5s向PC端MQTT服務器發送一次消息。


poYBAGKQJ62AMs_EAAHJorWKJF0077.png


3、MQTT消息接收程序設計

MQTT消息接收程序主要用于接收MQTT服務端下發的消息,接收到消息后,打印接收的信息。

pYYBAGKQJ9mAfpWTAAApi15Wo2c334.png



四、編譯測試

1、修改MQTT服務端IP

PC端按鍵WIN + R鍵打開命令行CMD,執行命令ipconfig獲取PC端的IP地址,如圖2所示,PC端的IP地址為:192.168.1.164。

87969f08-dde6-11ec-b80f-dac502259ad0.png

圖2 獲取PC端IP地址

對應修改代碼中的MQTT_SERVER_IP為查詢到PC端IP地址192.168.1.164,MQTT_SERVER_PORT修改為MQTT服務器端口號1883。代碼如下所示:


#define MQTT_SERVER_IP "192.168.1.164"

#define MQTT_SERVER_PORT 1883


2、下載MQTT代理工具mosquitto

根據PC電腦位數選擇對應的安裝包,32位系統下載x86后綴的安裝包,64位系統下載x64后綴的安裝包,本文選擇mosquitto-2.0.9a-install-windows版本進行測試。

32位系統下載地址:https://mosquitto.org/files/binary/win32/,如圖3所示。

87ae795c-dde6-11ec-b80f-dac502259ad0.png

圖3 32位系統安裝包

64位系統下載地址:https://mosquitto.org/files/binary/win64/,如圖4所示。

87cafc4e-dde6-11ec-b80f-dac502259ad0.png

圖4 64位系統安裝包

下載mosquitto安裝包后,點擊安裝mosquitto工具;安裝完畢后,需要配置mosquitto,修改mosquitto安裝路徑下的mosquitto.conf文件,如圖5所示。

87e12a14-dde6-11ec-b80f-dac502259ad0.png

圖5 mosquitto配置文件

在mosquitto.conf文件末尾增加如下配置,其中,192.168.1.164為PC端IP地址,1883為MQTT服務器端口號,allow_anonymous為允許匿名登錄。


listener 1883 192.168.1.164

listener 1883 localhost

allow_anonymous true


mosquitto安裝配置完成后,需要開啟mosquitto服務,右擊打開我的電腦-管理-服務和應用程序-服務,找到Mosquitto Broker服務,如圖6所示。

8801f3e8-dde6-11ec-b80f-dac502259ad0.png

圖6 mosquitto服務

雙擊打開Mosquitto Broker服務,點擊啟動,開啟Mosquitto服務,如圖7所示。

88187d7a-dde6-11ec-b80f-dac502259ad0.png

圖7 開啟mosquitto服務

3、下載Eclipse Paho MQTT 工具

Paho MQTT工具下載地址:

https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.1.1/。

下載Paho軟件包:org.eclipse.paho.ui.app-1.1.1-win32.win32.x86_64.zip。如圖8所示。

88255b94-dde6-11ec-b80f-dac502259ad0.png

圖8 Eclipse Paho MQTT工具下載地址

下載Paho軟件包后,解壓軟件包,雙擊打開Paho.exe;進入Paho軟件界面,點擊右上角加號按鍵,添加一個MQTT服務器連接,如圖9所示。

8849ba3e-dde6-11ec-b80f-dac502259ad0.png

圖9 Eclipse Paho MQTT軟件界面

4、WIFI連接

修改代碼中的SSID和PASSWORD為使用WIFI的SSID和密匙,用于連接網絡,設備通過WIFI訪問PC端MQTT服務器。代碼如下所示:


#define SSID "lzdz"

#define PASSWORD "12345678"


5、運行結果

例程代碼編譯燒寫到開發板后,按下開發板的RESET按鍵,通過串口軟件查看日志,串口打印MQTT初始化、連接等日志。


NetworkConnect...

MQTTClientInit...

MQTTConnect...

MQTTSubscribe...


連接

打開paho軟件,點擊連接,當連接成功時,連接狀態顯示為已連接;需要注意的是,如果出現連接失敗,請嘗試關閉PC防火墻再進行連接。

訂閱

點擊訂閱添加按鍵,新增主題IOT_MQTT(主題名稱需要與例程代碼MQTTPublish函數傳參的主題名稱一致),點擊訂閱按鍵,此時,歷史記錄頁面就開始顯示接收的開發板上報信息,如圖10所示。

8863ddd8-dde6-11ec-b80f-dac502259ad0.png

圖10 訂閱消息

發布

在發布主題欄,輸入主題名稱substopic(主題名稱需要與例程代碼MQTTSubscribe函數傳參的主題名稱一致),在消息欄輸入消息hello world,點擊發布,此時,歷史記錄頁面顯示已發布出的消息,如圖11所示。

8882cce8-dde6-11ec-b80f-dac502259ad0.png

圖11 發布消息

同時,開發板串口會同步顯示接收到的消息日志,如下所示。


message arrived on topic substopic: hello world

message arrived on topic substopic: hello world


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MQTT
    +關注

    關注

    5

    文章

    733

    瀏覽量

    25065
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21094
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    開源媒體服務器 Komga本地部署,并實現遠程訪問

    Komga是一款支持多種格式的數字閱讀平臺,可本地部署并支持內網穿透實現跨設備訪問。
    的頭像 發表于 02-26 20:53 ?839次閱讀
    開源媒體<b class='flag-5'>服務</b>器 Komga<b class='flag-5'>本地</b>部署,并<b class='flag-5'>實現</b>遠程訪問

    Python運行本地Web服務實現遠程訪問

    本文介紹使用Python搭建本地Web服務并結合 ZeroNews 實現公網訪問。
    的頭像 發表于 02-06 11:39 ?148次閱讀
    Python運行<b class='flag-5'>本地</b>Web<b class='flag-5'>服務</b>并<b class='flag-5'>實現</b>遠程訪問

    【原創】OpenHarmony系統投屏工具軟件 - OpenHarmony_OHScrcpy使用推薦

    側(服務端) :基于OpenHarmony系統C-API實現 特性 ??實時屏幕鏡像 :低延遲顯示OpenHarmony設備屏幕 ?設備控制 :支持點擊、滑動、按鍵等操作 ?多種連接方
    發表于 01-22 18:34

    #OpenHarmony 鏡像燒錄

    OpenHarmony
    視美泰
    發布于 :2026年01月16日 09:42:36

    #OpenHarmony 系統概述

    OpenHarmony
    視美泰
    發布于 :2026年01月16日 09:39:20

    本地部署微信公眾號文章搜索MCP服務實現遠程訪問

    本文介紹如何在本地部署基于FastAPI的微信公眾號文章搜索MCP服務,并通過內網穿透實現公網訪問,支持關鍵詞搜索。
    的頭像 發表于 01-12 14:58 ?881次閱讀
    <b class='flag-5'>本地</b>部署微信公眾號文章搜索MCP<b class='flag-5'>服務</b>并<b class='flag-5'>實現</b>遠程訪問

    工業MQTT網關有哪些使用功能和應用場景

    協議(如Modbus、OPC UA、Profinet、CAN等),將分散的工業設備(如PLC、傳感器、數控機床)數據統一轉換為MQTT協議格式,消除設備異構性。 例如:將Modbus RTU協議的傳感器數據轉換為MQTT消息后上傳至云端,
    的頭像 發表于 12-04 11:17 ?448次閱讀

    ESP32-C3 mqtt操作實踐

    使用MQTT進行通信。 MQTT在物聯網領域的使用非常的廣泛,其協議在眾多的智能控制領域廣泛的使用。 本次實驗在使用上,可以將PC上搭建一個mosquitto的mqtt服務器,并且在手
    發表于 10-31 06:52

    使用paho-mqtt里例程連接服務器失敗怎么解決?

    【rt-thread】【paho-mqtt】最近由于學習需要,了解了關于rt-thread軟件包paho-mqtt的使用,但是使用官方例程時,出現連接不上服務器的情況。具體報錯如下: msh
    發表于 09-18 06:38

    【HZ-RK3568開發板免費體驗】MQTT服務搭建與客戶端移植

    服務質量,可喜的是,MQTT支持三種消息發布服務質量(QoS): “至多一次”(QoS==0),消息發布完全依賴底層 TCP/IP 網絡。會發生消息丟失或重復。這一級別可用于如下情況,環境傳感器數據
    發表于 08-30 21:05

    物聯網MQTT網關是什么

    物聯網MQTT網關是一種采用MQTT物聯網協議的智能設備或軟件組件,其核心功能是連接不同通信協議的物聯網設備與消息代理服務器,實現設備間的數據交換與集中管理,同時支持邊緣計算、安全防護
    的頭像 發表于 08-29 15:24 ?1005次閱讀

    【創龍TL3562-MiniEVM開發板試用體驗】6、mosquitto實現MQTT

    清晰。 我癱倒在地,笑了。 下面用mosquitto實現MQTT,點燃希望的LED Mosquitto 是一個輕量級的開源 MQTT 代理服務器(M
    發表于 08-03 17:11

    實戰指南:AirTalk+MQTT實現雙向語音對講的開發全流程

    穩定高效的對講系統。 Air8000 系列的 Airtalk 是基于 LuatOS 核心庫的對講方案,采用 MQTT 協議實現設備端、手機端、網頁端的跨終端對講,支持服務器搭建與三端系統部署。 對講方案的核心特點包括:采用 8b
    的頭像 發表于 07-28 17:41 ?924次閱讀
    實戰指南:AirTalk+<b class='flag-5'>MQTT</b><b class='flag-5'>實現</b>雙向語音對講的開發全流程

    《DNESP32S3使用指南-IDF版_V1.6》第五十五章 基于MQTT協議連接阿里云服務

    第五十五章 基于MQTT協議連接阿里云服務器 本章主要學習lwIP提供的MQTT協議文件使用,通過 MQTT 協議將設備連接到阿里云服務
    發表于 03-18 09:22

    MQTT物聯網平臺有哪些?有哪些功能?

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務器架構的發布/訂閱模式的消息傳輸協議,它廣泛應用于機器與機器的通信(M2M)以及物聯網環境
    的頭像 發表于 03-15 14:23 ?1450次閱讀
    <b class='flag-5'>MQTT</b>物聯網平臺有哪些?有哪些功能?