當(dāng)前位置:首頁 > 廠商動態(tài) > 米爾電子
[導(dǎo)讀]基于米爾-全志 T527設(shè)計一個簡易的物聯(lián)網(wǎng)網(wǎng)關(guān),該網(wǎng)關(guān)能夠管理多臺MQTT設(shè)備,通過MQTT協(xié)議對設(shè)備進(jìn)行讀寫操作,同時提供HTTP接口,允許用戶通過HTTP協(xié)議與網(wǎng)關(guān)進(jìn)行交互,并對設(shè)備進(jìn)行讀寫操作。

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

本文將介紹基于米爾電子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è)備進(jìn)行讀寫操作,同時提供HTTP接口,允許用戶通過HTTP協(xié)議與網(wǎng)關(guān)進(jìn)行交互,并對設(shè)備進(jìn)行讀寫操作。

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

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

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

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

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

三、組件設(shè)計

MQTT組件:

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

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

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

設(shè)備管理組件:

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

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

HTTP組件:

基于FastAPI定義HTTP接口。

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

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

四、接口設(shè)計

設(shè)備列表:

GET /devices:返回所有設(shè)備的列表。

POST /devices:添加新設(shè)備到網(wǎng)關(guān)。

DELETE /devices/{device_id}:從網(wǎng)關(guān)中刪除指定設(shè)備。

設(shè)備詳情:

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

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

GET /devices/{device_id}/data:獲取指定設(shè)備的最新數(shù)據(jù)。

POST /devices/{device_id}/data:發(fā)送數(shù)據(jù)到指定設(shè)備。

設(shè)備控制:

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

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

設(shè)備信息:

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

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

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

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

設(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)用戶認(rèn)證和授權(quán)機(jī)制,確保只有授權(quán)用戶可以訪問和操作設(shè)備。

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

七、部署與擴(kuò)展

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

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

八、實現(xiàn)步驟

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

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

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

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

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

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

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

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

fastapi==0.108.0

paho-mqtt==1.6.1


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

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

運行網(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ù)進(jìn)行回傳

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

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

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

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

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

多媒體功能強(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è)級-40℃~+85℃;

超緊湊LGA 381pin封裝。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉