之前都是8266相关的操作,这次我们正好手里有了块ESP32的板子,而且带了个摄像头。提到ESP32,其实就是ESP8266的升级版,整体的CPU处理能力更强,不仅支持WIFI,同时还支持蓝牙。由于我这块板子本身还带了个摄像头,是ov2460型号的,所以今天我们来看看如何将其驱动起来并点亮。
搭建ESP32的开发环境
由于之前使用的Arduino IDE是esp8266的开发环境,不具备esp32的开发环境,所以这里我们需要按照如下步骤来搭建esp32的开发环境,步骤有些繁琐,还是和我慢慢的来进行吧。
1.本地新建一个文件夹,比如我这里是E:\esp8266工具\deploy\32deploy
2.网页打开https://dl.espressif.com/dl/package_esp32_index.json并将此json文件保存到步骤1中的文件夹中。
3.网页打开百度网盘:https://pan.baidu.com/s/1GPwifqe_UvORb3OdAV42qQ 提取码: r6pt 将下载的文件解压到步骤1中的文件夹中。
4.将步骤1中的json文件中的这几个文件的URL都变更为192.168.43.254,然后保存此json文件。 或者将3中解压的文件拷贝到C:\Users\sscy\AppData\Local\Arduino15\staging\packages中,不同机器路径不一样,请斟酌更改。
这两种方法,各取其一就行。
5.网页打开https://www.rejetto.com/hfs/?f=dl,下载hsf.exe,用于搭建web文件服务器。
注意,如果你网络连接外网通畅,就没必要这么麻烦了,直接按照正常流程就行了。
备齐这些材料之后,然后我们打开hsf.exe,然后目录指向步骤1中的目录,服务器就搭建好了:
之后,打开arduino ide,将路径填写为我们文件服务器生成的路径:
之后,在开发板管理选项中,输入esp32,点击安装,由于咱们的文件都备齐了,所以这里免除了下载步骤,直接进行了安装:
一切完毕后,可以看到ESP32的环境已经安装好了。
程序设置
首先,选择开发板,这里我们按照如图设置进行选取:
之所以这里选择Huge App是因为cam驱动需要2m多一点的空间,选择这个选项,烧写的时候,不会出错。
然后,选择好板子之后,我们开始加载程序,依次选择文件->示例->ESP32->Camera->CameraWebServer,将例子加载好,加载好之后的内容如下:
这里需要记得,按照注释的说明,将开头处的定义更改为
#define CAMERA_MODEL_AI_THINKER
即可。
程序烧写
烧写程序,需要USB-TTL的工具,我这里有一个,是基于340G的,接线方式如下:
需要注意的是,在固件烧录模式下,GPIO0口是一定要接GND的。
最后整体的接线图如下,绿色线即为GPIO0口和GND口相连:
接好后,开始进行烧写吧:
烧写过程比较慢,需要慢慢的等烧写完毕,烧写完毕之后,按rst按钮复位,从串口监视器中,我们可以看到如下输出:
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2)) waiting for download
这输出表明ESP32板子整体处在下载模式Ready的状态,也就是Flash模式中,可以进行程序下载。
由于这里我们程序已经下载完毕了,所以可以解除Flash模式了,我们拔掉GPIO0口和GND口的那条绿色的线,然后按rst按钮复位一下,此时可以看到如下输出:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:8896 load:0x40080400,len:5816 entry 0x400806ac ............. WiFi connected Starting web server on port: '80' Starting stream server on port: '81' Camera Ready! Use 'http://192.168.43.153' to connect
可以看到,我们的程序成功跑起来了,按照提示说明,我们打开链接看看:
可以看到摄像头已经使能了,同时从串口监视器中可以看到有数据流传输了:
具体更多功能,留待大家探索就行了。
话后语
需要注意几点:
1.烧写的话,GPIO0一定要接GND,运行的时候,GPIO0和GND断开。
2.USB-TTL烧写,需要按照对应的针脚连接,340G的话,需要先装好驱动。
3. 摄像头运行的时候,必须要自己的手捏住板子背面插TF卡的铁卡套,才能非常流畅的运行,松开手就运行的比较卡顿,也不知道为啥,难道是因为哪里接错了吗?
参考文章为:
https://blog.csdn.net/zhou1986jia/article/details/104763361/
https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/
https://www.jianshu.com/p/c1a69a6772f3