999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于樹莓派的通用農業監控節點的設計與應用

2021-06-16 06:30:58楊斌
電子技術與軟件工程 2021年8期
關鍵詞:信息系統

楊斌

(廣東東軟學院計算機學院電子信息工程 廣東省佛山市 528225)

1 引言

我國是農業大國,隨著農業技術和信息技術的不斷進步,我國農業生產水平也在不斷取得突破性的發展。為了加強對農業生產的精準管理,必須構建融入網絡、嵌入式設備、移動終端等因素于一體的農業自動化監控系統。

農業自動化監控系統主要應用于農田灌溉、植物生態、水產養殖等對農業環境及農業生產狀況進行監測與控制[1-4]。一般的農業自動化監控系統主要由硬件系統和軟件系統兩部分構成,而硬件系統主要有無線或有線模塊、數據處理單元、數據存儲、傳感器控管矩陣和供電單元等,通過傳感器的節點來采集和傳輸農業監控數據。軟件系統主要是按照不同的農業生產環境和狀況設計不同的軟件應用系統,通過對接收到的數據信息進行分析處理,結合農業專家信息和計算機方法實現農業的智能化操作和管理[5]。在傳統的農業自動化監控系統中,存在著如下幾個問題:

(1)功能有限,主要是依賴于傳感器節點采集簡單的環境監控數據,如溫度、濕度、光照等。

(2)系統體系結構無法適應移動終端要求。

(3)系統一般都是定制的,當有設備不同時需要重新研發應用系統。

為了解決以上問題,本文提出一種基于樹莓派的通用農業息采集和在線監控系統的設計方案。數據采集部分的監測軟件位于樹莓派上,軟件配置存儲于外部的配置文件中,僅需要修改配置文件就可部署于不同的應用場景。在線監控部分部署在云服務器上,通過互聯網可以實時顯示監測數據、傳感器狀態信息等功能,并用流媒體服務器配合樹莓派推送的視頻流實現了視頻的實時監控功能。移動終端部分部署在手機上,與網站同步實現監控數據的查詢,控制參數的設置等。整個系統具有成本低、功能全、獲取數據及時準確、操作簡便、可移植性強、配置方便等優點。

2 系統的總體設計

基于樹莓派和云服務的通用農業在線監控系統分為三部分:

(1)傳感器節點數據采集部分;

(2)傳感器信息的存儲、轉發和顯示的應用網站部分;

(3)移動終端的應用軟件部分。

數據采集部分由部署在樹莓派系統上的若干個傳感器節點和視頻采集節點組成的監控節點構成。這些監控節點通過網絡連接云端服務,向其傳送傳感器實時監測數據和監控視頻流數據并從云端服務處獲取包括手動控制和自動控制策略在內的環境控制指令,以控制環境調節設備的運行。除此以外,監控節點也具有與用戶交互所需的屏幕,用戶可以通過與設備直接連接的本地屏幕查看實時環境數據和設置環境參數。

圖1:系統整體結構

圖2:監控節點架構圖

云端后臺服務功能模塊包括監控節點接口功能模塊、移動端應用軟件接口功能模塊和視頻監控功能模塊。在本系統中,云端后臺服務主要實現數據存儲和數據轉發的功能,配合網站前端和移動端軟件實現數據的展示。數據存儲接收來自監控節點的傳感器監測數據、系統錯誤信息等數據,并將這些數據存入云端數據庫。用戶可以通過云端網站或者利用移動端應用軟件查看監控節點上傳的傳感器監測數據、環境調控執行信息和系統錯誤信息等數據。遠程移動端軟件數據展示是通過云端網站的數據轉發實現的,這一部分同時接收來自移動端應用軟件的自動控制策略或手動控制指令并在監控節點軟件訪問查詢時返回,以實現管理人員通過移動端應用軟件控制監控節點環境調節設備的目的。

表1:配置文件參數表

表2:主線程信號與傳感器數據采集線程槽函數連接設計表

表3:傳感器數據采集線程信號與主線程槽函數連接設計表

云端后臺搭建了流媒體服務器,處理和分發監控視頻流信號。用戶移動端應用軟件或者網站可以接收來自云端服務部分分發的監控視頻流信號,實現對農田環境的視頻監控。系統各個部分關系如圖1 所示。

3 通用監控節點的設計

3.1 監控節點的硬件設計

監控節點主控板采用樹莓派,具有傳感器數據采集與展示、傳感器數據上傳、環境調控設備控制、警告與通知短信發送、監控視頻采集與發送等功能需求[6-8]。監控節點的架構設計如圖2 所示。

其中,傳感器用于采集監控環境的環境數據,環境調節設備用于調節監控環境中的各種設備,如應用與魚塘的水體環境調節設備包括增氧機、水泵、投餌機等。短信發送模塊用于從監控節點向管理人員發送環境調控通知、環境參數超限警告等需要及時通知管理人員的信息。可觸摸屏幕用于實時圖表顯示傳感器采集的環境數據,以及提供手動控制指令的人機交互接口,用于管理人員現場操作和控制環境調節設備。網絡連接設備用于監控節點的聯網,為監控節點與云端服務交互提供服務。主控板即為監控節點的核心,連接設備并對設備進行控制,協調各設備運行以滿足設計需求,實現應用環境監控的目的[9]。

3.2 監控節點的軟件設計

3.2.1 配置文件載入模塊

配置文件模塊控制系統硬件和軟件結合部分的初始化,初始化完成之后,監控節點才能開始工作。為了讓應用系統不用針對傳感器等硬件部件不同而修改軟件系統,將所有硬件的配置信息存儲于配置文件中,當更換不同硬件時只需自動載入配置文件。

監控節點使用基于Linux 的Raspbian 作為操作系統,使用C++ Qt 框架開發監控節點的軟件,當配置文件初始化以后,由傳感器數據與狀態信息采集模塊定期向傳感器發出查詢請求,傳感器返回的數據將按照對應的格式傳回并處理,處理完成的數據由數據上傳模塊加工為固定的格式后上傳到云端數據庫,用戶可對這些數據進行在線瀏覽或查詢等操作。攝像頭控制與視頻流推送模塊和視頻直播兩個模塊相互配合工作,在樹莓派上安裝攝像頭,并調用raspivid軟件和FFmpeg 軟件,將攝像頭捕獲的數據推送到云主機的流媒體服務器上,網站加入開源視頻播放器組件,實現在線實時播放遠程攝像頭捕獲的內容[6]。

本系統使用的配置信息包括:串口配置信息、監控環境配置信息和傳感器查詢配置信息,依次存儲到名為COM_Config,Local_Config 和Sensor_Config 的三個CSV 文件中。配置文件載入模塊規定了各項輸入數據的范圍,使用者只需填寫配置表,系統自動進行合法性檢查,檢查無誤后,讀入數據進行初始化。配置文件的結構、表頭、意義及合法賦值范圍如表1 所示。

配置文件載入模塊依次調用readCOMConfig()、readLocal Config()和readSensorConfig()函數,分別讀取串口配置信息、環境配置信息和傳感器配置信息。在讀取過程中按照各項的賦值范圍對配置文件進行合法性檢查,并將檢查的結果分別存入三個布爾型變量中,最后調用錯誤標志檢查函數checkError()進行錯誤類型判斷和提示信息輸出。當信息確認無誤之后,主線程將串口配置信息和傳感器查詢配置信息分別封裝為SerialPortConfig 對象和QVector容器對象,完成配置文件的載入,否則提示錯誤信息,用戶修改配置文件之后繼續上面的操作。

圖3:環境監控系統嵌入式端功能模塊

圖4:監控節點用戶交互界面示意圖

圖5:系統Web 端部分功能圖

圖6:移動終端部分功能圖

3.2.2 傳感器數據與狀態信息采集模塊

傳感數據采集需要定時、及時獲取監控數據并上傳,采用定時器循環觸發相應功能執行軟件部分與傳感器通信的任務,本系統采用信號與槽機制接收來自傳感器采集的監測數據,并顯示在主界面上。

定時器的觸發和調用對應函數依賴信號與槽機制,而線程中的信號與槽機制使用信號隊列實現,當具有多個定時器觸發的異步執行任務在同一線程中很容易產生混亂,因此引入多線程。該模塊有兩個線程,即主線程(主界面線程)和傳感器數據采集線程。其中主線程執行傳感器數據上傳任務,傳感器數據采集線程執行傳感器數據采集、解析和錯誤監測任務。主線程通過信號與槽機制控制傳感器數據采集線程的執行并與另一線程進行數據的交互,信號與槽的設計如表2 和表3 所示。

傳感器數據與狀態信息采集模塊運行于子線程中,載入配置文件后,通過發送sendSensorVector 和sendSerialPortConfig 信號將上述對象傳入傳感器數據采集與監測模塊所運行的子線程中,對串口進行初始化并開始循環請求查詢傳感器。在本模塊中,使用QTimer 定時器觸發請求查詢傳感器的信號,使用傳感器查詢串發送函數querySensor()作為槽接收信號,可以自動設置查詢觸發周期,定時向傳感器發送對應的查詢請求串。所有傳感器查詢請求串均存于QVector容器類型對象validSensorVector中,循環獲取容器對象中存儲的請求串信息即可實現傳感器輪詢功能。每次觸發querySensor()函數向傳感器發送查詢請求后,調用可設置時間的單次QTimer 定時器,定時器計時結束觸發執行函數readAndProcessDataFromSensor()進行傳感器數據回收與處理操作,將傳感器返回的數據從串口緩沖區中讀取并按照對應協議進行解析獲取環境監測數據。

與此同時,根據讀取的數據進行錯誤監測,當沒有讀取到任何數據時判定該傳感器處于離線狀態,當數據CRC 校驗出現錯誤時判定傳感器本次返回數據存在CRC 錯誤并舍棄本次數據,無論傳感器是否出現錯誤,readAndProcessDataFromSensor()函數都將向主線程發送SensorData 類型數據,傳遞本次傳感器狀態的查詢結果。

3.2.3 數據上傳模塊

數據采集部分通過載入配置文件獲取數據上傳周期和地址,并按照數據上傳周期初始化QTimer 定時器作為上傳數據的觸發信號源,按照指定時間間隔重復觸發執行槽函數postRealTimeData()執行數據上傳操作。

數據采用POST 方式上傳至云端數據庫,為了生成所需的不定長數據串,主線程維持一個用于存放所有傳感器最新數據的QVector類型容器對象sensorDataVectorForPost,每次執行數據上傳操作時遍歷此容器產生最新的傳感器數據串。執行上傳操作后,釋放本次TCP 網絡連接,此時按照云端網站反饋信息或者上傳操作錯誤信息更新主界面狀態欄,提示使用者本次數據上傳操作的結果。

3.2.4 視頻流推送模塊

對于視頻信號的收集,使用raspivid 軟件和FFmpeg 軟件協同捕獲編碼推送的方式進行視頻流的推送。嵌入式端軟件讀取配置文件,得到視頻傳輸相關的配置信息(編碼格式、分辨率、碼率、視頻服務器RTMP 地址),然后按照配置信息調用raspivid 和FFmpeg,raspivid 按照配置信息指定的分辨率、碼率和幀率從攝像頭獲取視頻流,再通過管道將視頻流實時傳送至FFmpeg 軟件,FFmpeg 將來自raspivid 的h264 原始視頻流封裝為flv 格式視頻流,再按照RTMP 地址進行推流,將視頻流推送到視頻服務器,完成視頻信號的實時發送[9-11]。

4 節點嵌入式端功能設計

根據不同監控環境的需求共性,通用監控節點軟件需求主要包括:傳感器數據的實時采集、處理、顯示、本地存儲和上傳;自動調控策略的下載,遠程手動控制指令的接收或本地手動指令的執行,監控環境視頻的采集與傳送以及警告與關鍵通知信息短信發送等[2-3,12-13]。模塊劃分如圖3 所示。

其中,監控節點接口功能模塊劃分為傳感器監測數據上傳、調控狀態上傳和調控策略(指令)下載等三個子功能模塊,用于實現接收來自監控節點上傳的傳感器實時監測數據、實時調控數據并存儲的功能,以及實現向監控節點返回控制策略(或指令)的目的。

監控節點與云端服務通過postSensorData 和getControlStrategy兩個自定義接口進行。其中,postSensorData 用于接收來自監控節點的傳感器實時數據和環境調控設備運行情況;getControlStrategy用于向監控節點軟件返回當前最新的環境調控設備自動控制策略或手動控制指令。postSensorData 接口接收來自監控節點POST 的環境監測數值和狀態、監控節點當前所處的控制模式,以及環境調控設備的工作情況等數據。

getControlStrategy 接口在監控節點訪問時返回包含遠程手動控制指令和自動調控策略的字符串,手動控制指令和自動調控策略均以JSON 格式返回,如果遠程手動控制指令不存在則返回對應位置填充“None”的字符串,同理,如果自動調控策略不存在則返回對應位置填充“None”的字符串。

5 節點的實現與測試

將基于通用監控節點的系統應用于魚塘的遠程監控和果園監控,對多個魚塘或果園進行監測和控制,應用于魚塘監控的節點端用戶交互界面如圖4 所示。

除了在嵌入式端可以查看各種環境監控參數之外,通過Web也可以瀏覽基地、實驗地、監測區、傳感器的實時信息,Web 端系統部分功能如圖5 所示。

移動端應用軟件主要包含云端服務信息設置、實驗基地選擇、環境數據顯示、控制模式切換以及視頻監控等模塊,其中視頻監控又分為監控視頻地址獲取和視頻播放子模塊。主要功能實現如圖6所示。

在不同的應用中,不同傳感器通過RS485 接口組成傳感器網絡,服務部署在云主機上,用戶可通過互聯網和基于Android 的終端與系統進行交互。經過一段時間不間斷地運行測試,本系統平均數據上傳成功率達99%,平均傳感器查詢成功率達100%;視頻直播成功率95%,平均延時為1~2 秒。

6 結束語

基于樹莓派的通用監控節點實現了環境參數的監測、機械設備的控制、視頻監控、短信報警和觸摸屏人機交互等功能,同時為了適應不同應用環境的需求,開發了通用配置文件,當有新的設備需要更換時,只需重新加載配置文件即可用,這大大加大了系統的實用性和適應性。本系統具有操作簡單、使用方便、成本低廉、部署難度低等優點,經過系統測試表明本系統設計功能執行正常,系統運行穩定可靠,控制有效性高,系統錯誤率低,可以很好的滿足通用農業監控需求。

本監控系統仍存在一些可能影響實際應用的問題。首先是在線視頻清晰度與視頻帶寬占用的平衡問題,為了降低本系統大規模部署情境下云主機帶寬服務費用,因此對監控節點推送的視頻流進行壓縮,但是,壓縮之后的視頻流清晰度存在明顯下降,影響視頻監控效果,今后的工作主要是找到合適的視頻清晰度和視頻帶寬占用的壓縮解決方案。因此,本系統仍需進一步完善優化,解決以上可能影響實際應用的問題,以確保本系統具有更好的可適應性和應用能力。

猜你喜歡
信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 成人年鲁鲁在线观看视频| 国产精品亚洲日韩AⅤ在线观看| 国产午夜福利在线小视频| 亚洲精品无码在线播放网站| 国产亚洲欧美日韩在线观看一区二区| 亚洲国产成人久久77| 国产视频一二三区| 国产好痛疼轻点好爽的视频| 国内熟女少妇一线天| 免费无码AV片在线观看中文| 中文字幕自拍偷拍| 亚亚洲乱码一二三四区| 免费一级全黄少妇性色生活片| 大学生久久香蕉国产线观看| 国产精品亚洲va在线观看| 久热这里只有精品6| 亚洲精品视频免费观看| 欧美国产日韩在线播放| 亚洲第一色视频| 最新亚洲人成无码网站欣赏网| 国产成人久视频免费| 欧美高清国产| 99热亚洲精品6码| 中文字幕欧美日韩| 欧美一级黄色影院| 亚洲一区二区三区中文字幕5566| 日韩精品毛片| 999国内精品视频免费| 成人福利在线免费观看| 国产久草视频| 高清国产在线| 国产精品人人做人人爽人人添| 国产aⅴ无码专区亚洲av综合网| 国产美女无遮挡免费视频| 免费jizz在线播放| 51国产偷自视频区视频手机观看| 国产极品嫩模在线观看91| 日韩成人高清无码| 成人久久18免费网站| 99热国产在线精品99| 91香蕉视频下载网站| 99久久精彩视频| 久996视频精品免费观看| 免费人成网站在线高清| 国产簧片免费在线播放| 国产午夜一级淫片| 亚洲人成亚洲精品| 丁香五月激情图片| 日本黄色不卡视频| 青青操视频在线| 久久天天躁狠狠躁夜夜2020一 | 日韩一区精品视频一区二区| 久久中文电影| 久久这里只有精品23| 人妻精品久久无码区| 高潮毛片免费观看| 日韩性网站| 无遮挡国产高潮视频免费观看| 中文字幕va| 国产亚洲精品91| 2020最新国产精品视频| 国产黑丝一区| 国产99免费视频| 日本精品一在线观看视频| 国产精品深爱在线| 亚洲天堂2014| 久久国产av麻豆| 欧美 国产 人人视频| 婷婷色婷婷| 久久男人视频| 国产精品永久免费嫩草研究院| 91青草视频| 国产黄在线观看| 国产在线一区视频| 亚洲国产一区在线观看| 欧美亚洲国产视频| 亚洲欧美极品| 最新国产在线| 成人午夜精品一级毛片| 色综合网址| 中文字幕 91| 又粗又大又爽又紧免费视频|