Q A &
問:用樹莓派、PyPortal Titano和machinechat JEDI One設置和測試MQTT broker服務器
項目概述:
本項目使用machinechat的 JEDIOne 物聯網數據管理軟件在樹莓派4上設置了一個物聯網MQTTbroker 服務器。
JEDI One包括一個數據收集器,可以將其配置為MQTT broker 服務器,外部客戶機設備可以向其發布和(或)訂閱JEDI One上的主題。為了測試MQTTbroker 服務器,將Adafruit PyPortal Titano設置為客戶端設備,該設備通過WiFi訂閱和發布樹莓派上的MQTT broker 服務器。
Raspberry Pi 4 Model B
ADAFRUIT PYPORTAL TITANO - - Arduino IDE,電路Python入門套件
項目背景
MQTT(消息隊列遙測傳輸) 是一個開放的OASIS和ISO標準,它定義了輕量級發布-訂閱網絡協議,用于在設備之間傳輸消息。主要包括兩種類型的網絡實體:一個消息代理和一些客戶端。machinechat的JEDI One物聯網平臺包括一個數據收集器,可以配置為MQTT消息代理。外部客戶機設備可以配置為在JEDI One上發布數據或訂閱主題(包括從任何來源進入JEDI One的所有數據,而不僅僅是MQTT)。JEDI One要求發布消息采用JSON有效負載格式,并以JSON有效負載格式提供訂閱消息。
所需軟件
JEDIOne:是一款即用型物聯網數據管理軟件解決方案。功能包括:收集來自傳感器、設備和機器的數據;構建直觀的實時和歷史數據以及系統視圖儀表板;創建規則,自動監控和響應數據情況;通過電子郵件和短信接收警報通知。
CircuitPython:是Adafruit的MicroPython分支,旨在簡化低成本微控制器的實驗和教育。不需要編譯器、鏈接器或IDE。
實現
在這個項目中,JEDI One應用程序已經預先安裝在樹莓派上,并且已經通過HTTP數據收集器接收了來自外部傳感器的數據。接著設置了JEDI OneMQTT數據收集器。為了對系統進行了測試,PyPortal Titano被配置為訂閱和發布MQTT broker服務器上的主題,而CircuitPython則用于在PyPortal上實現應用程序代碼。
JEDI One MQTT broker 服務器設置步驟:
1 - 如果machinechat JEDI One尚未安裝在樹莓派上,請參見以下內容:
獲得樹莓派版本的JEDI One DK-JEDIONE-RP
安裝在樹莓派上,參見 樹莓派-安裝JEDI One服務
2 - 配置MQTT broker 服務器
在JEDI One“數據收集器”選項卡中,選擇“添加收集器”并進行配置。命名“數據收集器”,并為“收集器類型”選擇“MQTT Broker”。MQTT采集器設置截圖中的“監聽IP”是JEDI One樹莓派的IP地址,“監聽端口”是1883。(注:以下是未加密配置的示例,但可以按照machinechat產品指南-如何生成TLS證書和密鑰中所示的方式配置TLS加密)
設置PyPortal CircuitPython MQTT客戶端測試應用程序
Pyportal測試應用程序有三部分:
1. MQTT客戶端,訂閱正在JEDI One上收集的現有傳感器數據
2. 將傳感器數據發布到JEDI One的MQTT客戶端
3. 顯示應用程序,將訂閱的傳感器數據打印到PyPortalTitano顯示器
1 - 在PyPortal Titano上設置CircuitPython。參見鏈接CircuitPython |Adafruit PyPortal Titano | Adafruit Learning System (注意:本項目使用CircuitPython 6.3.0)
2 -安裝應用程序所需的庫,詳情請參考 這里。
總結
machinechat的JEDI One數據管理軟件和樹莓派的結合,形成了一個獨立的、低成本的、易于使用的物聯網MQTTbroker 服務器平臺。該平臺可以很容易地將客戶端設備進行配置,將數據訂閱或發布到MQTT代理服務器的主題上,無需第三方云服務或互聯網連接。通過這個平臺,設備之間可以輕松互相通信和共享數據,從而實現智能化管理。
-
物聯網
+關注
關注
2913文章
44923瀏覽量
377018 -
服務器
+關注
關注
12文章
9303瀏覽量
86061 -
MQTT
+關注
關注
5文章
653瀏覽量
22692
原文標題:三劍客!玩轉MQTT broker服務器!
文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論