普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)

【转】基于ESP8266芯片的nodemcu以及D1 MINI模块制作自己的物联网设备,或者像小米飞利浦的智能灯,YEELIGHT智能浴霸都使用ESP32芯片来进行物联网链接。

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(1)

一、开箱

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(2)

模块包含一块ESP32-CAM的MCU和一个OV2640的200W像素摄像头(淘宝购不到50元),ESP32-CAM除了支持OV2640外还支持OV7670摄像头,不过7670只有30W像素,想来也没人愿意用。

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(3)

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(4)

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(5)

大家可以看到,模块配置还是挺全的,TF卡插槽,闪光灯,外置天线接口啥的应有尽有。

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(6)

而标配的OV2640用的是一个标准视角的镜头,单独售价大约是10元一个。而带120°-150°广角镜头的OV2640售价一般都要20-30元,如果自己折腾的满意也可以单独购买广角镜头版的OV2640进行替换。

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(7)

组合起来大概是这么个效果,如果觉得排线较短的话,马家也有延长线出售。

二、烧录固件

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(8)

在进行烧录前,我们先要看下ESP32-CAM的各个GPIO定义,这里我们需要用到的是左下角的5V/GND(或者右下角的3.3V和GND,但是使用时必须链接5V 2A电源)以及右上角的GPIO1和GPIO3,这四根线分别接USB-TTL的5V,GND,GPIO1接RX,GPIO3接TX。并且,需要将GPIO0和边上的GND短接进入烧录模式:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(9)

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(10)

这张照片GPIO0和GND还没接,大家一定记得接上。

烧录工具我们用的是ARDUINO IDE,可以从ARDUINO官网下载:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(11)

首先我们要添加ESP32的芯片支持,先打开首选项:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(12)

在附加开发板管理器网址里填上:https://dl.espressif.com/dl/package_esp32_index.json 然后单击好。

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(13)

然后在工具里打开开发板管理器:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(14)

等待索引做完之后找到ESP32并安装,下载安装需要点时间,等安装的时候,我们可以前往github下载本次示例使用的文件代码https://github.com/RuiSantosdotme/arduino-esp32-CameraWebServer

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(15)

然后打开CameraWebServer.ino文件,我们要对代码进行一些设置:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(16)

首先是相机的选择,我买的是AI THINKER的版本,所以注释掉其他两个设备,仅保留AI THINKER的,然后就是要链接的WIFI网络的SSID和密码,切记,ARDUINO不支持中文,所以只能链接英文SSID的2.4GWIFI网络。

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(17)

在开发板里面选对我们需要的开发板和相关设置,然后点击上传就好。

三、使用

使用上我们只要通过浏览器,无论是手机还是电脑,输入ESP32-CAM的IP地址,就能看到设置页面了:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(18)

点击Start Stream就能看到实时影像了:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(19)

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(20)

大家可以看到我给这个摄像头打印了个外壳和支架后安放在了厨房,因为我之后想配合Tensor Flow来做一个检测碗有没有洗掉的应用,要是碗没洗掉,就不能看电视……,为了强迫自己洗碗也真是煞费苦心啊。至于在题图里面说的人脸检测,是在左边的设置项Face Detection和Recognition的功能:

普通摄像头怎么加wifi模块(DIYWIFI摄像头模块)(21)

不过测试下来这个功能并不完善,首先是芯片的处理能力有限(非专业图像处理芯片),所以只能针对最大CIF分辨率(400X296)像素进行识别,并且识别率并不高。其次,人物识别Enroll Face记录的脸断电后不能保存。所以这个示例实验的意义大于应用的意义,也就是告诉你我能做,但事实是做的并不好。

除此以外,随着输出分辨率的提升,帧率会大幅下降,在UXGA(1600X1200)分辨率输出下,帧率只有3-6fps。要保持流畅的话,最大分辨率也就VGA尺寸能用,所以远程监控的话,只适合要求不高的视频流。当然,这个示例没有保存视频的功能,所以不知道如果本地保存的话质量如何,大家要是有兴趣可以自己实验。除了直接输IP进入设置页面查看串流之外,代码还提供了两个接口可以查看静态图像和视频流,分别是http://192.168.XXX.XXX/capture和http://192.168.XXX.XXX:81/stream

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页