零基础打造全屋智能控制系统 篇二十九:45元的WIFI摄像头模块,能玩出什么花样?
周末的时候,群主@blindlight在群内发了一篇关于ESP32-CAM文章的链接,文章大意是使用ESP32-CAM模块来做视频串流和人脸识别(原文地址)。闲着打开看了下,发现这个项目只需要一块10美金的ESP32-CAM就能实现,当然,10美金是外国友人价,大淘宝上只要43元(不含运费)就能拿下,本着分享一篇文章回本20元,这样一个模块只要23元的想法,就买了两块,当然,买一块或是多块写文都只能回本20,但是运费要10元,所以为了分摊运费,我就多买了一块备用,毕竟手残党,搞不好就弄坏了,或者发现很好用,说不定又要再买,是吧。
如果自己折腾开源智能家居的话,其实对ESP系列芯片不会陌生,使用基于ESP8266芯片的nodemcu以及D1 MINI模块制作自己的物联网设备,或者像小米飞利浦的智能灯,YEELIGHT智能浴霸都使用ESP32芯片来进行物联网链接。而根据安可信的介绍:
大概意思就是这玩意能做出一个WIFI智能摄像头或者是扫码收钱终端?这个我们暂且不管,还是来看看实物和之前教程的应用。
一、开箱
模块包含一块ESP32-CAM的MCU和一个OV2640的200W像素摄像头,ESP32-CAM除了支持OV2640外还支持OV7670摄像头,不过7670只有30W像素,想来也没人愿意用。
大家可以看到,模块配置还是挺全的,TF卡插槽,闪光灯,外置天线接口啥的应有尽有。
而标配的OV2640用的是一个标准视角的镜头,单独售价大约是10元一个。而带120°-150°广角镜头的OV2640售价一般都要20-30元,如果自己折腾的满意也可以单独购买广角镜头版的OV2640进行替换。
组合起来大概是这么个效果,如果觉得排线较短的话,马家也有延长线出售。
二、烧录固件
在进行烧录前,我们先要看下ESP32-CAM的各个GPIO定义,这里我们需要用到的是左下角的5V/GND(或者右下角的3.3V和GND,但是使用时必须链接5V 2A电源)以及右上角的GPIO1和GPIO3,这四根线分别接USB-TTL的5V,GND,GPIO1接RX,GPIO3接TX。并且,需要将GPIO0和边上的GND短接进入烧录模式:
这张照片GPIO0和GND还没接,大家一定记得接上。
烧录工具我们用的是ARDUINO IDE,可以从ARDUINO官网下载:
首先我们要添加ESP32的芯片支持,先打开首选项:
在附加开发板管理器网址里填上:https://dl.espressif.com/dl/package_esp32_index.json 然后单击好。
然后在工具里打开开发板管理器:
等待索引做完之后找到ESP32并安装,下载安装需要点时间,等安装的时候,我们可以前往github下载本次示例使用的文件代码
然后打开CameraWebServer.ino文件,我们要对代码进行一些设置:
首先是相机的选择,我买的是AI THINKER的版本,所以注释掉其他两个设备,仅保留AI THINKER的,然后就是要链接的WIFI网络的SSID和密码,切记,ARDUINO不支持中文,所以只能链接英文SSID的2.4GWIFI网络。
在开发板里面选对我们需要的开发板和相关设置,然后点击上传就好。
三、使用
使用上我们只要通过浏览器,无论是手机还是电脑,输入ESP32-CAM的IP地址,就能看到设置页面了:
点击Start Stream就能看到实时影像了:
大家可以看到我给这个摄像头打印了个外壳和支架后安放在了厨房,因为我之后想配合Tensor Flow来做一个检测碗有没有洗掉的应用,要是碗没洗掉,就不能看电视……,为了强迫自己洗碗也真是煞费苦心啊。至于在题图里面说的人脸检测,是在左边的设置项Face Detection和Recognition的功能:
不过测试下来这个功能并不完善,首先是芯片的处理能力有限(非专业图像处理芯片),所以只能针对最大CIF分辨率(400X296)像素进行识别,并且识别率并不高。其次,人物识别Enroll Face记录的脸断电后不能保存。所以这个示例实验的意义大于应用的意义,也就是告诉你我能做,但事实是做的并不好。
除此以外,随着输出分辨率的提升,帧率会大幅下降,在UXGA(1600X1200)分辨率输出下,帧率只有3-6fps。要保持流畅的话,最大分辨率也就VGA尺寸能用,所以远程监控的话,只适合要求不高的视频流。当然,这个示例没有保存视频的功能,所以不知道如果本地保存的话质量如何,大家要是有兴趣可以自己实验。除了直接输IP进入设置页面查看串流之外,代码还提供了两个接口可以查看静态图像和视频流,分别是http://192.168.XXX.XXX/capture和http://192.168.XXX.XXX:81/stream
所以目前我的打算是使用树莓派去抓取静态图像,然后使用其他工具进行分析来做应用。例如厨房碗洗了没。或者配合红外传感器来更准确的判断有人无人。或者做成智能猫眼也是不错的选择。这个要大家各自发挥想象力了,这里只是抛个砖。
总体上说,45块比米家人体传感器还便宜的价格是买不了吃亏,买不了上当的。关键是之后你准备怎么折腾,怎么用。或许也不排除有其他代码运行的更好,这个也要进一步发掘。最后祝大家玩的开心。
yoyokkiis
校验提示文案
sunbox
校验提示文案
值友5570320191
校验提示文案
轻指飞扬
校验提示文案
exceloo
校验提示文案
luxunuo
校验提示文案
star_liu
校验提示文案
ruan239168
校验提示文案
浮生行简
校验提示文案
看星空看日落
校验提示文案
值友4097982034
校验提示文案
seeh
校验提示文案
3006kane
校验提示文案
呐戈啥请多关照
校验提示文案
zhilcc
校验提示文案
张雨晨
校验提示文案
jacklikelily
校验提示文案
古天乐的普通话
校验提示文案
App发现号
校验提示文案
夏天还是结束了
校验提示文案
值友4097982034
校验提示文案
szseer
校验提示文案
看星空看日落
校验提示文案
值友4859411259
exit status 1
为开发板 ESP32 Wrover Module 编译时出错。”的问题。嗯现在比较急用,希望可以请教一下作者您!
校验提示文案
四桶爸
校验提示文案
exceloo
校验提示文案
唐少游
校验提示文案
star_liu
校验提示文案
luxunuo
校验提示文案
exceloo
校验提示文案
zdy1
校验提示文案
hdzlhr
校验提示文案
Y9无域
校验提示文案
无敌稻草人
校验提示文案
夏天还是结束了
校验提示文案
ruan239168
校验提示文案
App发现号
校验提示文案
浮生行简
校验提示文案
轻指飞扬
校验提示文案
古天乐的普通话
校验提示文案