亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python編程之MQTT

系統 1871 0

前言

本文將簡單介紹DTU701訂閱MQTT消息,遠程控制LED燈。

Python編程之MQTT_第1張圖片

MQTT是IBM開發的一個 即時通訊 協議。MQTT是面向M2M和物聯網的連接協議,采用輕量級發布和訂閱消息傳輸機制。

若初次接觸MQTT協議,可先理解以下概念:

MQTT協議特點—— 借助消息推送功能,可以更好地實現遠程控制。

MQTT協議角色—— 發布者,代理器(服務器)和訂閱者。

MQTT協議消息—— 消息可理解為發布者和訂閱者交換的內容(負載),這些消息包含具體的內容,可以被訂閱者使用。

MQTT協議主題—— 主題可理解為相同類型或相似類型的消息集合。

Python編程之MQTT_第2張圖片

所以要完成目標,需要搭建一臺MQTT服務器,我們采用ubuntu系統,IP為 10.10.80.106

發布者,采用Windows 運行MQTT測試工具。訂閱者,為DTU701,采用python編寫,并控制LED。

?

設計一個簡單的測試案例,在ubuntu上運行MQTT代理服務器,而DTU701訂閱主題為gpio的消息,Windows發布同主題消息,消息的內容為JSON數據包,數據包格式為{“index”:130,“value”:0},index代表GPIO的編號,value代表打開或關閉狀態。

?

MQTT服務器

Mosquitto是一款實現了 MQTT v3.1 協議的開源消息代理軟件,提供輕量級的,支持發布/訂閱的的消息推送模式,使設備對設備之間的短消息通信簡單易用。我們在ubuntu上安裝mosquitto。

下載源碼http://mosquitto.org/files/source/

這里選擇mosquitto-1.4.5,解壓編譯make & make install

?

常見問題:

編譯找不到openssl/ssl.h

解決方法:安裝openssl

sudo apt-get install libssl-dev

編譯過程找不到ares.h

解決方法:修改config.mk中的WITH_SRV:=yes,改為WITH_SRV:=yes

使用過程中找不到libmosquitto.so.1

error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

解決方法:修改libmosquitto.so位置 創建鏈接

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

# 更新動態鏈接庫

sudo ldconfig

make: g++:命令未找到

解決方法:安裝g++編譯器

sudo apt-get install g++

?

開啟MQTT服務

在ubuntu終端輸入如下命令:

mosquitto -v

Python編程之MQTT_第3張圖片

Ubuntu 系統IP為10.10.80.106

?

?

發布者

采用windows下mqtt工具,mqtt工具很多如mqtt-spy,為了方便我這邊采用MQTT測試工具(網盤可下載):

Python編程之MQTT_第4張圖片

輸入MQTT服務器IP及端口號,點擊connect

?

訂閱者

基于DTU701 采用python編寫代碼實現mqtt訂閱。

paho-python是一個符合MQTT v3.1協議的客戶端,paho-python可連接MQTT代理服務器、發布消息、訂閱消息和獲得推送消息。DTU701默認帶有paho-python模塊。

DTU701訂閱代碼 mqtt.py

Python編程之MQTT_第5張圖片

注意:網絡編程中,服務器和瀏覽器只認bytes 類型數據。所以msg.payload為bytes類型字符串。

運行python mqtt.py 訂閱,? MQTT測試工具 發布send。結果如下:

Python編程之MQTT_第6張圖片

Python編程之MQTT_第7張圖片

至此,已實現預定的設想。可見python 采用50行代碼實現MQTT,足見其強橫。

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 综合久久久久综合体桃花网 | 国产呦系列 欧美呦 日韩呦 | www夜夜操com | 狠狠色婷婷丁香综合久久韩国 | 日本一本二本免费播放视频 | 99视频在线观看视频一区 | 4虎永免费最新永久免费地址 | 国产日韩欧美在线 | 欧美性xxxxxx性 | 99视频都是精品热在线播放 | 久久天堂一区二区三区 | 男人av的天堂 | 亚洲另类伦春色综合妖色成人网 | 欧美成 人激情视频 | 成人欧美一区二区三区黑人免费 | 日本人一级毛片免费视频 | 九月丁香婷婷亚洲综合色 | 一级特级欧美午夜片免费观看 | 狠狠色狠狠色综合日日32 | 日本香蕉视频 | 国产精品模特hd在线 | 桃色成人精品网站 | 久热精品香蕉在线视频 | 亚洲品质自拍视频 | 最近更新在线中文字幕一页 | 日本免费不卡在线一区二区三区 | 欧美精品1区 | 亚洲精品中文字幕久久久久久 | 亚洲精品午夜级久久久久 | 亚洲日本aⅴ片在线观看香蕉 | 久国产精品视频 | 亚洲欧美日产综合一区二区三区 | 视频毛片| 97久久久久 | 99在线视频网站 | 午夜宅男在线观看 | 久久精品国产亚洲黑森林 | 婷婷在线网站 | 日韩欧美国产高清 | 国产在线欧美日韩一区二区 | 99国产精品国产精品 |