本文將介紹基于米爾電子MYD-LT536開發板(米爾基于全志T536開發板)的多協議物聯網關方案的開發測試。摘自優秀創作者-ALSET

米爾基于全志T536開發板
為了充分的應用該開發板,結合T536處理器的特點,這里進一步的進行軟件開發,充分利用開發板的硬件資源,完成業務產品的需求。這里以物聯網多協議網關應用為研究為目的,首先建立基礎的從各個硬件設讀取硬件端口的數據,并且通過SOCKET由網絡收發的過程。在一般開發物聯網網關時可以采用MQTT,MODBUS等協議庫,作為標準的通訊,來解決硬件型號采集和對TCP/IP網絡發送的過程。但有些業務則需要專有的通信協議來進行通訊,比如TCP、IP或者UDP的方式進行網絡收發。

在米爾的官方資料中已經提供了全套的開發資料,可以參考開發板的資料,來搭建所需要的開發環境。開發資料中提供了系統固化鏡像、Bootloader源碼、內核驅動源碼,以及豐富的Demo程序,閱讀資料有助于快速的構建開發環境。這里將在此開發板上進行驗證和測試。

1.主機硬件端口讀取
米爾在T536開發板上支持了豐富的端口并且開發板上做了型號的隔離,非常適合工業物聯網型號采集和控制。首先查看一下開發板的端口硬件資源:

開發板的物聯網接口資源豐富,它引出2路RS485、1路RS232、2路CAN、3路Ethernet、5路USB、Local Bus等通信接口,同時引出LVDS,HP OUT/MIC IN等音視頻多媒體接口,內置2TOPS NPU、8M@30fps ISP,并支持4K@25fps H.264視頻編碼。
這里首先進行讀取RS232和485端口數據,這里設計可配置的數據參數讀物方式,端口配置保存在板子用戶目錄下。

2.端口配置文件
通過使用端口配置,可以方便的在實施時配置與業務對應的參數,符合應用場景。這樣不必修改程序即可投入使用,這里配置端口文件如下

3.進程間通訊程序RPC
為了使讀取的數據,能多重的使用,這里使用多線程的方式,其中一個線程負責讀取線程,并把讀取的數據壓入系統的隊列中。另外一個線程則可以檢查和處理數,比如對數據做異常值檢查,對數據做平滑,抽稀,均值等處理,通信線程則把需要的數據向另外的進程通過進程通訊的方式進行發送,RPC線程程序設計如下:

4.交叉編譯環境腳本編寫

編寫好編譯腳本,即完成整體工程的創建,并傳輸到編譯環境主機中進行編譯。把工程項目傳到主機交叉編譯環境中:

然后直接make 進行編譯:

很順利的編譯成功。
5. 開發http服務程序
在物聯網網關設備中,通常采用web的管理界面,用戶監控系統應用的工作狀態,以及進行的必要的配置和設置等工作。這里設計一個嵌入式的http服務程序,考慮服務程序和硬件緊密結合,這里不使用nginx等這樣的獨立的web服務程序,而是使用httpd開源的小型http服務工程,進行二次開發,好處是可以方便的加入對硬件的訪問以及特別的應用功能,不如獲取端口的數據,并做處理,通過web網關傳到頁面前端,通過動態html腳本,完成靈活的頁面和底層訪問的功能。這里使用httpd開源工程進行二次開發:
工程主代碼如下:

工程目錄如下:

其中需要創建幾個運行目錄,tmpl是前端頁面模板目錄,里面可以放入html模板,供http服務器程序渲染輸出最終的html頁面。
www目錄則放置靜態資源文件,如圖片,樣式表文件,js前端腳本文件等。
這幾個目錄也需要在開發板上創建。
對工程進行編譯,編譯如下:

可見成功的編譯出httpd板上執行程序。
6.設計并開發前端頁面
為了使這個物聯網網關根直觀可用,這里還需要設計一組前端頁面,方便觀察網關的運行裝填,以及對響應的配置文件等進行配置。因為前端頁面不是開發板主要的開發目標,這里我們使用AI輔助設計前端頁面,順便也看一下AI前端頁面設計的能力。這里使用字節跳動的coze spzce智能體來設計物聯網網關的前端頁面,首先打開扣子空間頁面:

在提示詞中詳細描述我們的頁面設計內容,提示詞內容如下:

再點擊生成,經過大約5分鐘的時間,生成了頁面代碼和樣式表文件以及相關js代碼,生成內容如下:

輸出的頁面內容如下:

7.手動調整修改HTML前端頁面
由智能體生成的頁面,通過檢查,發現頁面中有不少錯誤和缺失,首先對頁面進行人工檢查錯誤和修改,對頁面中的實例數據進行刪除,并修改為全局模板變量,對訪問的靜態資源文件位置進行修改,對訪問數據的XRH方式進行jquery方式進行修改。

8.服務程序和前端頁面模板部署
把端口數據服務程序以及WEB后臺服務程序httpd都傳輸到開發板上,并且把頁面模板也傳輸到開發板httpd的同級目錄下:

前端頁面的部署:

9.服務啟動運行
部署好服務程序后,即可開始啟動相關服務程序,首先啟動
multi-serial-monitor

打開瀏覽器,輸入開發板的IP,訪問WEB頁面,顯示出來:

總結
通過初步的通訊多端口數據的采集與收發,和使用多線程的的工作方式,以及多進程的任務服務方式,實現了T536數據采集與收發的程序測試。并且開發了嵌入式的http服務,提供一個簡單明了的客戶端管理界面,整個開發過程整體非常順暢。很容易建立好開發板的使用環境。同時通過開發板的多協議網關程序,也可以進一步將該數據網關用戶智能生產控制領域,如智慧樓宇,智慧工廠等。通過開板的完備的功能以及各個子系統的緊湊聯系,使得面向物聯數據開發過程游刃有余,對進一步開發復雜的業務邏輯和定制化業務流程也很有幫助。
-
網關
+關注
關注
9文章
5435瀏覽量
52601 -
開發板
+關注
關注
25文章
5582瀏覽量
103031 -
全志
+關注
關注
24文章
282瀏覽量
53763 -
米爾電子
+關注
關注
0文章
143瀏覽量
737
發布評論請先 登錄
評論