黃志芳,李偉鑫,謝宋汕,李喆滔
(嘉應學院物理與電子工程學院,廣東梅州 514015)
隨著科學技術的不斷發展和進步,很多具有一定危險性的工作也逐步被智能化的設備所取代,如采煤行業中執行安全隱患排查和生命探測的設備、在地形地貌較為復雜地區執行特殊任務的探測小車、在具有環境風險地區執行環境采集數據的無人機等[1-3]。上述的智能化設備在以上特殊場景中使用較為廣泛,然而無人機在一些樹木茂密、建筑物密集區域限制了其使用,此時需要靈活機動的多功能探測車,利用車上搭載的各種傳感器實現對相關參數的監測,搭載的高清攝像頭實時傳輸現場畫面到終端[4-5]。與3G網絡通信相比,4G通信的速度成倍提升,基于低延時、高清圖傳、多功能、智能化的探測小車在電子消費、工業應用、特種搶險救災等領域具有十分廣泛的應用前景[6]。文中設計了一種以STM32F407ZGT6 和TM32F103CET6 為小車端和遙控端的核心處理器,小車端搭載DHT11 以及MQ2 采集溫濕度、空氣顆粒濃度等參數,通過NRF24L01 在遙控端和小車端傳輸數據,遙控端既能遠程控制小車又能通過OLED屏幕上獲得環境數據。小車端使用Cortex-A7 處理器將圖像數據轉為rtmp 格式,FFmpeg 編解碼器將rtmp 推流到搭建在阿里云平臺上的Nginx 流媒體服務器。用戶可在移動終端通過拉取流媒體服務器上的rtmp 數據流,實現實時查看現場環境圖像。
探測小車的整體是由智能小車終端和遠程遙控端兩部分構成。小車終端以STM32 作為處理器,搭載溫濕度檢測模塊,空氣質量檢測模塊,無線收發模塊及USB 攝像頭,實時采集溫濕度、空氣質量參數信息,通過無線收發模塊(NRF24L01)接收遙控端的指令信息,并向遙控端回傳溫濕度和空氣質量參數信息。4G 模塊將通過開源軟件FFmpeg 將圖像數據壓縮后推流至流媒體服務器。遠程遙控端同樣使用STM32 作為處理器,具有無線收發模塊、OLED 顯示屏、A/D 轉換搖桿按鍵等外設。OLED 實時顯示通過無線收發模塊接收到的溫濕度、空氣質量參數信息,遙桿按鍵控制小車前進后退以及攝像頭轉動。用戶可通過PC 端或APP 實時查看小車所處區域的畫面。
智能小車是由STM32 微處理器、DHT11 溫濕度模塊、可燃氣體檢測模塊、NRF24L01 無線傳輸模塊、180°舵機模塊、攝像頭模塊和L298N 電機驅動模塊等7個模塊組成。STM32驅動NRF24L01接收遙控端的指令來控制L298N 電機,完成小車運動狀態控制和舵機旋轉等操作。STM32 驅動DHT11 模塊和氣體檢測模塊,將采集到的溫濕度和空氣質量參數信息傳送到遙控端,在Linux 開發板上通過FFmpeg 開源程序將圖像以rtmp 格式推送到流媒體服務器[7],智能小車終端的硬件系統框圖和實物圖如圖1、圖2 所示。

圖1 小車端硬件系統圖

圖2 小車端實物圖
遙控終端是由STM32、電源管理芯片、5 V 微型電池、OLED 顯示模塊、NRF24L01 無線傳輸模塊、搖桿按鍵模塊6 部分組成,遙控端使用5 V 微型電池。工作時,單片機通過內置的A/D 轉換模塊獲得遙感按鍵輸出模擬量[8],通過NRF24L01 將指令發送至小車端,在OLED 上顯示溫濕度、空氣質量參數信息,遙控終端的實物圖如圖3 所示。

圖3 遙控終端實物圖
在目前的單片機應用市場,ARM 系列單片機因處理速度更快、搭配的資源更多,從而占據了單片機主流應用市場[9]。小車端和遙控端的單片機選擇了STM32系列。遙控端的單片機選擇STM32F103CET6,小車端選擇STM32F407ZGT6,因為需要實現圖像實時傳輸,圖像采集和處理數據較為龐大,所以選擇Cortex-A7 處理器完成圖像數據處理。
攝像頭采集的圖像原始數據巨大,需要對圖像信息進行壓縮編碼。使用不同的編碼器得到不同的壓縮格式,如今比較主流的視頻編碼為H.264 編碼和MPEG-2 編碼[10]。推流端編解碼器中比較常用的是FFmpeg,它是一套非常成熟的開源代碼,支持絕大多數的編碼格式和流媒體協議,功能強大且資料非常齊全,所以選擇其為推流端編碼器[11]。
流媒體服務器的主要功能是以流式協議(RTO/RTSP、MMS、RTMP 等)將視頻文件傳輸至用戶端,用戶可以實時查看圖像,用戶實時查看的功能要求服務器必須做到外網與云平臺連接。阿里云是各項功能較為豐富的云平臺,流媒體服務器選擇購買云服務器來實現。當下比較流行的Web 流媒體服務器有3種,分別是Apache、Nginx、Lighttpd。Lighttpd的穩定性不足,Apache 對該設計的系統壓力較大,所以選擇Nginx 流媒體服務器搭建于阿里云服務器上[12]。
通過4G技術實現圖像數據傳輸到云平臺,小車端和遙控端兩者之間通過NRF24L01 模塊來完成數據傳輸,傳輸距離在空曠環境下最大能達到1 000 m,滿足性能需求。NFR24L01是一款工作在2.4~2.5 GHz的ISM 頻段的單片無線收發器芯片,最低供電電壓為1.9 V,最大數據傳輸速率為2 000 kbps,發送模式(0 dBm)和接收模式(2 000 kbps)狀態下的電流消耗分別為11.3 mA 和12.3 mA,使用的溫度范圍為-40~+85 ℃[13]。
DHT11 數字傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。濕度測量范圍在20%RH~90%RH,溫度在0~50 ℃,在25 ℃下,溫度的誤差范圍在±2 ℃之間,濕度誤差在±5%RH 之間,具有感應快、抗干擾能力強、體積小、性價比極高的優點[14]。
小車的硬件系統包括STM32 系統板、12 V 轉5 V供電電路、L298N 電機驅動模塊、兩對直流電機、無線收發模塊、溫濕度傳感器、可燃氣體傳感器和180°轉向舵機。硬件SPI 驅動無線收發模塊接收指令,需連接到小車端單片機的特定引腳上,自帶的A/D 轉換獲取氣體檢測模塊的模擬輸出,單總線方式驅動DHT11傳感器獲取溫濕度信息,內置的PWM 波產生器輸出周期為20 ms占空比不同的PWM,控制舵機轉動帶動攝像頭轉動[15],小車端的電路原理圖如圖4所示。

圖4 小車端電路原理圖
遙控端的硬件系統包括了STM32MCU 核心板、USB 充電口、5 V 微型電池、電源管理芯片、OLED、無線收發模塊和一對遙感按鍵。系統使用5 V 電池充電,為遙控手柄提供電源支持。使用遙感按鍵時,需將遙感按鍵的兩個模擬量輸出引腳接入遙控端單片機的A/D 轉換引腳,用來判斷遙感按鍵按下的狀態。系統通過SPI 驅動無線收發模塊,遙控端中的無線收發模塊需連接到單片機對應的引腳上,通過模擬IIC 驅動OLED 屏幕顯示信息。遙控端的電路原理圖如圖5 所示。

圖5 遙控終端電路原理圖
小車端的總體程序設計可以分為5 個模塊程序,包括定時器初始化、DHT11 初始化、MQ2 初始化、無線模塊初始化以及無線模塊接收程序,主程序流程如圖6 所示。系統上電后開始進行初始化,如配置單片機的A/D轉換模塊(讀取傳感器輸出的數據),配置I/O口的輸入、輸出和復用模式,配置硬件SPI 參數(驅動無線收發模塊)等[16]。小車端需要接收和發送數據,為了避免在兩種不同模式下頻繁切換,造成系統資源的浪費,NRF24L01 無線模塊配置為帶應答確認信號及有效載荷的接收模式。在主程序循環中,系統首先讀取傳感器的數據并處理,處理完成后,檢測是否有來自遙控端的無線收發模塊信息,如有就執行相應指令信息內容,且因為小車端接收到信息后需要發送確認收到信息給遙控端的無線模塊,則溫濕度等空氣質量參數信息放入應答信號的有效載荷中回傳給遙控端。

圖6 小車端程序流程圖
遙控端的總體程序設計分為9 個模塊,包括定時器初始化、NRF 初始化、ADC 初始化、按鍵初始化、OLED 初始化、掃描AD 值、按鍵檢測、NRF 發送程序和OLED屏顯示程序,主程序流程如圖7所示。系統上電后,程序開始對模塊進行初始化,如配置使用I/O口模擬軟件(驅動OLED 屏幕),配置DMA 參數(方向、是否循環、每次搬運字節大小)用來搬運A/D 轉換結果,暫存寄存器的值放入RAM 中數組中,并將系統中的無線收發模塊配置為應答確認信號及有效載荷的發送模式。在主程序循環中,讀取DMA 自動搬運到數組中的A/D 轉換值,判斷遙感按鍵按下的方向,將對應的指令通過無線收發模塊發送到小車端。配置成帶應答信號的發送模塊,需要接收小車端的應答信號,在發送完成后將在OLED 屏上顯示讀取應答信號中小車端發送的空氣質量信息。

圖7 遙控終端程序流程圖
系統上電后,將小車移動到離遙控端一定距離外,控制搖桿方向遠程控制小車的運動狀態,轉動舵機控制按鍵,舵機能按照指令帶動攝像頭完成轉動,并用手機播放器連接到阿里云服務器,查看車載攝像頭的實時傳輸回來的畫面,人為改變小車周邊溫濕度等環境參數,判斷溫濕度模塊工作是否正常,遙控端是否顯示對應的溫濕度及變化。經過一系列的調試后,遙控端能實現對小車和航機的控制,小車能夠檢測周圍環境的溫濕度、可燃氣體濃度,并將相應的數據傳輸至遙控端的OLED 屏進行顯示。運行在Linux 上的推流程序將rtmp 推流到搭建在阿里云平臺上的流媒體服務器,通過PC 端或者移動端播放器拉取流媒體服務器的數據視頻流進行播放,實時查看小車的圖像畫面,視頻時延控制在2.5s以內。
基于4G 的實時圖傳智能探測車的研究,達到了初期的性能指標,實現了監測空氣質量數據、遠程控制、圖像實時傳輸的功能。通過搭載支持UVC 協議的USB 攝像頭,圖像數據信息通過4G 推送到阿里云服務器上,使得公網網絡能對流媒體數據進行拉流,即圖像支持的傳輸距離非常遠,突破了距離的限制,支持多用戶同時訪問。基于4G 的實時圖傳智能探測車能夠代替人工監測,應用于煤炭生產、探測、救援、排雷等相關行業,具有較為廣泛的研究和應用價值。