基于ESP32CAM的网络摄像头图传实例
安装与配置 Arduino IDE
安装 Arduino IDE
进入官网下载安装包Arduino IDE安装包
https://www.arduino.cc/en/software
安装过程
汉化 Arduino IDE
- 汉化过程:File-Preferences-Language-中文(简体)
配置ESP32库
添加开发板管理地址
进入Arduino IDE菜单栏-首选项-开发板文件管理地址。可以直接复制我下面的地址:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
开发板管理地址也可以直接在此链接中获取,这里不做演示。
https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls
添加完成后等待下载索引,当然了,下载过程可能会报错,忽略就好了。
安装库
进入项目 - 导入库 - 管理库功能(多种进入方法):
搜索esp32 即可看到 esp32 by Espressif Systems .点击安装,开始安装对应的库。
但安装过程大概率是会报错的,即便你使用了科学上网。所以只能手动去下载所需的文件,然后放到对应的目录下。
直接使用 Everything 搜索 esp32-arduino
就可以看到对应的文件存放目录。
C:\Users\username\AppData\Local\Arduino15\staging\packages
这里整理了两种下载错误情况,一种是下载过程及其缓慢,其实就是压根儿下载不了。第二种是直接报错,下载失败,且会给出下载链接。在下载安装库过程中可能两种情况都会出现,下面一一解决:
下载缓慢的解决方法
打开刚才用 Everything 搜索得到的文件目录可以看到正在下载的文件,但由于种种原因,该文件就是下载不了,所以它的大小是0KB。
直接复制这个文件名,在浏览器打开对应的开发板管理地址。
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
使用 CTRL+F 快捷键搜索刚刚下载不下来的文件名就可以看到这个文件的完整下载路径。
手动下载这个文件(可能需要科学上网),放到刚才的文件路径下,如果文件替换不掉,直接关掉 Arduino IDE 重试即可,反正一会儿要重启。
重新打开Arduino IDE,进入库管理页面,再次搜索并下载安装刚刚的库,会出现同样的情况下载不了。我们一直重复上面的操作,手动下载文件放入目录,直到库与依赖库都下载完全即可。
下载失败的解决方法
当然了,也会出现另一种情况,直接出现报错,那这个时候就好办了。直接打开报错之后出现的下载链接下载文件并放入目录,重启 Arduino IDE 。
重复直到库安装完成。到这里 ESP32 库就算安装完成了,保守一点,重启一次 Arduino IDE 。
网络图传
Arduino IDE 中打开菜单 文件 - 示例 - ESP32 - Camera - CameraWebServer.
连接上 ESP32CAM 板子并配置好驱动与 Arduino IDE 连接
接下来更改一下代码
直接上传代码,确保板子处于烧录模式。
烧录完成,打开软件右上角的串口监视器。
波特率选择115200。按下板子的复位键,查看打印出的内容,WiFi连接成功后会出现一个
浏览器进入该IP地址即可看到管理页面。点击Start Stream即可看到摄像头的图传。
到这里就配置好了,可以连接稳定的电源,实现全天在线。搭配路由内网穿透可以实现远程监控,这也是最便宜最简单的监控。
问题汇总
过程中可能会遇到一些奇怪的问题,下面是我整理了自己遇到的问题以及解决的方法:
无法访问页面
串口监视器中明明看到程序正常运行,且给出 IP 地址了,可手机电脑都进不去该页面;
尝试连接手机热点,就可以正常访问了。
判断是路由器配置问题,可以进入路由器管理后台设置 WLAN2.4G 频段网络配置加密/认证配置为 TKIP
。
重新按一下复位,进入给出的 IP 地址就可以正常访问页面了。
没有图传
打开页面之后,点击 Start Stream ,没有出现图像,显示为一张碎掉的图片。
这大概率是摄像头坏了,我是更换了摄像头后解决的问题。但是也不排除是浏览器内核不适配的原因,可以尝试更换浏览器内核解决。
图传有大量条纹
摄像头画面存在很明显的条纹。
这是由于供电不足导致的,更换一个5V2A的适配器看看。