# MQTT 入門 > [color=#40f1ef][name=LHB阿好伯, 2021/03/13][:earth_africa:](https://www.facebook.com/LHB0222/) ###### tags: `MQTT`  [TOC] # MQTT簡介 MQTT(Message Queuing Telemetry Transport)基於訊息代理(message broker)/發布 (Publish)/訂閱 (Subscribe)之間的通訊協定 資訊的傳輸是通過主題(topic)管理的 發布者有需要分發的資料時,其向連接的訊息代理發送攜帶有資料的控制訊息 代理會向訂閱此主題的客戶端分發此資料 發布者不需要知道訂閱者的資料和具體位置;同樣,訂閱者不需要組態發布者的相關資訊 MQTT 協定使用普通文字傳送連接認憑證,且並不包含任何安全或認證相關的措施。但可以使用傳輸層安全來加密並保護發送的資料,以防止攔截、修改或偽造。 MQTT 預設埠為 1883。加密埠為 8883 topic主題名稱我們可以自行設定 建議使用英文命名 不同階層則以斜線 ==/== 做區隔  更多詳細資料可以看[MQTT訊息格式](https://swf.com.tw/?p=1002) ## 服務品質(QoS) 最多一次傳送 (只負責傳送,傳送過後就不管資料的傳送情況) 至少一次傳送 (確認資料交付) 正好一次傳送 (保證資料交付成功) # 推薦電腦客戶端(client)MQTT軟體 ## MQTT X  https://mqttx.app/ 測試過幾款最推薦的就是MQTT X 支持 Windows,macOS,Linux 支持 MQTT v3.1.1 以及 MQTT v5.0 採用聊天界面形式,方便快速測試與使用 ### 簡單測試 建立與MQTT Broker連結 這邊我使用公開的線上Broker `broker.emqx.io/` 或者也可以使用HiveMQ提供的Broker`broker.hivemq.com` 其餘也有許多類似的服務器大家可以找找看 https://test.mosquitto.org/ `test.mosquitto.org`  設定好Topic就可以開始接收訊息  輸入要發送的Topic跟資料就可以發送出去  ### 輸出歷史資料  MQTT X支援將資料輸出 但測試四種格式只有JSON資料輸出比較正常  可以利用一些網站進行轉換 我這邊就列舉一個我試過覺得還不錯的 可以將需要的資訊正確轉換 https://www.aconvert.com/tw/document/json-to-csv/  ### 補充 軟體也有支援簡體中文跟深色背景有需要的可以調整  ## 推薦2 MQTT-explorer  https://mqtt-explorer.com/ 第二款推薦的就是MQTT-explorer 提供了更完整的功能 - 可視化Topic和Topic活動 - 刪除保留的Topic - 搜索/過濾Topic - 發布Topic - 繪製數值類型的Topic折線圖 - 保留每個Topic的歷史記錄 - 深色/淺色外觀主題    # 樹莓派MQTT伺服器mosquitto安裝 ## 安裝 首先先更新一下全部軟體 **`sudo apt-get update`** 在安裝mosquitto **`sudo apt-get install mosquitto`**  ### 查看安裝版本 輸入 **`mosquitto -v`** 查看安裝的版本  ### 啟動時自動開啟 mosquitto 輸入 **`sudo systemctl enable mosquitto.service`** 設定樹梅派開機時自動開啟mosquitto ## 測試 輸入 ==`hostname -I`== 取得樹梅派IP  輸入到MQTT客戶端(client)中  Prot為1883 再輸入Topic即可享用mosquitto的服務 https://youtu.be/6ZQmCrcc1aE {%youtube 6ZQmCrcc1aE %} # thingspeak MQTT伺服器 測試中出現問題尚未解決  mqtt.thingspeak.com   channels/<channelID>/publish/<apikey> # 參考資料 https://mqtt.org/software/ https://randomnerdtutorials.com/how-to-install-mosquitto-broker-on-raspberry-pi/ https://blog.gtwang.org/iot/raspberry-pi/raspberry-pi-mosquitto-mqtt-broker-iot-integration/2/ 🌟全文可以至下方連結觀看或是補充 https://hackmd.io/@LHB-0222/MQTT 全文分享至 https://www.facebook.com/LHB0222/ https://www.instagram.com/ahb0222/ 有疑問想討論的都歡迎於下方留言 喜歡的幫我分享給所有的朋友 \o/ 有所錯誤歡迎指教 # [:page_with_curl: 全部文章列表](https://hackmd.io/@LHB-0222/AllWritings) 
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.