新聞中心

EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設計應用 > 三劍客!玩轉MQTT broker服務器!

三劍客!玩轉MQTT broker服務器!

作者: 時間:2024-08-08 來源:Digikey 收藏

問: 用樹莓派、PyPortal Titano和machinechat JEDI One設置和測試 broker服務器

本文引用地址:http://m.butianyuan.cn/article/202408/461791.htm

項目概述:

本項目使用machinechat的 JEDI One 物聯(lián)網(wǎng)數(shù)據(jù)管理軟件在樹莓派4上設置了一個物聯(lián)網(wǎng) broker 服務器。

JEDI One包括一個數(shù)據(jù)收集器,可以將其配置為 broker 服務器,外部客戶機設備可以向其發(fā)布和(或)訂閱JEDI One上的主題。為了測試MQTT broker 服務器,將Adafruit PyPortal Titano設置為客戶端設備,該設備通過WiFi訂閱和發(fā)布樹莓派上的MQTT broker 服務器。

Raspberry Pi 4 Model B

ADAFRUIT PYPORTAL TITANO - - Arduino IDE,電路Python入門套件

項目背景

MQTT(消息隊列遙測傳輸) 是一個開放的OASIS和ISO標準,它定義了輕量級發(fā)布-訂閱網(wǎng)絡協(xié)議,用于在設備之間傳輸消息。主要包括兩種類型的網(wǎng)絡實體: 一個消息代理 和 一些客戶端 。machinechat的JEDI One物聯(lián)網(wǎng)平臺包括一個數(shù)據(jù)收集器,可以配置為MQTT消息代理。外部客戶機設備可以配置為在JEDI One上發(fā)布數(shù)據(jù)或訂閱主題(包括從任何來源進入JEDI One的所有數(shù)據(jù),而不僅僅是MQTT)。JEDI One要求發(fā)布消息采用JSON有效負載格式,并以JSON有效負載格式提供訂閱消息。

所需軟件

  • JEDI One:是一款即用型物聯(lián)網(wǎng)數(shù)據(jù)管理軟件解決方案。功能包括:收集來自傳感器、設備和機器的數(shù)據(jù);構建直觀的實時和歷史數(shù)據(jù)以及系統(tǒng)視圖儀表板;創(chuàng)建規(guī)則,自動監(jiān)控和響應數(shù)據(jù)情況;通過電子郵件和短信接收警報通知。

  • CircuitPython :是Adafruit的MicroPython分支,旨在簡化低成本微控制器的實驗和教育。不需要編譯器、鏈接器或IDE。

實現(xiàn)

在這個項目中,JEDI One應用程序已經(jīng)預先安裝在樹莓派上,并且已經(jīng)通過HTTP數(shù)據(jù)收集器接收了來自外部傳感器的數(shù)據(jù)。接著設置了JEDI OneMQTT數(shù)據(jù)收集器。為了對系統(tǒng)進行了測試,PyPortal Titano被配置為訂閱和發(fā)布MQTT broker服務器上的主題,而CircuitPython則用于在PyPortal上實現(xiàn)應用程序代碼。

JEDI One MQTT broker 服務器設置步驟:

1 - 如果machinechat JEDI One尚未安裝在樹莓派上,請參見以下內容:

  • 獲得樹莓派版本的JEDI One DK-JEDIONE-RP

  • 安裝在樹莓派上, 參見 樹莓派-安裝JEDI One服務

2 - 配置MQTT broker 服務器在JEDI One“數(shù)據(jù)收集器”選項卡中,選擇“添加收集器”并進行配置。命名“數(shù)據(jù)收集器”,并為“收集器類型”選擇“MQTT Broker”。MQTT采集器設置截圖中的“監(jiān)聽IP”是JEDI One樹莓派的IP地址,“監(jiān)聽端口”是1883。(注:以下是未加密配置的示例,但可以按照machinechat產(chǎn)品指南- 如何生成TLS證書和密鑰 中所示的方式配置TLS加密)設置PyPortal CircuitPython MQTT客戶端測試應用程序

 Pyportal測試應用程序有三部分:

1. MQTT客戶端,訂閱正在JEDI One上收集的現(xiàn)有傳感器數(shù)據(jù)2. 將傳感器數(shù)據(jù)發(fā)布到JEDI One的MQTT客戶端3. 顯示應用程序,將訂閱的傳感器數(shù)據(jù)打印到PyPortal Titano顯示器1 - 在PyPortal Titano上設置CircuitPython。 參見鏈接 CircuitPython |Adafruit PyPortal Titano | Adafruit Learning System(注意:本項目使用CircuitPython 6.3.0)

2 - 安裝應用程序所需的庫, 詳情請參考 這里 。

 總結

machinechat的JEDI One數(shù)據(jù)管理軟件和樹莓派的結合,形成了一個獨立的、低成本的、易于使用的物聯(lián)網(wǎng)MQTT broker 服務器平臺。該平臺可以很容易地將客戶端設備進行配置,將數(shù)據(jù)訂閱或發(fā)布到MQTT代理服務器的主題上,無需第三方云服務或互聯(lián)網(wǎng)連接。通過這個平臺,設備之間可以輕松互相通信和共享數(shù)據(jù),從而實現(xiàn)智能化管理。



關鍵詞: Digikey MQTT

評論


相關推薦

技術專區(qū)

關閉