何雄+劉一鐘+李潤(rùn)宇+劉文浩
【摘 要】本文是研究樹莓派的視頻無(wú)線傳輸。將無(wú)線網(wǎng)卡與視頻模塊連上樹莓派,進(jìn)行無(wú)線網(wǎng)卡的相關(guān)配置使之變成無(wú)線接入點(diǎn),以供電腦手機(jī)等無(wú)線設(shè)備接入。本文介紹了樹莓派系統(tǒng)的安裝,網(wǎng)卡驅(qū)動(dòng)以及hostapd的配置,DHCP以及MJPG-Streamer的安裝設(shè)置和無(wú)線接入點(diǎn)的配置等工作,最終實(shí)現(xiàn)了樹莓派的無(wú)線視頻傳輸?shù)墓ぷ鳌?/p>
【關(guān)鍵詞】無(wú)線視頻傳輸;樹莓派
一、前言
隨著科技的快速發(fā)展,視頻監(jiān)控已經(jīng)應(yīng)用在了現(xiàn)在的各個(gè)行業(yè),其作為一種安防手段,也越來(lái)越受到人們的重視。而視頻的無(wú)線傳輸將大大簡(jiǎn)化電路的布施,節(jié)約成本。本文介紹了利用樹莓派通過(guò)無(wú)線網(wǎng)卡將采集到的視頻信號(hào)發(fā)送到手機(jī),平板或者電腦,實(shí)現(xiàn)視頻的無(wú)線傳輸。
二、樹莓派硬件平臺(tái)的搭建
樹莓派硬件平臺(tái)由樹莓派3代B型,8G TF存儲(chǔ)卡,USB無(wú)線網(wǎng)卡模塊,USB攝像頭模塊,7寸HDMI顯示器,移動(dòng)電源,USB鍵盤鼠標(biāo),2A電源適配器等組成。樹莓派連上USB無(wú)線網(wǎng)卡作為接入點(diǎn),配合液晶屏,鼠標(biāo)鍵盤,無(wú)線路由器與筆記本電腦一起配合調(diào)試使用,最終完成在電腦、手機(jī)上無(wú)線獲取樹莓派視頻的目的。
(一)系統(tǒng)的安裝
首先下載樹莓派raspbian-jessie系統(tǒng)鏡像文件,將存儲(chǔ)卡用讀卡器插在電腦USB端口上,使用鏡像安裝工具Win32DiskImager.exe將下載好的鏡像文件寫入存儲(chǔ)卡中。打開存儲(chǔ)卡文件夾,打開config.txt文件進(jìn)行修改配置,使之符合液晶屏的顯示標(biāo)準(zhǔn)。本文中配置文件內(nèi)容為hdmi_group=2,hdmi_mode=9,hdmi_ignore_edid=0xa5000080。之后將存儲(chǔ)卡插入樹莓派,運(yùn)行,打開電腦的SSH客戶端通過(guò)網(wǎng)線連接路由器在連接到樹莓派。
(二)編譯網(wǎng)卡驅(qū)動(dòng)和hostapd
如果網(wǎng)卡無(wú)法正常驅(qū)動(dòng),則需要根據(jù)自己手里的無(wú)線網(wǎng)卡來(lái)自主編譯網(wǎng)卡驅(qū)動(dòng)和內(nèi)核代碼,根據(jù)無(wú)線網(wǎng)卡驅(qū)動(dòng)的說(shuō)明自行編譯配置。本文所使用免驅(qū)動(dòng)無(wú)線網(wǎng)卡,可以免去繁瑣的配置工作。
(三)安裝DHCP服務(wù)
DHCP是動(dòng)態(tài)主機(jī)配置協(xié)議,使用UDP協(xié)議工作,主要給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對(duì)所有計(jì)算機(jī)作中央管理的手段。本文中要實(shí)現(xiàn)對(duì)樹莓派視頻無(wú)線傳輸,需要使用DHCP服務(wù)來(lái)分配IP地址。通過(guò)命令sudo apt-get install isc-dhcp-server來(lái)安裝此服務(wù)。
(四)安裝遠(yuǎn)程攝像監(jiān)控軟件mjpg-Streamer
樹莓派上mjpg-streamer主要用于視頻的錄制和監(jiān)控,其具有消耗資源少、占用空間少、速度快等特點(diǎn)。在終端輸入sudo apt-get install libv4l-dev libjpeg8-dev imagemagick命令安裝此依賴庫(kù),同時(shí)還要下載代碼托管服務(wù)svn軟件并進(jìn)行安裝。要注意的是本文使用mjpg-streamer的代碼依賴libjpeg7,而此時(shí)安裝的是libjpeg8,需要做一個(gè)軟連接使之可以正常工作。執(zhí)行cd mjpg-streamer和make USE_LIBV4L2=true clean all命令編譯運(yùn)行,完成軟件的安裝工作。
三、功能測(cè)試
在終端執(zhí)行sudo ./mjpg_streamer -i “./input_uvc.so -d /dev/video0 -r 800×600 -f 12”-o“./output_http.so -p 8090 -w ./www”命令,其中-r后是分辨率參數(shù),-f后面是幀率,此參數(shù)是根據(jù)自己攝像頭的參數(shù)進(jìn)行調(diào)整的。打開電腦瀏覽器,輸入樹莓派ip地址:8090。此時(shí)會(huì)打開mjpg-streamer頁(yè)面。打開stream頁(yè)面可以觀察到攝像頭拍攝的視頻內(nèi)容,工作正常。
四、無(wú)線網(wǎng)卡轉(zhuǎn)接入點(diǎn)
將樹莓派接入的無(wú)線網(wǎng)卡變成接入點(diǎn),方便其他設(shè)備接入。首先,執(zhí)行sudo vi /etc/network/interfaces命令進(jìn)行ip地址和子網(wǎng)掩碼的修改與設(shè)置。然后,準(zhǔn)備hostapd的配置文件,執(zhí)行vi rtl_hostapd_2G命令打開文本進(jìn)行設(shè)置。之后再準(zhǔn)備DHCP服務(wù)的配置文件,輸入sudo vi /etc/dhcp/dhcpd.conf。最后準(zhǔn)備啟動(dòng)腳本,使用sudo vi /etc/init.d/rc.local打開文本,在最后追加/home/pi/hostapd /home/pi/rtl_hostapd_2G.conf>>/var/log/hostapd.log與iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE命令,使無(wú)線網(wǎng)卡具有ap和nat這兩個(gè)功能,無(wú)線網(wǎng)卡會(huì)開機(jī)自啟動(dòng)。再打開sysctl.conf文件將net.ipv4.ip_forward=0修改為net.ipv4.ip_forward=1就配置就完成了。此時(shí),重啟樹莓派,樹莓派相當(dāng)于一個(gè)帶視頻監(jiān)控的無(wú)線路由器了。
五、打開無(wú)線監(jiān)控
完成完上述配置就相當(dāng)于完成了基本的工作,現(xiàn)在只需要在樹莓派上終端打開相應(yīng)操作即可。其有三中工作方式,分別是后臺(tái)開啟視頻監(jiān)控、后臺(tái)開啟視頻采集并進(jìn)行實(shí)時(shí)監(jiān)控、關(guān)閉已開啟的視頻監(jiān)控和采集。在開啟視頻監(jiān)控時(shí)可以直接無(wú)線接入查看視頻了,在后臺(tái)開啟視頻采集并進(jìn)行實(shí)時(shí)監(jiān)控時(shí)可以在查看視頻的時(shí)候?qū)崟r(shí)記錄。通過(guò)輸入相應(yīng)的命令可以實(shí)現(xiàn)視頻的采集,記錄與關(guān)閉的功能,方便快捷。
六、系統(tǒng)測(cè)試
上述工作結(jié)束后就完成了整體的配置工作?,F(xiàn)在可以進(jìn)行系統(tǒng)的測(cè)試工作,一切可以進(jìn)行無(wú)線連接的設(shè)備都可以用來(lái)進(jìn)行視頻監(jiān)控作用。在樹莓派命令框中輸入后臺(tái)開啟視頻監(jiān)控的操作代碼。利用電腦連接樹莓派接入點(diǎn),打開瀏覽器,輸入樹莓派ip地址:8090,在stream界面下就可以進(jìn)行無(wú)線訪問(wèn)了。經(jīng)過(guò)測(cè)試,在手機(jī),電腦上都可以進(jìn)行正常的訪問(wèn)。系統(tǒng)工作正常。
七、結(jié)語(yǔ)
使用樹莓派硬件平臺(tái)制作無(wú)線視頻監(jiān)控可以用于普通家庭,商店等地區(qū)的無(wú)線監(jiān)控,還可以用于其相關(guān)項(xiàng)目開發(fā)工作。此系統(tǒng)具有安裝方便簡(jiǎn)單,可靠性高,可以長(zhǎng)時(shí)間連續(xù)工作的特點(diǎn),并且對(duì)內(nèi)存的空間占用較少,同時(shí)可以實(shí)現(xiàn)自動(dòng)對(duì)錄像定時(shí)刪除等工作,作為在線監(jiān)控是一個(gè)不錯(cuò)的選擇。
【參考文獻(xiàn)】
[1] 汪鑫,彭雨薇.基于樹莓派的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[J].硅谷,2014.
[2] 王江偉,劉青.玩轉(zhuǎn)樹莓派 Raspberry Pi[M].北京:北京航空航天大學(xué)出版社,2013.
[3] AL Sweigart著,王海鵬譯.Python編程快速上手——讓繁瑣的工作自動(dòng)化[M].中國(guó)工信出版集團(tuán);中國(guó)郵電出版社,2016.