最近拿到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室