目前基于圖像處理使用市場上監(jiān)控攝像頭二次開發(fā)的案例很多,包括??低曃炇?a class="article-link" target="_blank" href="/tag/%E5%BC%80%E6%BA%90/">開源攝像頭;還有使用自帶FIFO的OV7725或者OV7670攝像頭模塊結(jié)合stm32進行圖傳;還有OPENMV+OV7725的圖像處理方案;還有一種使用MIPS架構(gòu)的路由器芯片例如RT5350加免驅(qū)MPJG攝像頭方案。每一種方案價格都要達(dá)到50塊以上,因為除了購買攝像頭之外還有購買單片機,成本降不下來。
好消息的是,樂鑫科技推出的ESP32芯片能滿足圖傳的需求,某寶基于該芯片出售的ESP32-cam攝像頭模塊能滿足圖傳的需求,最低價格26塊能買到手,性價比相當(dāng)高,ESP32的運行速度和wifi速度都比ESP8266高。26塊集成了ESP32最小系統(tǒng)板和OV2640攝像頭和板載藍(lán)牙wifi天線,買了也不虧,一個好點的USB攝像頭都不只這個價格了!為啥很少人使用呢?原因是入門比較麻煩。要是使用樂鑫idf去搭建開發(fā)圖傳,很麻煩,很難成功。
國內(nèi)某個測評網(wǎng)有詳細(xì)簡介:https://post.smzdm.com/p/amm03d0d/
模塊的原理圖如下:
模塊的全家福如下:
該模塊在某寶很多家店鋪有售,至于代工廠估計有很多家,但是根據(jù)原理圖就那么多IO口,資料都是通用的。
經(jīng)過我自己個人努力,半年時間內(nèi)掌握了ESP32圖傳技術(shù),采用的是Arduino開發(fā)環(huán)境開發(fā),很多情況下使用庫函數(shù)來快速實現(xiàn)圖傳的功能。搭建開發(fā)環(huán)境也花了不少時間,后面根據(jù)一個教程搭建成功了。
搭建視頻鏈接:https://pan.baidu.com/s/1_xYw-Mg3LPb5vqMuVgiD2A
提取碼:qdl2
搭建軟件及素材:鏈接:https://pan.baidu.com/s/1eIES_hDWNgr5lZD4akP9Jw
提取碼:zrwu
最后是我根據(jù)搭建環(huán)境自帶的圖傳源碼修改裁剪后的圖傳源碼(在最后免費下載),該源碼是我將三四個源碼文件裁剪修改合成一個源碼文件,實現(xiàn)了圖傳功能,代碼精簡利于閱讀和學(xué)習(xí),先進行配置和運行的說明:
(1)整個工程就是一個9kb的源碼,名字叫websocket.ino文件,然后修改熱點的名稱和密碼:
(2)找一個CH340的USB轉(zhuǎn)TTL電平的模塊,某寶幾塊錢有賣的,按照下圖接上模塊:
右邊的模塊就是USB轉(zhuǎn)TTL模塊,主要是用來下載程序和串口調(diào)試,左邊接ESP32模塊,右邊接電腦。
個人建議給cam模塊供電壓5V在第一張原理圖左下角的端口供電,免得電源不足,不要接錯了!
UoR就是RX端
UOT是TX端
這兩個端跟CH340的RX、TX交叉連接,如圖示
將IO0端口與GND連接上之后就可以馬上下載程序了:
(3)用Arduino下載程序:(如果下載過程中出現(xiàn)失敗,可以嘗試按下模塊的RST按鍵)
(4)創(chuàng)建一個熱點,名稱和密碼都與(1)的步驟相同,讓ESP32的wifi能連上,我就用筆記本電腦創(chuàng)建了一個熱點,然后打開串口Arduino監(jiān)視器或者打開一個串口調(diào)試助手,打開電腦與CH340鏈接的串口,拔掉cam模塊中IO0與GND鏈接的線(第三張圖灰色的線,不斷開就不能啟動程序只能不斷下載),再按下一次cam模塊的RST按鈕松開,如下圖:
從圖上看出,RST按下時,第一次程序運行不對,第二次運行正確了,打印出IP地址。右下角顯示有設(shè)備連上熱點。多試試幾次就能成功的!
(5)打開谷歌瀏覽器,輸入網(wǎng)址串口打印的網(wǎng)址:172.25.139.2(個人具體IP看打印為準(zhǔn))就可以看到攝像頭采集的視頻流,相當(dāng)流暢,如下圖所示:(其他瀏覽器可能失敗)
由于攝像前面的保護膜沒有撕掉,所以有點模糊,視頻還是很流暢的。
總結(jié):該項目演示了用ESP32作為一個STA模式連上路由器或者筆記本熱點,在同一個局域網(wǎng)環(huán)境下用瀏覽器登錄ESP32的IP地址就可以收看ESP32攝像頭采集下來的圖像信息。后期會陸續(xù)發(fā)布根據(jù)此源碼升級成視頻監(jiān)控小車、視頻監(jiān)控智能控制攝像頭、視頻監(jiān)控系統(tǒng)和手機客戶端圖傳、stm單片機圖傳接收、機器人視覺人臉簽到系統(tǒng)、遠(yuǎn)程MQTT圖傳手機app接收、局域網(wǎng)javaweb顯示圖傳、等等項目,敬請期待。