<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通過(guò)物聯(lián)網(wǎng)管理多臺(tái)MQTT設(shè)備-基于米爾T527開(kāi)發(fā)板

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

          作者: 時(shí)間:2024-05-10 來(lái)源:EEPW 收藏

          本篇測(cè)評(píng)由優(yōu)秀測(cè)評(píng)者“JerryZhen”提供。

          本文引用地址:http://www.ex-cimer.com/article/202405/458581.htm

          本文將介紹基于電子MYD-L開(kāi)發(fā)板的網(wǎng)關(guān)方案測(cè)試。

          一、系統(tǒng)概述

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

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

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

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

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

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

          三、組件設(shè)計(jì)

          1.MQTT組件:

          ●   負(fù)責(zé)與MQTT broker建立連接。

          ●   訂閱設(shè)備主題,接收設(shè)備發(fā)送的消息。

          ●   發(fā)布消息到設(shè)備,實(shí)現(xiàn)遠(yuǎn)程控制。

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

          ●   維護(hù)一個(gè)設(shè)備列表,記錄設(shè)備的唯一標(biāo)識(shí)符(如設(shè)備ID)、MQTT主題、連接狀態(tài)等信息。

          ●   提供設(shè)備增刪改查的方法。

          3.HTTP組件:

          ●   基于FastAPI定義HTTP接口。

          ●   接收用戶請(qǐng)求,調(diào)用MQTT組件和設(shè)備管理組件進(jìn)行相應(yīng)操作。

          ●   返回操作結(jié)果給用戶。

          四、接口設(shè)計(jì)

          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è)備的詳細(xì)信息。

          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è)計(jì)

          1.設(shè)備信息:

          ●   設(shè)備ID (device_id):唯一標(biāo)識(shí)設(shè)備的字符串。

          ●   MQTT主題 (mqtt_topic):設(shè)備在MQTT broker上的主題。

          ●   連接狀態(tài) (connection_status):表示設(shè)備是否在線的布爾值。

          ●   其他設(shè)備屬性(如名稱(chēng)、描述等)。

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

          ●   設(shè)備ID (device_id):關(guān)聯(lián)設(shè)備信息的設(shè)備ID。

          ●   時(shí)間戳 (timestamp):數(shù)據(jù)發(fā)送或接收的時(shí)間。

          ●   數(shù)據(jù)內(nèi)容 (data):設(shè)備發(fā)送或接收的具體數(shù)據(jù),可以是JSON格式或其他格式。

          六、安全性考慮

          ●   使用HTTPS協(xié)議提供安全的HTTP通信。

          ●   實(shí)現(xiàn)用戶認(rèn)證和授權(quán)機(jī)制,確保只有授權(quán)用戶可以訪問(wèn)和操作設(shè)備。

          ●   對(duì)于敏感操作(如刪除設(shè)備),要求用戶進(jìn)行二次確認(rèn)或提供額外的安全措施。

          七、部署與擴(kuò)展

          ●   使用Docker容器化部署網(wǎng)關(guān)服務(wù),便于管理和擴(kuò)展。

          ●   根據(jù)需要,可以水平擴(kuò)展網(wǎng)關(guān)實(shí)例以處理更多的設(shè)備連接和請(qǐng)求。

          八、實(shí)現(xiàn)步驟

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

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

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

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

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

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

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

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

          fastapi==0.108.0

          paho-mqtt==1.6.1

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

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

          1715351976271452.png

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

          1715351994982340.png

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

          1715352012203924.png

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

          1715352035829815.png

          我們?cè)诰W(wǎng)關(guān)的后臺(tái)可以看到完整的數(shù)據(jù)流

          1715352057410384.png

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

          1715352077276570.png

          MYC-L核心板及開(kāi)發(fā)板

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

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

          多媒體功能強(qiáng)大:具備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è)級(jí)-40℃~+85℃;

          超緊湊LGA 381pin封裝。

          1715352105651466.png



          關(guān)鍵詞: MQTT設(shè)備 米爾 T527

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();