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