大家新年好,好久不見,經(jīng)過一個(gè)春節(jié)假期,昨天正式開工了,放假前,由于準(zhǔn)備不充分,在家想寫文,不是缺東就是少西,所以一個(gè)假期就這么荒廢了,現(xiàn)在開工了,咱們的網(wǎng)文更新繼續(xù),希望2021年我們可以繼續(xù)同行,一同進(jìn)步。
今天給大家介紹一個(gè)好用的WiFi數(shù)傳模塊,可以輕松的獲取攝像頭圖像,也可以實(shí)現(xiàn)局域網(wǎng)內(nèi)的無線控制。
數(shù)傳模塊參數(shù)
- 產(chǎn)品尺寸:約57*57*19 mm(外殼尺寸)供電電壓:5V電流功耗:1.2W,低功耗(這里不含加了攝像頭的功率)存儲(chǔ)空間:4M-flash,64M-RAM(內(nèi)存更大,運(yùn)行不卡頓)視頻分辨率:默認(rèn)為640X480分辨率天線類型:內(nèi)置板載天線信號(hào)指示:開機(jī)LED亮兩秒后熄滅驅(qū)動(dòng)系統(tǒng):Openwrt固件、并安裝好UVC攝像頭驅(qū)動(dòng)、Ser2net串口轉(zhuǎn)發(fā)軟件、mjpg-streamer視頻解析軟件、并已經(jīng)設(shè)置為上電啟動(dòng),到手可以用,無需重刷固件。
UVC攝像頭
UVC(USB Video Class)攝像頭:UVC是一種標(biāo)準(zhǔn)的USB視頻設(shè)備協(xié)議,就是通常所說的免驅(qū)攝像頭。
數(shù)傳模塊上的USB攝像頭怎么直接使用?
在設(shè)備管理器中禁用筆記本自帶攝像頭之后,打開Win10筆記本自帶相機(jī)應(yīng)用,即可使用這個(gè)免驅(qū)的USB攝像頭了。
相機(jī)應(yīng)用中查看USB攝像頭的實(shí)時(shí)畫面:
硬件連接
使用移動(dòng)電源給WiFi數(shù)傳模塊供電。
WiFi數(shù)傳模塊的USB接口與攝像頭相連。
WiFi數(shù)傳模塊的串口與USB轉(zhuǎn)TTL模塊相連。
模塊上電
模塊上電,可以通過模塊上的串口,查看啟動(dòng)過程中的Log信息:
過一會(huì)兒會(huì)在WiFi列表中看到SSID為hjwifi2014的網(wǎng)絡(luò):
該WiFi沒有密碼,直接點(diǎn)擊連接即可,連接完畢,WiFi列表中顯示效果如下:
系統(tǒng)通知區(qū)域WiFi圖標(biāo)顯示為:
登錄后臺(tái)
模塊后臺(tái)登錄網(wǎng)址:http://192.168.8.1/login.html
登錄密碼是:11111111
登錄后臺(tái)之后,后臺(tái)界面如下圖所示:
模塊的后臺(tái)跟路由器的管理界面類似。
注意:進(jìn)入后臺(tái)后建議不要修改和隨意和關(guān)閉任何參數(shù),否則可能將導(dǎo)致WIFI自動(dòng)加密或是無法啟動(dòng),如修改參數(shù)導(dǎo)致無法使用的,廠家將不再保修和售后,務(wù)必謹(jǐn)記!
openWrt
WiFi數(shù)傳模塊內(nèi)部實(shí)際上是一個(gè)基于 OpenWrt 的固件。
OpenWrt 是主流路由器固件(DD-WRT,Tomato,Gargoyle,openWrt等)之一,所以上面后臺(tái)的界面跟路由器的管理界面類似就不足為奇了。
OpenWrt的包管理提供了一個(gè)完全可寫的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。
對(duì)于開發(fā)人員,OpenWrt 是使用框架來構(gòu)建應(yīng)用程序,而無需建立一個(gè)完整的固件來支持;
對(duì)于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。
OpenWrt是一個(gè)高度模塊化、高度自動(dòng)化的嵌入式Linux系統(tǒng),擁有強(qiáng)大的網(wǎng)絡(luò)組件和擴(kuò)展性,常常被用于工控設(shè)備、電話、小型機(jī)器人、智能家居、路由器以及VoIP設(shè)備中。同時(shí),它還提供了眾多的已編譯好的軟件,而且數(shù)量還在不斷增加,而 OpenWrt SDK 更簡(jiǎn)化了開發(fā)軟件的工序。
本模塊正是利用了OpenWrt這種自由定制的功能,模塊刷好Openwrt固件、并安裝好UVC攝像頭驅(qū)動(dòng)、Ser2net串口轉(zhuǎn)發(fā)軟件、mjpg-streamer視頻解析軟件,并設(shè)置這些軟件為開機(jī)啟動(dòng),這樣此路由就可以作為中轉(zhuǎn),將攝像頭的實(shí)時(shí)圖像通過WIFI網(wǎng)絡(luò)轉(zhuǎn)發(fā)到上位機(jī)中,進(jìn)而實(shí)現(xiàn)了視頻回傳的功能。
MJPEG-STREAM視頻流
MJPEG-STREAM是一個(gè)基于“運(yùn)動(dòng)圖像壓縮技術(shù)”的攝像頭圖像采集系統(tǒng),并且該系統(tǒng)通過Web方式進(jìn)行實(shí)時(shí)圖片傳輸,用戶只需要利用瀏覽器就可以實(shí)現(xiàn)視頻監(jiān)控等工作,同時(shí)由于該系統(tǒng)采用開源方式進(jìn)行開發(fā),因此對(duì)該系統(tǒng)的任何修改和使用都不存在版權(quán)的問題,降低了視頻開發(fā)的成本,提高了開發(fā)的效率。
OpenWrt是一個(gè)開源的嵌入式Linux系統(tǒng),其包含3000多個(gè)軟件包,要實(shí)現(xiàn)基于OpenWrt系統(tǒng)對(duì)MJPEG-STREAM的構(gòu)建,用戶只需要通過簡(jiǎn)單的指令就可以實(shí)現(xiàn)軟件的下載、編譯、安裝和使用。
具體構(gòu)建步驟如下:
①更新OpenWrt的軟件源。
②下載并安裝UVC攝像頭驅(qū)動(dòng),安裝結(jié)束后插入攝像頭,如果在OpenWrt的/dev目錄下看到video0文件,則表示安裝成功。
③下載并安裝MJPEG-STREAM開源庫。
④連接攝像頭,啟動(dòng)MJPEG-STREAM,并設(shè)置其輸出的分辨率和地址。
⑤最后在瀏覽器中輸入目標(biāo)地址,就可以進(jìn)行視頻監(jiān)控。
購買的WiFi數(shù)傳模塊已經(jīng)完成了此部分工作,我們只需要學(xué)會(huì)如何使用此模塊即可。
獲取圖像
方式一:http協(xié)議調(diào)試助手
URL填寫http://192.168.8.1:8083/?action=snapshot,Method選擇GET,勾選SaveToFile,點(diǎn)擊Start,請(qǐng)求完畢會(huì)彈出一個(gè)保存文件對(duì)話框,將此文件命名為XXX.jpg,然后雙擊打開此文件,可以看到發(fā)送請(qǐng)求時(shí),攝像頭當(dāng)時(shí)的畫面。
方式二:瀏覽器獲取實(shí)時(shí)圖像
瀏覽器的地址欄中敲入:http://192.168.8.1:8083/?action=snapshot,點(diǎn)擊回車,可以獲得攝像頭當(dāng)前畫面,瀏覽器每刷新一次圖像變換一次。
如果我們自己編寫程序,只要在程序中,在線程中一直循環(huán)訪問上面的鏈接,然后將返回的結(jié)果轉(zhuǎn)為圖片,循環(huán)展示即可形成動(dòng)態(tài)的視頻。
通過透?jìng)髂K實(shí)現(xiàn)控制
WiFi數(shù)傳模塊的OpenWrt固件中,集成了Ser2net串口轉(zhuǎn)發(fā)軟件,利用其可以實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)和串口數(shù)據(jù)的雙向傳輸。
筆記本連接USB轉(zhuǎn)TTL模塊,使用網(wǎng)絡(luò)助手連接模塊,模塊的服務(wù)器信息為:192.168.8.1:2001 。
利用串口助手,打開USB轉(zhuǎn)TTL模塊對(duì)應(yīng)的串口。
利用網(wǎng)絡(luò)助手和串口助手可以完成數(shù)據(jù)的雙向通訊。
上面的網(wǎng)絡(luò)助手相當(dāng)于PC或者手機(jī)端的上位機(jī)軟件。
串口助手相當(dāng)于設(shè)備端的單片機(jī)或者STM32。
我們通過上面的測(cè)試,可以看出,上位機(jī)發(fā)送的信息(指令),下位機(jī)(設(shè)備端)可以正常接收。
下位機(jī)(設(shè)備端)上傳的信息,上位機(jī)可以正常接收。
進(jìn)而實(shí)現(xiàn)了上位機(jī)和下位機(jī)(設(shè)備端)的雙向通訊。