最近拿到LPC55S69-EVK開發板,打算做點有趣的東西,費盡心思想出了這個:
物趣系列
簡單介紹下,物趣系列的最終目標是實現基于55S69的智能識別,貓貓狗狗之類的,能支持到多少種“物”,看具體進度。 物趣系列技術路線:OV7670采集圖像?1.77寸TFT屏顯示?ESP8266上傳服務器?獲取識別結果?顯示到TFT屏上。 物趣系列將分三步走,
[敏感詞]步,LPC55S69-EVK適配 ST7735 TFT屏,這個屏是SPI的,用的是手邊上項目剩的料。本貼! 第二步,LPC55S69-EVK適配 OV7670 攝像頭,把圖像顯示到TFT屏上。 第三步,LPC55S69-EVK適配 ESP8266 WIFI模塊,上傳到自家服務器,識別物體,將返回結果顯示到TFT屏上。 整個計劃三帖更完,今天這是第三帖。
LPC55S69物趣系列之③:
多物體識別!
先放一個人臉識別的效果圖,圖像是本人。 還有小貓小狗在文章末尾。
這里簡單說一下ESP8266的使用。論壇里會玩ESP8266的大佬太多,不敢造次。所以我盡力用最簡單的語言把ESP8266相關的部分說清楚。在物趣系列的設計中,ESP8266僅用作和云端服務器傳遞數據的手段,不涉及其二次開發。LPC55S69引腳路由如下圖。
系統通過一個按鍵識別用戶輸入,當用戶按下按鍵,即將一幀圖像實時上傳到云端,等待識別結果返回。云端服務器是個人私用的,不對外開放。為方便下文描述,在本地局域網絡中建立了一個服務器拷貝,并暴露一個端口供ESP8266建立通訊。這里,ESP8266工作在STA模式下:
第1步 ,使用“AT+CWMODE=1”設置ESP8266為STA模式;
第2步 ,使用“AT+CWJAP_DEF=<ssid>,<pwd>連接到AP;
第3步 ,使用“AT+CIPSTART=“TCP”,<remoteIP>,<remote port>”連接到服務器; (等待用戶按下按鍵,將一幀圖像上傳到服務器)
第4步 ,使用“AT+CIPSEND”,向服務器傳輸BMP圖像。圖像分辨率128*160,包含頭信息70字節,內容40960字節,共計41030字節。先向服務器發送圖像頭,70字節,告知服務器即將發送圖像數據。之后分80段,每段512字節,向服務器傳輸數據。傳輸結束后,向服務器發送“over”告知圖像已傳輸完成。服務器每收到512字節數據,向客戶端返回“success”表明接收成功。 (此處等待服務器識別圖像,識別完成,返回“start”告知客戶端,即將發送圖像信息。隨后將結果以RGB565的格式,共計40960字節分段傳輸給客戶端。)
第5步 ,客戶端收到“start”信息,進入圖像刷寫狀態。每接收一段數據,即將該段數據刷寫到屏幕上。待刷寫完成后,結果停留2-3秒,其后攝像頭開始工作,將新的圖像刷寫到屏幕上。 這里上傳和接收數據,采用多段傳輸的方法,可以使用更小的buffer,節約RAM。當然,分段越多,傳輸效率越低。ESP8266每進入一次數據傳輸狀態,所需時間大致可以描述為“發送數據的系統開銷T1+發送數據的用戶開銷T2”,發送分段越多,T1累積越大。對于發送固定總量的數據來說,分段越小,應該效率越高。以上是個人見解,如不正確,請論壇大佬指正! 調試時已經成功識別一些物體,這里取小貓和小狗的識別結果分享給大家!這里圖片是在手機上顯示,用OV7670拍攝,然后識別的。視頻節目過兩天上傳,請期待。
小狗識別
小狗+小貓多物體識別
免責聲明:本文轉載自“硬禾學堂”,本文僅代表作者個人觀點,不代表薩科微及行業觀點,只為轉載與分享,支持保護知識產權,轉載請注明原出處及作者,如有侵權請聯系我們刪除。
公司電話:+86-0755-83044319
傳真/FAX:+86-0755-83975897
郵箱:1615456225@qq.com
QQ:3518641314 李經理
QQ:332496225 丘經理
地址:深圳市龍華新區民治大道1079號展滔科技大廈C座809室