在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenHarmony的本地MQTT服務(wù)實(shí)現(xiàn)

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

掃碼添加小助手

加入工程師交流群

一、MQTT協(xié)議簡(jiǎn)介

MQTT(消息隊(duì)列遙測(cè)傳輸)是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議,是ISO標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。MQTT工作在TCP/IP協(xié)議棧上,是為硬件性能低下的遠(yuǎn)程設(shè)備以及網(wǎng)絡(luò)狀況不理想的情況下而設(shè)計(jì)的發(fā)布/訂閱型消息協(xié)議。由于MQTT協(xié)議的輕量、簡(jiǎn)便、開(kāi)放的特點(diǎn)使它適用范圍非常廣泛。在很多情況下,包括受限的環(huán)境中使用,廣泛應(yīng)用于物聯(lián)網(wǎng)IoT)。MQTT協(xié)議在衛(wèi)星鏈路通信傳感器、醫(yī)療設(shè)備、智能家居、及一些小型化設(shè)備中已廣泛使用。

本文使用小凌派RK2206開(kāi)發(fā)板實(shí)現(xiàn)基于OpenHarmony的本地MQTT服務(wù)。小凌派RK2206開(kāi)發(fā)板采用瑞芯微高性能、高性價(jià)比的RK2206芯片。RK2206芯片是一款低功耗、高集成的MCU無(wú)線局域網(wǎng)處理器,它可以應(yīng)用于不同的應(yīng)用領(lǐng)域,如物聯(lián)網(wǎng)、可穿戴設(shè)備、家庭自動(dòng)化、云連接等。小凌派RK2206開(kāi)發(fā)板內(nèi)置WIFI模塊,外部接口豐富,使用一個(gè)小凌派RK2206開(kāi)發(fā)板就能夠輕松實(shí)現(xiàn)MQTT物聯(lián)網(wǎng)多種應(yīng)用。

二、硬件電路設(shè)計(jì)

如圖1所示,為小凌派RK2206開(kāi)發(fā)板支持的外部接口,本文使用小凌派RK2206開(kāi)發(fā)板內(nèi)置的WIFI和MQTT服務(wù)器通信。

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

圖1 小凌派RK2206開(kāi)發(fā)板

三、軟件設(shè)計(jì)

1、主程序設(shè)計(jì)

在iot_mqtt_example函數(shù)中,通過(guò)LOS_TaskCreate函數(shù)創(chuàng)建iot_mqtt_thread線程,并設(shè)置線程優(yōu)先級(jí)、線程堆棧大小等參數(shù)。


poYBAGKQJ3eAeIcXAAByrZFB5QA643.png


2、MQTT服務(wù)程序設(shè)計(jì)

iot_mqtt_thread函數(shù)中,開(kāi)發(fā)板先連接WIFI,通過(guò)WIFI和PC端的MQTT服務(wù)器通信;WIFI連接成功后,初始化網(wǎng)絡(luò),初始化MQTT客戶端;初始化完成后,連接MQTT服務(wù)端,注冊(cè)消息接收函數(shù)message_receive;函數(shù)進(jìn)入循環(huán),5s向PC端MQTT服務(wù)器發(fā)送一次消息。


poYBAGKQJ62AMs_EAAHJorWKJF0077.png


3、MQTT消息接收程序設(shè)計(jì)

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

pYYBAGKQJ9mAfpWTAAApi15Wo2c334.png



四、編譯測(cè)試

1、修改MQTT服務(wù)端IP

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

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

圖2 獲取PC端IP地址

對(duì)應(yīng)修改代碼中的MQTT_SERVER_IP為查詢到PC端IP地址192.168.1.164,MQTT_SERVER_PORT修改為MQTT服務(wù)器端口號(hào)1883。代碼如下所示:


#define MQTT_SERVER_IP "192.168.1.164"

#define MQTT_SERVER_PORT 1883


2、下載MQTT代理工具mosquitto

根據(jù)PC電腦位數(shù)選擇對(duì)應(yīng)的安裝包,32位系統(tǒng)下載x86后綴的安裝包,64位系統(tǒng)下載x64后綴的安裝包,本文選擇mosquitto-2.0.9a-install-windows版本進(jìn)行測(cè)試。

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

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

圖3 32位系統(tǒng)安裝包

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

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

圖4 64位系統(tǒng)安裝包

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

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

圖5 mosquitto配置文件

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


listener 1883 192.168.1.164

listener 1883 localhost

allow_anonymous true


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

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

圖6 mosquitto服務(wù)

雙擊打開(kāi)Mosquitto Broker服務(wù),點(diǎn)擊啟動(dòng),開(kāi)啟Mosquitto服務(wù),如圖7所示。

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

圖7 開(kāi)啟mosquitto服務(wù)

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軟件包后,解壓軟件包,雙擊打開(kāi)Paho.exe;進(jìn)入Paho軟件界面,點(diǎn)擊右上角加號(hào)按鍵,添加一個(gè)MQTT服務(wù)器連接,如圖9所示。

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

圖9 Eclipse Paho MQTT軟件界面

4、WIFI連接

修改代碼中的SSID和PASSWORD為使用WIFI的SSID和密匙,用于連接網(wǎng)絡(luò),設(shè)備通過(guò)WIFI訪問(wèn)PC端MQTT服務(wù)器。代碼如下所示:


#define SSID "lzdz"

#define PASSWORD "12345678"


5、運(yùn)行結(jié)果

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


NetworkConnect...

MQTTClientInit...

MQTTConnect...

MQTTSubscribe...


連接

打開(kāi)paho軟件,點(diǎn)擊連接,當(dāng)連接成功時(shí),連接狀態(tài)顯示為已連接;需要注意的是,如果出現(xiàn)連接失敗,請(qǐng)嘗試關(guān)閉PC防火墻再進(jìn)行連接。

訂閱

點(diǎn)擊訂閱添加按鍵,新增主題IOT_MQTT(主題名稱需要與例程代碼MQTTPublish函數(shù)傳參的主題名稱一致),點(diǎn)擊訂閱按鍵,此時(shí),歷史記錄頁(yè)面就開(kāi)始顯示接收的開(kāi)發(fā)板上報(bào)信息,如圖10所示。

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

圖10 訂閱消息

發(fā)布

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

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

圖11 發(fā)布消息

同時(shí),開(kāi)發(fā)板串口會(huì)同步顯示接收到的消息日志,如下所示。


message arrived on topic substopic: hello world

message arrived on topic substopic: hello world


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    674

    瀏覽量

    23578
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3844

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    第五十五章 基于MQTT協(xié)議連接阿里云服務(wù)器 本章主要學(xué)習(xí)lwIP提供的MQTT協(xié)議文件使用,通過(guò) MQTT 協(xié)議將設(shè)備連接到阿里云服務(wù)
    發(fā)表于 03-18 09:22

    MQTT物聯(lián)網(wǎng)平臺(tái)有哪些?有哪些功能?

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務(wù)器架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議,它廣泛應(yīng)用于機(jī)器與機(jī)器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境
    的頭像 發(fā)表于 03-15 14:23 ?766次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)平臺(tái)有哪些?有哪些功能?

    【教程】使用NE2系列串口服務(wù)MQTT模式接入云平臺(tái)實(shí)例

    在物聯(lián)網(wǎng)技術(shù)持續(xù)發(fā)展的當(dāng)下,設(shè)備之間的高效通信成為關(guān)鍵。億佰特NE2系列串口服務(wù)器的MQTT模式,為眾多設(shè)備的互聯(lián)互通提供了便捷且可靠的解決方案。一設(shè)備與MQTT模式簡(jiǎn)介NE2系列串口服務(wù)
    的頭像 發(fā)表于 02-27 19:35 ?535次閱讀
    【教程】使用NE2系列串口<b class='flag-5'>服務(wù)</b>器<b class='flag-5'>MQTT</b>模式接入云平臺(tái)實(shí)例

    采用華為云 Flexus 云服務(wù)器 X 實(shí)例部署 MQTT 服務(wù)器完成設(shè)備上云

    一、前言 1.1 開(kāi)發(fā)需求 這篇文章講解: 采用華為云最新推出的 Flexus 云服務(wù)器 X 實(shí)例 EMQX 服務(wù)器,搭建 MQTT 服務(wù)器,完成設(shè)備上云,
    的頭像 發(fā)表于 12-26 18:12 ?538次閱讀
    采用華為云 Flexus 云<b class='flag-5'>服務(wù)</b>器 X 實(shí)例部署 <b class='flag-5'>MQTT</b> <b class='flag-5'>服務(wù)</b>器完成設(shè)備上云

    如何使用HTTP服務(wù)器搭建本地Web網(wǎng)站

    最近在學(xué)習(xí) ETH 模塊,ETH 模塊具有 HTTP 服務(wù)的功能,我將在本帖中探討如何使用 HTTP 服務(wù)搭建一個(gè)本地 Web網(wǎng)站,并分享一些我所獲得的經(jīng)驗(yàn)。
    的頭像 發(fā)表于 12-24 09:54 ?2438次閱讀
    如何使用HTTP<b class='flag-5'>服務(wù)</b>器搭建<b class='flag-5'>本地</b>Web網(wǎng)站

    梯度科技成為AI Cloud MSP技術(shù)服務(wù)實(shí)驗(yàn)室首批成員單位

    近日,2024全球數(shù)字經(jīng)濟(jì)大會(huì)云·AI·計(jì)算國(guó)際合作論壇成功召開(kāi)。會(huì)上,公布了AI Cloud MSP技術(shù)服務(wù)實(shí)驗(yàn)室首批成員單位,梯度科技憑借在人工智能云管理服務(wù)領(lǐng)域的卓越實(shí)力成為AI Cloud MSP技術(shù)服務(wù)實(shí)驗(yàn)室首批成員單
    的頭像 發(fā)表于 12-18 10:07 ?667次閱讀

    百問(wèn)MQTT協(xié)議分析 - MQTT簡(jiǎn)述及協(xié)議報(bào)文格式組成

    16.1 mqtt協(xié)議介紹 16.1.1 概述 ?MQTT是一個(gè)客戶端服務(wù)端架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議。它的設(shè)計(jì)思想是輕巧、開(kāi)放、簡(jiǎn)單、規(guī)范,易于實(shí)現(xiàn)。這些特點(diǎn)使得它對(duì)很多場(chǎng)景
    發(fā)表于 12-13 09:29

    全新NVIDIA NIM微服務(wù)實(shí)現(xiàn)突破性進(jìn)展

    全新 NVIDIA NIM 微服務(wù)實(shí)現(xiàn)突破性進(jìn)展,可助力氣象技術(shù)公司開(kāi)發(fā)和部署 AI 模型,實(shí)現(xiàn)對(duì)降雪、結(jié)冰和冰雹的預(yù)測(cè)。
    的頭像 發(fā)表于 11-21 10:07 ?635次閱讀

    通過(guò)物通博聯(lián)工業(yè)智能網(wǎng)關(guān)實(shí)現(xiàn)MQTT穿透

    MQTT服務(wù)器與網(wǎng)關(guān)下掛設(shè)備建立一個(gè)穿透通道,下發(fā)的指令可以直接到達(dá)設(shè)備而不需要經(jīng)過(guò)網(wǎng)關(guān),反之亦然。 這樣做的好處在于可以減少數(shù)據(jù)中轉(zhuǎn)的耗時(shí),提升數(shù)據(jù)傳輸?shù)男剩瑹o(wú)論是數(shù)據(jù)上傳和指令下達(dá)都能快速實(shí)現(xiàn),對(duì)于特定場(chǎng)景的數(shù)據(jù)監(jiān)控管理
    的頭像 發(fā)表于 10-19 17:20 ?758次閱讀
    通過(guò)物通博聯(lián)工業(yè)智能網(wǎng)關(guān)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>MQTT</b>穿透

    ESP8266 通過(guò) MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程控制

    本文簡(jiǎn)要介紹了搭建 EMQX 服務(wù)實(shí)現(xiàn)基于 MQTT 協(xié)議遠(yuǎn)程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發(fā)表于 09-25 09:11 ?2955次閱讀
    ESP8266 通過(guò) <b class='flag-5'>MQTT</b> 協(xié)議<b class='flag-5'>實(shí)現(xiàn)</b> LED 的遠(yuǎn)程控制

    MQTT網(wǎng)關(guān):物聯(lián)網(wǎng)中的關(guān)鍵橋梁

    基于發(fā)布/訂閱模式的輕量級(jí)通信協(xié)議,特別適用于低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)傳輸。MQTT網(wǎng)關(guān)則是連接物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器之間的橋梁,通過(guò)它,物聯(lián)網(wǎng)設(shè)備能夠高效、可靠地進(jìn)行通信和數(shù)據(jù)交換。 MQTT網(wǎng)關(guān)的定義與功能
    的頭像 發(fā)表于 08-22 14:15 ?724次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān):物聯(lián)網(wǎng)中的關(guān)鍵橋梁

    如何在服務(wù)器上調(diào)試本地FPGA板卡

    該板卡,直接使用Recent Targets,之前的配置應(yīng)該保存在列表中。如下圖所示。 如下圖所示連接后,即可正常使用 Vivado。FPGA 器件可以使用 ILA 內(nèi)核進(jìn)行編程和調(diào)試,就像在本地PC上操作一樣,同時(shí)獲得更強(qiáng)大的服務(wù)器處理器的綜合和
    發(fā)表于 07-31 17:36

    Modbus RTU、Modbus TCP轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)Modbus設(shè)備與云平臺(tái)的無(wú)縫通信

    鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān),簡(jiǎn)而言之,就是通過(guò)將Modbus協(xié)議(包括Modbus RTU和Modbus TCP)的數(shù)據(jù)轉(zhuǎn)換為MQTT協(xié)議的數(shù)據(jù)格式,從而實(shí)現(xiàn)設(shè)備數(shù)據(jù)的上傳和云端控制指令的下發(fā)
    的頭像 發(fā)表于 07-23 16:58 ?4381次閱讀
    Modbus RTU、Modbus TCP轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)<b class='flag-5'>實(shí)現(xiàn)</b>Modbus設(shè)備與云平臺(tái)的無(wú)縫通信

    使用SDK中的MQTT連接服務(wù)器,導(dǎo)致mqtt永遠(yuǎn)斷開(kāi),請(qǐng)問(wèn)是什么原因?

    使用SDK中的MQTT連接服務(wù)器,由于wifi信號(hào)不好會(huì)經(jīng)常出現(xiàn)斷網(wǎng)重新連接的情況,重連次數(shù)多了以后MQTT_Connect函數(shù)中的espconn_gethostbyname返回Out of memory error,導(dǎo)致
    發(fā)表于 07-19 14:37

    MQTT物聯(lián)網(wǎng)平臺(tái)是什么

    。這種平臺(tái)允許設(shè)備通過(guò)MQTT協(xié)議與其他設(shè)備及云端服務(wù)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的上傳和下載,從而支持各種物聯(lián)網(wǎng)應(yīng)用和服務(wù)MQTT物聯(lián)網(wǎng)平臺(tái)的主
    的頭像 發(fā)表于 07-18 14:22 ?1120次閱讀
    主站蜘蛛池模板: 天天舔天天射天天操 | 寂寞午夜影院 | 久久综合一 | 最色网站 | 国产美女特级嫩嫩嫩bbb | 色内内免费视频播放 | 欧美三级视频在线播放 | 2021精品国产综合久久 | 啪啪免费看 | 麦克斯奥特曼免费观看 | 午夜理伦| 亚洲色图17p | 丁香五月欧美成人 | 亚洲资源在线视频 | 性a爱片免费视频性 | 国产三级在线免费观看 | 欲妇放荡叫床很浪的小说 | 日产国产精品亚洲系列 | 天天综合天天射 | 四虎tv在线观看884aa | 一区视频在线 | 亚洲国产午夜精品理论片的软件 | 黄色毛片大全 | 最好免费高清视频观看韩国 | 性色网站 | 国内视频一区 | 欧美一级视频免费观看 | 四虎影视永久在线精品免费播放 | 一级视频在线播放 | 一级黄色片在线看 | 奇米欧美成人综合影院 | 成人涩涩网站 | 在线a亚洲老鸭窝天堂新地址 | 中文字幕一区二区精品区 | 在线视频观看你懂的 | 992tv国产精品福利在线 | 亚洲黄色三级视频 | 成人在线亚洲 | 日本欧洲亚洲一区在线观看 | 国产小视频免费看 | 激情开心婷婷 |