?

基于鴻蒙系統和OTA技術的農業大棚測控系統

2024-01-09 03:14羅玉海王椿曦熊正燁
現代農業裝備 2023年6期
關鍵詞:固件服務端大棚

羅玉海,王椿曦,熊正燁

(廣東海洋大學電子與信息工程學院,廣東 湛江 524088)

0 引言

農作物生長需要適宜的環境,而且不同作物適宜的生長條件會有所不同[1],在農業溫室中部署物聯網設備對環境參數進行實時監控是解決問題的一個重要途徑[2]。有學者從系統的實時性、靈活性、智能化、成本等方面對溫室環境監測系統進行了研究[3-5],這些研究在一定程度上促進了智慧溫室大棚技術的發展,但未涉及測控終端固件或軟件的OTA 遠程升級。農業物聯網方案部署時,物聯網設備需要運行自定義的系統軟件,實現數據的收集或執行操作。然而,隨著需求的變更,該系統軟件可能還需要更新和改進,包括軟件缺陷修復、新功能添加以及系統安全增強等[6-7]。OTA 固件更新功能可為物聯網設備提供多種便捷,如可遠程修補系統缺陷或安全漏洞,無需技術服務人員或用戶親臨設備現場執行更新,從而降低設備維護成本等。

本研究基于鴻蒙系統,設計一種支持OTA固件升級的農業大棚測控系統,實現終端設備的遠程監測和控制,提供支持OTA 固件升級的網絡方法,使系統可通過網絡遠程更新終端系統固件。

1 系統總體結構設計

基于鴻蒙系統的農業大棚測控系統使用MQTT作為傳輸協議,系統邏輯分為3 層,自下而上分別為感知層、網絡層和應用層。感知層負責采集大棚環境參數,如測量空氣溫濕度、光照強度、二氧化碳濃度等環境信息數據,然后通過網絡層WiFi 無線網絡傳輸到應用層MQTT 服務器,再由MQTT 服務器轉發信息給Web 設備管理系統。Web 設備管理系統提供Web 服務,用戶可以通過瀏覽器與農業大棚內的終端設備進行交互。系統層次結構如圖1 所示。

圖1 系統層次結構

2 系統硬件設計

2.1 硬件結構

系統以Hi3861 作為主控制器,連接相關外圍功能模塊。主要模塊包括空氣溫濕度測量模塊、光強度測量模塊、二氧化碳測量模塊、OLED 顯示模塊、LED 燈和直流電機等。系統硬件結構如圖2所示。

圖2 系統硬件結構

由于用戶無需與采集終端設備的程序界面直接進行交互,終端設備的程序界面僅用于顯示采集的數據信息,因此,可采用OLED 顯示器作為系統的顯示單元。在本設計中,通過遠程控制設備的通用輸入輸出端口(General-purpose input/output,簡稱GPIO)輸出高低電平對LED 燈進行亮/滅控制,遠程控制設備脈寬調制輸出來控制風扇電機轉動。在實際應用中,可將設備與繼電器連接,通過遠程控制設備的輸出控制繼電器,進而控制農業大棚的燈光設施、通風設施等。

2.2 主控板

本設計采用的主控板為基于海思Hi3861 芯片的WLAN 模組的核心板,Hi3861 芯片內置SPI、UART、I2C、GPIO、PWM 和ADC 等多種外設接口[8],同時內置SRAM 和Flash,可獨立運行,并支持在Flash 上運行程序。由于Hi3861 芯片同時支持WiFi 功能和常用的外設接口,使用該芯片可低成本,簡單、快速地實現網絡連接和設備控制功能,因此特別適用于智慧農業等物聯網智能終端領域。Hi3861 主控板如圖3 所示。

圖3 Hi3861 主控板

2.3 采集單元

感知能力是測控系統最為基本的能力。通過部署各類傳感器作為系統的采集單元,感知大棚環境的各種參數,實現對大棚環境的監測。本設計采用如下傳感器模塊:

1)DHT20 溫濕度傳感器模塊,其工作電壓為2.2~5.5 V,溫度測量范圍為-40~80 ℃,濕度測量范圍為0~100 %RH,該模塊具有低功耗、穩定性高、響應迅速、抗干擾能力強等特點,通過IIC 與主控制器連接,實現空氣溫濕度的采集。

2)BH1750FVI 光強度傳感器模塊,其工作電壓為3~5 V,光強度測量范圍為1~65 535 lx,該模塊可測量較大范圍的光強度變化,非常適合應用于農業大棚每日光照變化幅度較大的場景;支持IIC 接口,能直接輸出相對應的光照強度的數值,可滿足農業大棚測控系統的開發需求。

3)SGP30 氣體傳感器模塊,該模塊支持IIC 接口,主要用于對空氣質量進行檢測,可測量甲醛和二氧化碳濃度。

3 軟件系統設計

3.1 設備端程序設計

該研究采用Hi3861 硬件搭載基于OpenHarmony 3.0 源碼的鴻蒙系統[9],在該系統中植入設備開發者自定義的程序。設備上電后,先進行鴻蒙系統的初始化,然后進入自定義的程序,包括主程序和傳感器采集子程序。主程序用于建立網絡連接,上報傳感器測量數據和處理遠程控制命令;傳感器采集子程序用于讀取和更新傳感器數據。主程序流程如圖4所示。

圖4 主程序流程

初始化WiFi 并建立網絡連接后初始化MQTT 客戶端,設置消息回調函數地址,根據MQTT 服務器的IP 地址及端口號與之建立連接,訂閱指定主題的MQTT 消息;之后定期更新傳感器數據并判斷是否需要上傳,若需要上傳則以JSON(JavaScript Object Notation,JavaScript 對象表示法)格式封裝傳感器數據并通過MQTT 上報信息;若接收到來自MQTT 服務器的消息,系統會執行消息回調函數。在處理MQTT消息時,先解析消息的內容得到遠程指令類型,然后根據指令類型執行相關的操作。若指令類型為設備控制指令,則進一步解析設備控制的指令參數,根據參數控制LED 或電機的狀態。若指令類型為OTA升級指令,則進一步解析指令參數得到OTA 服務端的IP 地址和端口號,然后根據IP 地址和端口號連接OTA 服務端,請求并下載升級文件并對其進行簽名驗證,驗證通過后調用Hi3861 系統的升級接口進行升級。

傳感器采集子程序流程如圖5 所示。首先對各傳感器模塊及OLED 顯示模塊進行初始化,然后定期讀取各傳感器數據并更新OLED 的顯示內容。

圖5 傳感器采集子程序流程

3.2 OTA文件簽名及驗簽方案設計

為確保OTA 文件的合法性,本設計自定義一種基于RSA 算法[10-11]的文件簽名及驗簽方法,對OTA文件進行簽名及驗證,以保證OTA 文件數據的完整性和安全性。該文件簽名及驗簽方法具有普適性,可用于其它文件的簽名。

自定義的文件簽名格式為:

1)簽名文件=原始文件+簽名信息;

2)簽名信息=簽名頭信息(44 字節)+簽名數據(256 字節);

3)簽名頭信息=魔術字(4 字節)+密鑰指紋(16 字節)+簽名時間(7 字節)+預留(17 字節)。

其中,魔術字定義為0x3C4D5E6F 作為簽名標志,可用于快速判斷文件是否含有簽名;密鑰指紋為基于公鑰數據的MD5[12]值;簽名時間為該文件的簽名時間;預留字段為以后擴展備用。

文件的簽名原理:對原始文件進行SHA-256 運算得到哈希值;使用PKCS#1(v1.5)標準[13]將哈希值填充為256 字節的數據塊;使用RSA 私鑰對填充后的數據塊進行RSA 加密運算,得到256 字節的簽名數據;按自定義的簽名格式生成簽名信息,并將簽名信息追加到原始文件的尾部,得到最后的簽名文件。OTA 文件的簽名流程如圖6 所示。

圖6 OTA 文件的簽名流程

文件的驗簽原理:從文件尾部讀取簽名信息,判斷是否有簽名標志,若無簽名標志則驗簽失敗,若有簽名標志則繼續驗簽流程;取出256 字節的密文簽名數據,并使用RSA 公鑰進行RSA 解密運算,若解密失敗則驗簽失敗,若解密成功則繼續驗簽流程;從解密后的明文數據中取出32 字節的哈希值HASH1;使用與簽名流程相同的方法對除去簽名信息的文件內容進行SHA-256 運算得到哈希值HASH2;對比HASH1 與HASH2,若不同則驗簽失敗,若相同則驗簽成功。OTA 文件的驗簽流程如圖7 所示。

圖7 OTA 文件的驗簽流程

3.3 OTA固件升級功能的實現方法

該研究設計的OTA 固件升級功能由設備端與OTA 服務端協同完成,其中OTA 服務端程序內嵌于基于Django[14]開發的Web 設備管理系統,用戶可通過瀏覽器登錄該系統,查看大棚氣象環境數據,可對大棚設施進行相應的控制,也可對終端設備進行OTA 固件升級。采用客戶端/服務器(C/S)架構,設備端作為客戶端,OTA 服務端作為服務器端,通過socket 實現2 個進程間的通信,從而實現信息傳遞與數據交互。OTA 固件升級流程如圖8 所示。用戶通過Web 瀏覽器進入Web 設備管理系統的OTA升級頁面,輸入OTA 服務器端的IP 地址和端口號,然后選擇要升級的OTA 文件版本,再通過HTTP 發起升級請求。Web 設備管理系統解析HTTP 請求的參數,然后以JSON 數據格式封裝升級參數,再通過MQTT 向設備發送OTA 升級請求。設備端接收到升級請求后解析消息得到OTA 服務端的IP 地址和端口號,并與OTA 服務端建立socket 連接,然后向OTA 服務端請求下載升級文件。OTA 服務端接收到socket 請求后,根據請求參數選擇相應版本的OTA文件,然后讀取OTA 文件數據并發送給設備端。設備端下載升級文件完成后對文件進行簽名驗證,驗證通過后調用系統的升級接口進行升級,最后重啟設備完成升級。

圖8 OTA 固件升級流程

4 系統測試

4.1 數據監測測試

基于MQTT 協議的開源消息代理Mosquitto[15]搭建MQTT 服務器對系統進行測試。通過瀏覽器登錄Web 設備管理系統,進入系統首頁,首頁的內容主要分為2 部分,一部分為用圖表顯示濕度和溫度的實時數據(橫軸為時間,縱軸為溫濕度),另一部分為用文本顯示設備固件版本號和環境數據(包括溫度、濕度、光照強度、二氧化碳濃度)。為驗證數據監測的有效性,對設備進行了對比試驗。將設備置于光線偏暗的環境下,在設備傳感器附近放置蠟燭,如圖9 所示。對比點燃蠟燭前后的Web 頁面數據,從圖10 和圖11 可看出,當點燃蠟燭時,環境數據出現明顯的變化,具體表現為溫度升高,濕度降低,光照變強,二氧化碳濃度變高。這些環境數據的變化符合預期,說明數據的監測實時有效。

圖9 系統實物測試環境

圖10 點燃蠟燭前的Web 頁面數據

圖11 點燃蠟燭后的Web 頁面數據

4.2 設備控制

Web 設備管理系統的設備管理頁面分為“設備控制”和“OTA 升級”2 部分,如圖12 所示。通過“設備控制”一欄中的“LED 開關”和“風扇開關”可遠程控制終端設備的LED 和電機。通過“OTA 升級”一欄,可對終端設置進行OTA 固件升級。在界面中分別輸入OTA 服務器端的IP 地址和端口號,然后選擇要升級的OTA文件版本,最后點擊“升級”按鈕下發升級指令。升級完成后,返回系統首頁可以查看到設備升級后的固件版本號和預期一致,OTA固件升級功能正常。

圖12 設備管理頁面

5 結語

基于鴻蒙系統和OTA 技術研究的農業大棚測控系統可以實現對農業大棚的遠程監測和調控,并能夠對農業大棚的終端設備進行OTA 固件升級,在一定程度上提升了系統維護的靈活性、降低了物聯網設備的維護成本,提高了農業大棚的智能化程度。經過測試驗證,該系統能夠有效地完成對農業大棚空氣溫度、空氣濕度、光照強度、二氧化碳濃度等大棚環境數據的實時監測,用戶可以通過Web 設備管理系統觀察大棚環境數據并對大棚設施進行相應的控制。該研究選用的是國產自主研發的鴻蒙操作系統,在當今我國面臨很多技術被“卡脖子”的情況下,對基于國產操作系統的應用研究及推廣有一定的意義。

猜你喜歡
固件服務端大棚
大棚妹子
大棚換茬季 肥料怎么選
謹防大棚房死灰復燃
原地翻建大棚 注意啥
云存儲中基于相似性的客戶-服務端雙端數據去重方法
新時期《移動Web服務端開發》課程教學改革的研究
在Windows Server 2008上創建應用
基于固件的遠程身份認證
提取ROM固件中的APP
一種通過USB接口的可靠固件升級技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合