盧培純,劉君豪,吳育瑛,王春豪,王嘉鑫
(韶關(guān)學(xué)院 信息工程學(xué)院,廣東 韶關(guān) 512023)
為提高工地巡查和監(jiān)督管理的智能化水平,本文設(shè)計采用ARM芯片作為遠(yuǎn)程協(xié)助式智能安全帽系統(tǒng)的控制芯片,Qt5.7E作為操作系統(tǒng)的設(shè)計思想,給出遠(yuǎn)程協(xié)助式智能安全帽系統(tǒng)的軟硬件解決方案。此設(shè)計以FFmpeg視頻播放器解析技術(shù)為基礎(chǔ),由Java后端、嵌入式終端、手機(jī)APP組成,結(jié)合傳感器模塊對數(shù)據(jù)進(jìn)行采集和存儲,效率極高?;贏RM9的遠(yuǎn)程協(xié)助式產(chǎn)品被廣泛應(yīng)用到生活和工業(yè)等領(lǐng)域,智能安全帽就是技術(shù)革新以及生產(chǎn)需求不斷提高的智能化產(chǎn)物。
本系統(tǒng)選用韓國三星電子出品的基于ARM Cortex-A9架構(gòu)的主頻為1.4 GHz的四核處理器,其開發(fā)板集成了包括存儲器接口、以太網(wǎng)接口,A/D JTAG等在內(nèi)的豐富的硬件資源,另外具有CAN總線、WiFi等拓展模塊,大大簡化了外圍設(shè)備與微處理器的硬件連接結(jié)構(gòu),保障了系統(tǒng)的穩(wěn)定性與可靠性。硬件結(jié)構(gòu)如圖1所示。
圖1 硬件結(jié)構(gòu)
驅(qū)動程序是通過程序控制硬件實(shí)現(xiàn)某種功能的代碼。硬件與軟件之間連接的中間件是寄存器,開發(fā)者可以通過閱讀芯片的數(shù)據(jù)手冊,操作相關(guān)寄存器來控制硬件工作。對于ARM處理器,開發(fā)商會提供API函數(shù)庫給驅(qū)動開發(fā)者使用。而開發(fā)者可直接調(diào)用封裝好的API函數(shù)來完成對芯片的操作。同時面對不同場景以及不同需求,開發(fā)者可按意愿自行修改驅(qū)動代碼。此流程可大大縮短開發(fā)周期,降低開發(fā)難度。
在本系統(tǒng)中,使用的傳感器有DHT11數(shù)字溫濕度傳感器、FSR402薄型電壓力傳感器及MQ-7氣體傳感器。若要讀取這些傳感器數(shù)據(jù),可開發(fā)對應(yīng)的字符型驅(qū)動并制作成驅(qū)動模塊裝入系統(tǒng)后獲取數(shù)據(jù)。
DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它擁有專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品的可靠性與卓越的長期穩(wěn)定性。FSR402壓力傳感器將施加在FSR傳感器薄膜區(qū)域的壓力轉(zhuǎn)換成電阻值的變化,從而獲得壓力信息。MQ-7氣體傳感器使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫。FSR402壓力傳感器和MQ-7氣體傳感器均使用ADC模塊處理數(shù)據(jù)。開發(fā)時可結(jié)合地址映射原理,參考開發(fā)板ADC的API函數(shù)和芯片數(shù)據(jù)手冊。
傳感器驅(qū)動程序的編寫流程如下:
(1)用函數(shù)定向設(shè)置其連接接口位;
(2)根據(jù)通信時序圖,編寫喚醒函數(shù);
(3)獲取指定接口的數(shù)值。
本系統(tǒng)采用Qt5.7E作為操作系統(tǒng),具體移植方法如下:
(1)在虛擬機(jī)環(huán)境下安裝交叉編譯工具;
(2)利用共享文件夾或其他方式將內(nèi)核移植文件移植到虛擬機(jī);
(3)編譯內(nèi)核鏡像;
(4)利用串口助手一鍵燒寫內(nèi)核到開發(fā)板。
2.2.1 安卓APP開發(fā)
APP將當(dāng)前安卓開發(fā)技術(shù)與工地管理工作結(jié)合起來,極大地便利了員工工作時對周圍環(huán)境數(shù)據(jù)的探測以及管理部門跟進(jìn)員工個人工作情況。
手機(jī)端具有如下功能:
(1)戴帽壓力檢測。壓力傳感器適用于檢測使用者是否佩戴帽子。
(2)溫濕度監(jiān)測。通過溫濕度傳感器對工地環(huán)境的溫濕度進(jìn)行實(shí)時監(jiān)測。
(3)專家遠(yuǎn)程協(xié)助。工作者可以通過移動設(shè)備與工程專家進(jìn)行遠(yuǎn)程視頻會議,實(shí)現(xiàn)專家不在現(xiàn)場也能實(shí)時指導(dǎo)工作者的目的。
2.2.2 服務(wù)器端和客戶端軟件設(shè)計
本系統(tǒng)采用客戶端-服務(wù)器模型。服務(wù)器端與客戶端通信采用TCP連接,具體流程:Qt端(安全帽端)可發(fā)送拍攝的視頻文件到Java后端,Java后端將數(shù)據(jù)存入MySQL。
文件的保存方式:將文件名、文件路徑等信息存儲在MySQL中,需要時根據(jù)文件名即可找出文件。
服務(wù)器端和客戶端流程如圖2所示。
圖2 服務(wù)器端和客戶端流程
Java后端也可通過Http請求下載網(wǎng)絡(luò)上的文件或從數(shù)據(jù)庫取出文件發(fā)送給Qt端。
后端采用TCP連接來減少文件傳輸過程中數(shù)據(jù)丟失或缺失的情況。同時為提高不同數(shù)據(jù)庫連接的兼容性,系統(tǒng)采用JDBC連接方式調(diào)用本地JDBC-數(shù)據(jù)庫驅(qū)動與MySQL數(shù)據(jù)庫管理系統(tǒng)建立連接。JDBC驅(qū)動圖例如圖3所示。
圖3 JDBC驅(qū)動圖例
2.2.3 視頻播放器開發(fā)
視頻是利用余暉效應(yīng)(在一段短暫的時間內(nèi),通過光信號導(dǎo)入人大腦神經(jīng)的視覺形象并不會立即消失,而會暫時存留)在一定的時間間隔內(nèi)播放了許多圖片,讓人眼產(chǎn)生圖片上的事物在變化的錯覺。假設(shè)無損耗地傳輸視頻,那么這個數(shù)據(jù)量極其龐大,對于現(xiàn)有技術(shù)而言無法實(shí)現(xiàn)。因此H.264視頻壓縮時需在發(fā)送端刪除重復(fù)信息,之后在接收端恢復(fù)。封裝協(xié)議流程如圖4所示。
圖4 封裝協(xié)議流程
H.264是高壓縮、高質(zhì)量和支持多種網(wǎng)絡(luò)流媒體的編碼標(biāo)準(zhǔn)。其編碼的理論依據(jù):在極小的時間間隔內(nèi),令每幅圖片的像素、亮度、色差度的變化分別控制在10%、2%和1%,在處理時首先編碼出一個完整的圖片幀,接下來,在該范圍內(nèi)的圖片幀均只采取不完全編碼方式—只需編碼與上一圖片幀的差別幀。如此循環(huán)的過程稱為序列。當(dāng)超出該范圍時,即相鄰圖片差異變化較大,那么上一序列結(jié)束,開始新的序列。H.264分層結(jié)構(gòu)如圖5所示。
圖5 H.264分層結(jié)構(gòu)
視頻存放格式主要是針對YUV格式。其中Y表示亮度,而U、V表示顏色。YUV有一套專門針對視頻的高效壓縮算法,在保證播放效果的同時將視頻壓縮到更小。
本系統(tǒng)先將采集好的視頻經(jīng)YUV壓縮算法處理后存儲于FFmpeg中。需要讀取視頻時,將壓縮后的視頻通過軟解碼或者硬解碼的方式解碼,從而實(shí)現(xiàn)視頻的正常播放。RGB和YUV轉(zhuǎn)換公式如圖6所示。
圖6 RGB和YUV轉(zhuǎn)換公式
本文設(shè)計了一種遠(yuǎn)程協(xié)助式智能安全帽系統(tǒng),并對該系統(tǒng)的功能闡述、結(jié)構(gòu)分析、軟硬件等進(jìn)行了介紹。智能安全帽不僅可以保障工地工人的安全,還集巡查和監(jiān)督管理功能于一體,為工業(yè)管理帶來便利,極大地降低了企業(yè)成本。該方案經(jīng)推廣還可應(yīng)用于建筑、采礦等行業(yè)。