喬珠峰,趙繼春,王敏
(1. 北京市農林科學院,北京市,100097; 2. 北京市農村遠程信息服務工程技術研究中心,北京市,100097)
農機技能培訓是農機化事業的重要內容,加強農機技能培訓可以有效促進農民生產技術認知水平和生產能力的提高[1],同時有效促進農民在生產中采用更多的農機新技術和新設備,提高農業生產效率[2]。
網絡在線培訓快速發展并對用戶的學習方式產生巨大改變[3]。國內外學者在網絡學習資源推薦[4]、用戶建模[5]、自適應學習[6]、學習資源傳輸[7]等方面開展了大量研究工作,構建了大量公共學習平臺,如國內的學堂在線,網易云課堂和果殼MOOC學院,國外的Udacity,Coursera和edX等應用平臺。并將視覺跟蹤[8]、云平臺構建技術[9]、大數據分析技術[10]、全媒體技術[11]應用到在線教育,不斷提升用戶在線學習效果。然而,對于農機用戶所在的廣大的農村地區,農機技能培訓依然存在瓶頸,如存在系統操作不夠便捷、應用門檻高、學習支持不足、系統接入的網絡條件不理想等問題。
為提升農機技能培訓的便捷性,本文以嵌入式開發技術[12]為基礎,研發設計了以RK3128為主控CPU的硬件終端設備。通過Android原生技術研發農機技能培訓硬件終端的客戶端軟件系統,創新研究流媒體內容分發技術實現視頻學習課件播放與控制管理,實現農機培訓課程點播、教學直播、資源推薦、大數據分析等功能,為用戶農機技能培訓提供便捷方式。
系統采用嵌入式軟硬件開發技術,系統總體架構如圖1所示。

圖1 系統總體架構圖Fig. 1 System structure diagram
在硬件設計方面,以RK3128主控CPU為設計核心,包括高清GPU解碼模塊、HDMI模塊、存儲模塊、電源模塊等。數據傳輸通過WIFI和以太網模塊,從流媒體軟件系統獲取農機技能培訓課件和直播流。流媒體輸出支持HDMI和AVI接口。可將網絡學習資源離線存儲到外接SD卡。在軟件設計方面,系統采用云計算體系結構,實現多級數字資源的統一管理、分布式部署,通過對資源的采集、管理、發布、服務的研發,支持用戶通過終端設備學習訪問教學資源。
采用低功耗設計方式,終端設備以RK3128主控CPU為設計核心,包括ARM Mali-400圖形處理器、視頻處理器、WIFI、以太網、HDMI、數據存儲及電源等模塊。
為提升系統流媒體播放效果,主控模塊采用四核Cortex-A7高性能RK3128 CPU,主頻為1.3 GHz。圖形處理器為ARM Mali-400 MP2雙核GPU,支持OpenGL ES1.1/2.0。視頻處理器實現1 080 P多格式H.265硬件解碼。
采用ESP8089芯片作為WIFI數據傳輸模塊,具有超低功耗節能架構設計,可在睡眠與喚醒模式之間實現快速切換,待機功耗小于1 mW。芯片具有穩壓器及電源管理組件,漏電電流小于10 μA。WIFI模塊硬件原理圖如圖2所示。
采用RTL8201F芯片作為以太網數據傳輸模塊,支持MII(媒體獨立接口)、RMII(精簡媒體獨立接口),兼容10Base-T IEEE802.3,支持中斷功能,符合802.3az-2010標準。
終端設備采用Type A規格的HDMI接口,可同時傳輸視頻和音頻。能夠提供更高的數據傳輸帶寬,實現傳輸無壓縮的數字音頻及高分辨率視頻信號。帶寬支持SDTV、EDTV、HDTV、UHD和4K模式。HDMI接口原理如圖3所示。

圖2 WIFI模塊硬件原理圖Fig. 2 WIFI module hardware schematic diagram

圖3 HDMI接口原理圖Fig. 3 HDMIinterfaceschematic diagram
為實現數據高速存儲,終端設備的存儲共設計內存、閃存、外接存儲卡三級模式。內存采用兩塊NT5CB256M16CP-DI芯片,總容量1 G,用于系統運行;閃存采用H27UCG8T2ETR-BC624A芯片,總容量8 G,用于應用軟件安裝和運行;外接存儲TF卡,總容量128 G,用于用戶下載視頻課件資源。TF卡接口硬件原理圖如圖4所示。
設計選取ZEN056和FST7833作為電源控制模塊。NC/FST7833用來低壓檢測,當輸入電壓高時,NC/ZEN056起到LDO的作用,輸出5 V,當DC降低于5.5 V時,NC/FST7833輸出低電平導致Q1導通,此時NC/ZEN056不能正常工作,但DC_5V仍能保持接近5 V輸出。從而保證電源DC_IN是5 V。電源模塊原理如圖5所示。

圖4 TF卡接口原理圖Fig. 4 TF card interface schematic diagram

圖5 電源模塊原理圖Fig. 5 Power module schematic diagram
基于嵌入式的智能農機技能培訓系統軟件主要包括終端設備嵌入式軟件系統、流媒體系統和后臺管理系統三部分。終端設備為用戶提供簡潔的點播和直播學習終端;流媒體系統主要用于支撐點播系統和直播系統,實現CDN分發和P2P共享技術;后臺管理系統主要用于管理,包括從流媒體管理系統中同步媒體資源信息并對媒體資源管理、終端設備管理、用戶學習情況分析統計、設備升級管理等功能。
終端設備采用Android原生技術[12]開發,實現學習視頻點播、直播、圖文信息瀏覽和學用信息反饋等功能。主要由Lancher、Media和Update三個應用程序集成為系統room安裝包。三個子程序分別負責不同的功能,Lancher為主桌面程序,Media實現課件點播和直播功能播放程序,Update為系統升級程序。
系統主程序Lancher主要負責系統啟動、主界面展示、用戶賬號認證、點播課件分類展示、直播頻道展示和學習情況上傳等功能。播放程序Media主要是實現對MP4格式課件、m3u8直播流的音頻、視頻解碼播放。主程序流程圖見圖6所示。
系統升級程序Update支持手動升級和靜默升級,手動升級是用戶收到新版本消息后手動下載升級包并安裝,靜默升級是自動下載校驗升級包,在終端設備下一次開機時自動升級。在線升級流程圖如圖7所示。
流媒體系統實現視頻學習點播和直播資源管理與播放控制功能,為客戶端系統提供多媒體數據支持,實現視頻學習課件掃描入庫和學習課件的增加、刪除、修改、查看、發布等管理功能,負責視頻內容分發、直播流采集轉發、內容分發管理等控制功能。流媒體系統數據流設計圖如圖8所示。

圖6 主程序工作流程圖Fig. 6 Main program process diagram

圖7 在線升級流程圖Fig. 7 Online upgrade process diagram

圖8 流媒體數據流程圖Fig. 8 Streaming media system data flow diagram
(1) 客戶端發送媒體數據請求到CDN核心服務器;(2) CDN核心服務器把請求發往平衡服務器;(3) 平衡服務器根據帶寬負載平衡原則優選邊緣服務器;(4) 平衡服務器重定向媒體數據請求到邊緣服務器,邊緣服務器提供媒體數據支持;(5) 客戶端提交學習記錄日志;(6) 直播數據切片直接發往邊緣服務器,邊緣服務器在線緩存;(7) 直播數據切片發送到客戶端播放;(8) 客戶端之間通過rtmfp協議傳輸視頻幀,實現P2P數據;(9) 點播課件內容定期向邊緣服務器分發。
CDN部署包含1個中心節點和16個二級節點,中心節點為應用層網絡的核心,16個二級節點作為CDN邊緣推送節點(圖9),為提高流媒體服務效率,將各二級節點劃分成不同的自治域,各自治域中部署P2P服務。系統采用PUSH模型與PULL模型相結合的混合模式實現視頻文件同步。對于近期熱門視頻課件,系統采用PUSH模型,基于訪問率策略和事件策略[9, 13],主動將需要發布的視頻推送到分支節點邊緣服務器。對于沒有分發的視頻,采用PULL模型,邊緣服務器利用代理緩存機制,主動向中心服務器抓取資源。

圖9 CDN分發結構圖Fig. 9 CDN distribution structure diagram
P2P調度策略采用接收者驅動模型獲取臨近節點數據,由接收者決定節點連接方式,每一個節點都有一個唯一的編號PID,每次軟件啟動會向注冊服務器申請一個PID。所有的Overlay構建消息都通過可靠的UDP協議來傳輸,媒體數據通過TCP碼率控制協議來進行傳輸,每個節點周期性生成自己的在線信息,在線信息結構見表1。

表1 節點在線信息結構Tab. 1 CDN node online information structure
每個Peer的初始生命周期t_tolive為一個恒定值,那么PUSH模式的周期
T=t_tolive/Ο(logN)
(1)
t_tolive的值影響單位時間內Overlay中產生的在線消息包的個數PackNum=N/t_tolive。如果t_tolive越大,表示節點產生在線數據包的頻率越低。t_tolive的在線時長動態變化函數

(2)
F(t_live)表示節點生成在線數據包的間隔時間,t_live表示當前節點的在線時長,以秒為單位。α為常量,在線時長增加t_live/α后發送周期增加10 s。當節點在線時長超過30 min將恒定以120 s為發送周期,那么α的取值為150 s。
后臺管理系統主要功能是從流媒體管理系統中同步并管理媒體資源信息;提供服務接口,支持終端設備后臺獲取數據;提供設備管理、欄目管理、視頻管理、學用統計、系統管理、升級管理等功能。后臺管理采用B/S 結構,運用MVC開發模式,使用SPRINGMVC、HIBERNATE等主流開發框架,數據庫使用ORACLE,WEB服務器使用開源TOMCAT。
終端設備通過遙控器操作學習課件,系統實現了流媒體直播、學習課件點播、學習資源智能推薦、學習需求反饋、學習離線統計等功能。點播支持WMV-9、MPEG-4和H.264標準,播放碼率為1 027 kbit/s 和分辨率為1 080 P的課件和直播流均可流暢播放,無視頻停頓。
系統實現終端設備獲取用戶點播需求,可以預先下載資源也可通過網絡向管理后臺請求相關點播資源;系統支持高清直播流;終端設備系統在用戶學習時能夠把用戶信息、節目信息、播放時間等信息反饋到后臺管理系統進行分析統計。終端設備軟件主界面如圖10所示。

圖10 培訓系統首頁Fig. 10 System main homepage
基于嵌入式的智能農機技能培訓系統終端設備性能測試是在千兆局域網環境下,點播學習視頻點播請求響應時間小于1 s。直播流播放時,視頻延時小于5 s,響應時間小于1 s。支持視頻畫面尺寸720×480、1 280×720、1 920×1 080分辨率,播放清晰流暢,數據響應快。
基于嵌入式的智能農機技能培訓系統軟件部署應用服務器部署配置為:四核心Intel Xeon E5462 CPU、8 G內存;windows server2012操作系統;1T SATA硬盤。測試工具采用Apache JMeter[14]測試應用服務器視頻學習課件訪問并發壓力[15-17],通過并發訪問終端設備首頁和二級頁面,在500用戶并發時,首頁訪問平均響應時間為2 507 ms,二級頁面平均響應時間為1 431 ms。測試結果表明,單臺服務器支持500并發用戶學習訪問。測試數據表2所示。

表2 并發壓力測試數據結果Tab. 2 Concurrent stress test data results
測試目標主要檢驗所采用的P2P方法是否能夠有效節約網絡帶寬[10]。測試環境在千兆局域網內,采用華為S5700-52C-SI網路交換設備,服務器負載測試工具采用SRS Bench,通過SmartSniff版本2.26監控軟件抓取數據包流量。在局域網環境下選取20臺PC電腦安裝P2P取源監控軟件SmartSniff,點播課件的碼率為800 Kbps,測試數據情況見表3。

表3 P2P取源及出口帶寬數據表Tab. 3 P2P source and outlet bandwidthTable
從表3分析可知,隨著訪問終端數量的增加,服務器端網絡出口帶寬趨于穩定,客戶端去臨近的節點獲取數據。采用傳統的直連服務器訪問方式,帶寬為0.8×20=16 Mbps,實際消耗帶寬平均為3.7 Mbps,因此節約帶寬76.9%。通過取源監控軟件SmartSniff來看,192.168.16.*網絡IP段的客戶端能到192.168.18.* IP段的客戶端獲取數據,因此具有較好的網絡獲取數據效果。
終端設備加載農機技能培訓視頻課程300余部,在北京和張家口市等地區推廣應用7 464套終端設備。為深入了解用戶應用情況,對北京市懷柔區、大興區、順義區和東城區開展了用戶應用滿意度調查,回收有效調研問卷249份。調查數據結果顯示,用戶對于基于嵌入式的智能農機技能培訓系統的平均滿意度超過90%,滿意度分布情況如圖11所示。

圖11 用戶應用滿意度統計分布Fig. 11 User application satisfaction distribution
1) 本文應用嵌入式、流媒體分發技術研發實現了智能農機技能培訓系統。系統應用低功耗設計方法,以RK3128 CPU處理器為硬件控制核心,支持WIFI和以太網網絡通信方式與云端服務器通信。并基于CDN與P2P數據調度策略,應用軟件工程技術研發了流媒體數據應用與管理系統。
2) 開展智能農機技能培訓系統硬件及軟件測試,試驗結果表明,終端設備運行穩定,可實現1 080 P流媒體流暢播放,訪問終端設備主頁平均響應時間為2 507 ms,實現節約網絡帶寬75%以上,有效滿足預期設計需求。
3) 系統在北京13個涉農地區和河北省張家口市等地區開展應用,有效解決了農村地區網絡接入不暢問題,用戶對系統應用的平均滿意度超過90%,為農機技能培訓提供便捷化與智能化手段,得到了培訓管理部門和用戶的高度認可,具有廣闊的應用前景。