加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

通過物聯(lián)網(wǎng)管理多臺MQTT設(shè)備-基于米爾T527開發(fā)板

05/10 07:07
1217
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

本文將介紹基于米爾電子MYD-LT527開發(fā)板的網(wǎng)關(guān)方案測試。

一、系統(tǒng)概述

基于米爾-全志 T527設(shè)計一個簡易的物聯(lián)網(wǎng)網(wǎng)關(guān),該網(wǎng)關(guān)能夠管理多臺MQTT設(shè)備,通過MQTT協(xié)議對設(shè)備進行讀寫操作,同時提供HTTP接口,允許用戶通過HTTP協(xié)議與網(wǎng)關(guān)進行交互,并對設(shè)備進行讀寫操作。

二、系統(tǒng)架構(gòu)

1.網(wǎng)關(guān)服務(wù):基于FastAPI框架構(gòu)建的Web服務(wù),提供HTTP接口。

2.MQTT客戶端:負責(zé)與MQTT設(shè)備通信,管理設(shè)備連接、消息發(fā)布和訂閱。

3.設(shè)備管理:維護一個設(shè)備列表,記錄設(shè)備的基本信息和狀態(tài)。

4.數(shù)據(jù)存儲:使用內(nèi)存或數(shù)據(jù)庫存儲設(shè)備數(shù)據(jù),確保數(shù)據(jù)持久化。

三、組件設(shè)計

1.MQTT組件:

  • 負責(zé)與MQTT broker建立連接。
  • 訂閱設(shè)備主題,接收設(shè)備發(fā)送的消息。
  • 發(fā)布消息到設(shè)備,實現(xiàn)遠程控制。

2.設(shè)備管理組件:

  • 維護一個設(shè)備列表,記錄設(shè)備的唯一標(biāo)識符(如設(shè)備ID)、MQTT主題、連接狀態(tài)等信息。
  • 提供設(shè)備增刪改查的方法。

3.HTTP組件:

  • 基于FastAPI定義HTTP接口。
  • 接收用戶請求,調(diào)用MQTT組件和設(shè)備管理組件進行相應(yīng)操作。
  • 返回操作結(jié)果給用戶。

四、接口設(shè)計

1.設(shè)備列表:

  • GET /devices:返回所有設(shè)備的列表。
  • POST /devices:添加新設(shè)備到網(wǎng)關(guān)。
  • DELETE /devices/{device_id}:從網(wǎng)關(guān)中刪除指定設(shè)備。

2.設(shè)備詳情:

  • GET /devices/{device_id}:返回指定設(shè)備的詳細信息。

3.設(shè)備數(shù)據(jù):

  • GET /devices/{device_id}/data:獲取指定設(shè)備的最新數(shù)據(jù)。
  • POST /devices/{device_id}/data:發(fā)送數(shù)據(jù)到指定設(shè)備。

4.設(shè)備控制:

  • POST /devices/{device_id}/control:發(fā)送控制命令到指定設(shè)備。

五、數(shù)據(jù)結(jié)構(gòu)設(shè)計

1.設(shè)備信息:

  • 設(shè)備ID (device_id):唯一標(biāo)識設(shè)備的字符串。
  • MQTT主題 (mqtt_topic):設(shè)備在MQTT broker上的主題。
  • 連接狀態(tài) (connection_status):表示設(shè)備是否在線的布爾值。
  • 其他設(shè)備屬性(如名稱、描述等)。

2.設(shè)備數(shù)據(jù):

  • 設(shè)備ID (device_id):關(guān)聯(lián)設(shè)備信息的設(shè)備ID。
  • 時間戳 (timestamp):數(shù)據(jù)發(fā)送或接收的時間。
  • 數(shù)據(jù)內(nèi)容 (data):設(shè)備發(fā)送或接收的具體數(shù)據(jù),可以是JSON格式或其他格式。

六、安全性考慮

  • 使用HTTPS協(xié)議提供安全的HTTP通信。
  • 實現(xiàn)用戶認證和授權(quán)機制,確保只有授權(quán)用戶可以訪問和操作設(shè)備。
  • 對于敏感操作(如刪除設(shè)備),要求用戶進行二次確認或提供額外的安全措施。

七、部署與擴展

  • 使用Docker容器化部署網(wǎng)關(guān)服務(wù),便于管理和擴展。
  • 根據(jù)需要,可以水平擴展網(wǎng)關(guān)實例以處理更多的設(shè)備連接和請求。

八、實現(xiàn)步驟

1.安裝所需的Python庫:fastapi, uvicorn, paho-mqtt等。

2.創(chuàng)建FastAPI應(yīng)用并定義路由。

3.實現(xiàn)MQTT組件,包括與MQTT broker的連接、訂閱、發(fā)布等功能。

4.實現(xiàn)設(shè)備管理組件,維護設(shè)備列表并提供增刪改查的方法。

5.實現(xiàn)HTTP組件,調(diào)用MQTT組件和設(shè)備管理組件處理用戶請求。

6.編寫測試代碼,驗證網(wǎng)關(guān)的各項功能是否正常工作。

7.部署網(wǎng)關(guān)服務(wù)并監(jiān)控其運行狀態(tài)。

該設(shè)計方案僅僅是概述,具體實現(xiàn)細節(jié)可能需要根據(jù)實際需求和項目環(huán)境進行調(diào)整和優(yōu)化。在實際開發(fā)中,還需要考慮異常處理、日志記錄、性能優(yōu)化等方面的問題。基于上述設(shè)計方案,以下是一個簡化版的參考代碼,展示了如何使用FastAPI和paho-mqtt庫來創(chuàng)建一個物聯(lián)網(wǎng)網(wǎng)關(guān)。需要注意,示例中不包含完整的錯誤處理、用戶認證和授權(quán)機制,這些在實際生產(chǎn)環(huán)境中都是必不可少的。依賴的主要庫版本:

fastapi==0.108.0
paho-mqtt==1.6.1

網(wǎng)關(guān)模擬代碼gateway.py:

具體代碼可參見米爾公眾號:

https://mp.weixin.qq.com/s/oV3E-Jw-ZHZNKcuVHpThPw

運行網(wǎng)關(guān)代碼,打開網(wǎng)頁得到api接口:

通過api分別添加設(shè)備1和設(shè)備2,

在另外兩個控制臺中分別運行模擬設(shè)備1和模擬設(shè)備2的代碼通過網(wǎng)頁API向設(shè)備1發(fā)送數(shù)據(jù)

通過網(wǎng)頁API獲得設(shè)備回復(fù)的數(shù)據(jù),設(shè)備代碼中只是簡單的把網(wǎng)關(guān)發(fā)過來的數(shù)據(jù)進行回傳

我們在網(wǎng)關(guān)的后臺可以看到完整的數(shù)據(jù)流

至此一個簡易的網(wǎng)關(guān)已經(jīng)實現(xiàn)了,接下來將會嘗試實現(xiàn)樓宇里的最常見的bacnet設(shè)備進行通訊管理。

米粉派T527的7折活動還在進行中,搶購鏈接:https://detail.tmall.com/item.htm?id=758523182967

MYC-LT527核心板及開發(fā)板

米爾首發(fā)全志T527,八核A55賦能邊緣計算

全志T527處理器,八核A55,高效賦能邊緣計算;

多媒體功能強大:具備G57 GPU、4K編解碼VPU、HiFi4 DSP,支持4~6路Camera;

支持多種顯示接口:HDMI、DP、LVDS、MIPI-DSI和RGB并口,支持4K+1080P雙異顯;

豐富的通訊接口:2*GE、2*CAN、PCIE/USB3.0、2*USB2.0、10*UART、30*PWM、4*SPI、9*I2C等;

T527是真工業(yè)級-40℃~+85℃;

超緊湊LGA 381pin封裝。

本篇測評由優(yōu)秀測評者“JerryZhen”提供。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
PLED6UQ12 1 Littelfuse Inc Silicon Surge Protector,
$0.36 查看
PMR209ME6470M220R30 1 KEMET Corporation RC Network, Isolated, 220ohm, 630V, 0.47uF, Through Hole Mount, 2 Pins, RADIAL LEADED, ROHS COMPLIANT
$4.04 查看
501645-1620 1 Molex DIP Connector, 16 Contact(s), 2 Row(s), Male, Straight, 0.079 inch Pitch, Solder Terminal, Locking, Plug, ROHS COMPLIANT

ECAD模型

下載ECAD模型
$1.16 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜