本文將介紹基于米爾電子MYD-LT536開發(fā)板(米爾基于全志T536開發(fā)板)的多協(xié)議物聯(lián)網關方案的開發(fā)測試。摘自優(yōu)秀創(chuàng)作者-ALSET

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

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

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

開發(fā)板的物聯(lián)網接口資源豐富,它引出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.端口配置文件
通過使用端口配置,可以方便的在實施時配置與業(yè)務對應的參數,符合應用場景。這樣不必修改程序即可投入使用,這里配置端口文件如下

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

4.交叉編譯環(huán)境腳本編寫

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

然后直接make 進行編譯:

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

工程目錄如下:

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

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

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

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

輸出的頁面內容如下:

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

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

前端頁面的部署:

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

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

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