校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Docker MQTT安裝使用教程

Docker MQTT安裝使用教程

熱門標簽:西柏坡地圖標注 i智能電話機器人yeta 燃氣管線地圖標注顏色 寧波400電話辦理對企業的意義 廣東如何申請400電話 北京人工外呼系統廠家 400電話申請要什么條件 哈爾濱400電話去哪辦理 話術外呼系統

MQTT簡介

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支持所有平臺,幾乎可以把所有聯網物品和外部連接起來,被用來當做傳感器和制動器(比如通過Twitter讓房屋聯網)的通信協議。

Docker安裝RabbitMQ配置MQTT

使用RabbitMQ作為MQTT服務端,Eclipse Paho作為客戶端。宿主機系統為ubuntu16.04

Docker下載鏡像

docker pull daocloud.io/library/rabbitmq:3.7.4

啟動RabbitMQ

docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 -p 5672:5672 -p 1883:1883 -p 15675:15675 daocloud.io/library/rabbitmq:3.7.4

注意映射容器端口

  • 15672 是rabbitmq management管理界面默認訪問端口
  • 5672 是amqp默認端口
  • 1883 是mqtt tcp協議默認端口
  • 15675 是web_mqtt websocket協議默認端口

啟用插件

默認安裝后我們需要手動開啟rabbitmq_management插件,rabbitmq_mqtt插件和rabbitmq_web_mqtt插件。

執行如下三條命令

docker exec <容器ID> rabbitmq-plugins enable rabbitmq_management
docker exec <容器ID> rabbitmq-plugins enable rabbitmq_mqtt
docker exec <容器ID> rabbitmq-plugins enable rabbitmq_web_mqtt

當然你也可以寫個腳本start.sh,復制到容器中

/usr/sbin/rabbitmq-plugins enable rabbitmq_management
/usr/sbin/rabbitmq-plugins enable rabbitmq_mqtt
/usr/sbin/rabbitmq-plugins enable rabbitmq_web_mqtt

進入容器執行這個腳本。

sh start.sh

開放宿主機端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=1883/tcp --permanent
firewall-cmd --zone=public --add-port=15675/tcp --permanent
firewall-cmd --reload

Python MQTT客戶端實現

安裝python包

pip install paho-mqtt

發送數據demo(消費者)

# 使用前需要啟動hbase和thrift服務器
# 啟動hbase在cd /usr/local/hbase下bin/start-hbase.sh  默認端口為 60000
# 啟動thrift服務器cd /usr/local/hbase/bin執行./hbase-daemon.sh start thrift  默認端口為9090
import sys
import os
dir_common = os.path.split(os.path.realpath(__file__))[0] + '/../'
sys.path.append(dir_common)  # 將根目錄添加到系統目錄,才能正常引用common文件夾
import argparse  #
import logging
import time,datetime
from common.py_log import init_logger,init_console_logger
from common.config import *
from common.py_hbase import PyHbase
import time,json
from common.py_rabbit import Rabbit_Consumer
import paho.mqtt.client as mqtt
import time
HOST = "192.168.2.46"
PORT = 1883
def client_loop():
  client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
  client = mqtt.Client(client_id)  # ClientId不能重復,所以使用當前時間
  client.username_pw_set("guest", "guest") # 必須設置,否則會返回「Connected with result code 4」
  client.on_connect = on_connect
  client.on_message = on_message
  client.connect(HOST, PORT, 60)
  client.loop_forever()
def on_connect(client, userdata, flags, rc):
  print("Connected with result code "+str(rc))
  client.subscribe("test")
def on_message(client, userdata, msg):
  print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
  client_loop()

接收數據demo(生產者)

import sys
import os
dir_common = os.path.split(os.path.realpath(__file__))[0] + '/../'
sys.path.append(dir_common)  # 將根目錄添加到系統目錄,才能正常引用common文件夾
import paho.mqtt.client as mqtt
import time
HOST = "192.168.2.46"
PORT = 1883
def client_loop():
  client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
  client = mqtt.Client(client_id)  # ClientId不能重復,所以使用當前時間
  client.username_pw_set("guest", "guest") # 必須設置,否則會返回「Connected with result code 4」
  client.on_connect = on_connect
  client.on_message = on_message
  client.connect(HOST, PORT, 60)
  client.loop_forever()
def on_connect(client, userdata, flags, rc):
  print("Connected with result code "+str(rc))
  client.subscribe("test")
def on_message(client, userdata, msg):
  print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
  client_loop()

生產者demo

# import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
import time
HOST = "192.168.2.46"
PORT = 1883
def on_connect(client, userdata, flags, rc):
  print("Connected with result code "+str(rc))
  client.subscribe("test")
def on_message(client, userdata, msg):
  print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
  client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
  # client = mqtt.Client(client_id)  # ClientId不能重復,所以使用當前時間
  # client.username_pw_set("guest", "guest") # 必須設置,否則會返回「Connected with result code 4」
  # client.on_connect = on_connect
  # client.on_message = on_message
  # client.connect(HOST, PORT, 60)
  # client.publish("test", "你好 MQTT", qos=0, retain=False) # 發布消息
  publish.single("test", "你好 MQTT", qos = 1,hostname=HOST,port=PORT, client_id=client

官方文檔:
mqtt http://www.rabbitmq.com/mqtt.html

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

標簽:巴中 開封 阜陽 張家口 湘潭 西藏 襄陽 珠海

巨人網絡通訊聲明:本文標題《Docker MQTT安裝使用教程》,本文關鍵詞  Docker,MQTT,安裝,使用,教程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker MQTT安裝使用教程》相關的同類信息!
  • 本頁收集關于Docker MQTT安裝使用教程的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产乱理伦片在线观看夜一区| 首页国产欧美日韩丝袜| 国产精品美女www爽爽爽| 精品综合久久久久久8888| 日韩一区二区三区av| 午夜久久久久久久久| 精品视频一区 二区 三区| 亚洲成人一区在线| 日韩午夜在线影院| 国产精品小仙女| 国产精品三级视频| 欧美视频一区在线观看| 亚洲va天堂va国产va久| 91精品国产91热久久久做人人| 午夜a成v人精品| 欧美成人a∨高清免费观看| 国产精品18久久久久久久久久久久 | 91国偷自产一区二区三区成为亚洲经典 | 日韩国产欧美三级| 久久老女人爱爱| 在线观看91精品国产入口| 九九九久久久精品| 国产精品久久久久久久岛一牛影视| 色中色一区二区| 国模大尺度一区二区三区| 亚洲激情图片一区| 在线观看亚洲精品视频| 经典一区二区三区| 亚洲自拍偷拍欧美| 国产偷国产偷精品高清尤物| 欧美日本一道本在线视频| 国产成人av资源| 日本亚洲视频在线| 亚洲美女淫视频| 国产免费观看久久| 精品日产卡一卡二卡麻豆| 色婷婷综合久久久中文字幕| 国产高清一区日本| 日本不卡123| 亚洲国产综合色| 亚洲欧美日韩国产另类专区 | 中日韩免费视频中文字幕| 欧美一区国产二区| 在线精品亚洲一区二区不卡| a级精品国产片在线观看| 国产一区二区在线免费观看| 日韩va欧美va亚洲va久久| 亚洲视频资源在线| 欧美韩国一区二区| 久久久久一区二区三区四区| 欧美tickling挠脚心丨vk| 9191精品国产综合久久久久久| 成人精品亚洲人成在线| 国产在线国偷精品免费看| 蜜桃一区二区三区在线观看| 日日夜夜一区二区| 午夜视频一区在线观看| 亚洲综合一区二区| 亚洲一区二区影院| 亚洲成人综合网站| 三级欧美韩日大片在线看| 天天操天天干天天综合网| 午夜影院在线观看欧美| 午夜精品成人在线| 奇米四色…亚洲| 狠狠色综合播放一区二区| 久久黄色级2电影| 九九**精品视频免费播放| 国产一区二区剧情av在线| 国产成人在线免费| 97精品视频在线观看自产线路二| 91一区一区三区| 欧美日韩国产成人在线免费| 日韩午夜电影在线观看| 久久久久9999亚洲精品| 国产精品美女久久久久久| 亚洲免费观看高清在线观看| 一区二区欧美视频| 日韩成人精品在线观看| 国产精品乡下勾搭老头1| 色综合色综合色综合色综合色综合| 在线亚洲高清视频| 91精品国产色综合久久不卡电影| 欧美tk丨vk视频| 一区二区在线观看免费视频播放| 天堂一区二区在线| 国产精品一区2区| 91麻豆自制传媒国产之光| 欧美日韩国产综合视频在线观看 | 精品理论电影在线观看| 26uuuu精品一区二区| 中文字幕一区二区三| 调教+趴+乳夹+国产+精品| 国产麻豆午夜三级精品| 91久久香蕉国产日韩欧美9色| 日韩视频免费观看高清在线视频| 欧美激情一区二区三区全黄| 亚洲va国产va欧美va观看| 精品一区二区三区久久久| 91麻豆国产精品久久| 欧美不卡视频一区| 亚洲男人都懂的| 国产精品综合网| 日韩欧美一区二区在线视频| 亚洲欧洲三级电影| 精品一区免费av| 欧美日韩国产在线观看| 国产精品久久二区二区| 久久机这里只有精品| 欧美日韩免费高清一区色橹橹| 久久久99精品免费观看不卡| 性久久久久久久久| 91丨九色丨蝌蚪丨老版| 久久精品夜色噜噜亚洲a∨| 午夜视频一区二区三区| 色综合天天综合| 中文成人av在线| 国产成人午夜视频| 欧美一区二区三区免费大片| 亚洲国产精品人人做人人爽| 99精品国产91久久久久久| 久久新电视剧免费观看| 免费av成人在线| 欧美一区二区日韩| 五月天激情综合网| 欧美日韩精品二区第二页| 一个色在线综合| 色就色 综合激情| 亚洲乱码国产乱码精品精的特点| 成人爱爱电影网址| 久久久精品国产99久久精品芒果 | 午夜精品久久久久影视| 99精品国产视频| 中文字幕中文字幕一区| 成人性生交大片免费看中文| 亚洲精品一区二区三区福利| 蜜臀久久99精品久久久久久9| 欧美精品在线视频| 日本va欧美va精品| 日韩欧美亚洲一区二区| 精品一区二区在线免费观看| 久久久久久综合| 成人精品小蝌蚪| 亚洲一区二区三区三| 欧美日韩在线播放| 午夜精品福利久久久| 日韩精品在线一区| 国产精品一区二区久激情瑜伽| 国产精品欧美一级免费| 99久久国产综合精品女不卡| 亚洲欧美日韩综合aⅴ视频| 色综合天天天天做夜夜夜夜做| 亚洲午夜日本在线观看| 538在线一区二区精品国产| 免费观看日韩av| 欧美激情综合五月色丁香小说| 94-欧美-setu| 午夜私人影院久久久久| 精品剧情在线观看| 国产suv精品一区二区6| 伊人色综合久久天天人手人婷| 日韩西西人体444www| 不卡一区二区在线| 丝袜美腿亚洲一区| 久久婷婷成人综合色| 色综合视频一区二区三区高清| 日本欧美大码aⅴ在线播放| 久久精品男人的天堂| 在线精品视频一区二区| 国产在线精品一区二区| 亚洲综合久久av| 2020日本不卡一区二区视频| 色综合久久久网| 激情五月婷婷综合网| 亚洲欧美另类久久久精品2019| 欧美一区二区成人| 91亚洲精品久久久蜜桃网站 | 欧美肥胖老妇做爰| 麻豆精品一区二区| 亚洲天天做日日做天天谢日日欢| 4438x亚洲最大成人网| 高清在线成人网| 麻豆视频一区二区| 夜夜亚洲天天久久| 国产欧美一区二区三区在线老狼| 欧美日韩视频在线观看一区二区三区 | 久久精品亚洲乱码伦伦中文| 911精品产国品一二三产区| 91美女在线观看| 成人高清免费在线播放| 理论电影国产精品| 亚洲mv大片欧洲mv大片精品| 成人免费在线观看入口| 久久久亚洲午夜电影| 在线综合亚洲欧美在线视频| 欧美视频一区在线观看| 91久久免费观看| 欧美在线短视频| 色综合天天狠狠| 色成年激情久久综合|