用过Arduino的朋友都知道,Arduino的整个生态强大得让你不能不服。大家所贡献出来的各种库让基于Arduino的开发虽然还没有变得无所不能,但也算是相当得心应手了。你所能想到的功能大体都能在网上找到对应的库和文章。可能是因为这个原因吧,所以很多的开发板也开始兼容Arduino了。几个月前分享给你的是STM32的,这东西非常便宜,适合一些小项目。这次想介绍的是ESP32,它的价格大概是20多块钱左右,但它天生就自带Wifi和蓝牙,性能和存储空间也都比较不错。而最让我兴奋的是它的ESP32-CAM这个型号。它不仅有Wifi和蓝牙,竟然还自带了摄像头和SD卡槽。再加上它竟然可以运动TinyML,也就是说,它可以运行训练好的人工智能模型了!那我自然会想到用它来做一些视觉性的识别功能了。比如说:
- 分辨镜头里的是小狗还是小猫
- 识别镜头里有没有人脸
- 识别镜头里有没有汽车
- 识别静态的手势
当然了,价格在那,表示着成本就这么多,不能期望它能做到越强的人工智能效果,但是几个简单的人工智能模块的联动还是可以有很大的想像空间的,你觉得呢?
本来在Arduino IDE上使用ESP32并不难,基本上跟我之前介绍的STM32差不多的方式,但是因为国内访问Github不太方便,我寻找国内安装的方式还是花了些时间。为了让大家不用再花这种时间,这里分享国内可用的离线安装方法。
强调!能有这样的方便,不是我的功劳,而是另一个社区朋友们的功劳,原链接如下。你也可以直接参考他们的说明呵。
🚀Arduino IDE安装esp32 SDK(Windows)2022.9.17更新-Arduino爱好者 - Powered by Discuz!社区的esp32/8266开发交流群 6810292561.先安装好ArduinoIDE(如果已安装,直接跳到第二步)下载Arduino IDE2.打开Arduino IDE菜单 > 文件 >首选项,在 附加开发板 ...https://www.arduino.cn/thread-81194-1-1.html
本文我是想写得比较简单易读,如果哪里写得不够清楚,希望你能留下评论告诉我,我会马上将它完善。我不希望重复造轮子,但发现没有好用的轮子时,希望能进化出一个更为完善的轮子,以使后来可以直接使用。
目录
在Arduino 1.8.19开发环境中增加ESP32(离线安装)
1️⃣ 添加“附加开发板管理网址”
2️⃣ 增加ESP32开发板,安装离线SDK包
3️⃣ 选择ESP32开发板
4️⃣ 写测试代码
5️⃣ 下载程序到ESP32-CAM(或者叫烧录)
在Arduino 1.8.19开发环境中增加ESP32(离线安装)
1️⃣ 添加“附加开发板管理网址”
1. 找到“首选项”
2. 修改“附加开发管理器网址”
链接是这个,直接拷贝进去就行。
https://www.arduino.me/package_esp32_index.json
如果你对它好奇怪,也不要管它。因为它只是一个假链接,用来让Arduino IDE能识别到你增加了ESP32这种开发板的,让菜单中增加ESP32开发板,以使后面安装的ESP32 SDK能起作用。这一步在一些旧版本中可以省去,但具体是哪个版本以下可以省去,我并没有测试。
3、然后点击界面上的“好”。就完成了这一步。
2️⃣ 增加ESP32开发板,安装离线SDK包
1. 下载安装包,安装包链接如下:
🚀安装包:esp32_package_2.0.5_arduinocn.exehttps://www.123pan.com/s/dJrKVv-tyYB
下载完后,你会看到这个文件:
2. 双击它,然后它就是开始安装了。
完成之后,SDK包就安装好了。👍
3️⃣ 选择ESP32开发板
请关闭Arduino IDE,并重新打开它。
然后在这里你就能看到所有支持的ESP32开发板了。我所选的"AI Thinker ESP32-CAM"就是ESP32-CAM。
4️⃣ 写测试代码
我们用自带的Blink示例来测试。我使用的是ESP32-CAM来测试。它上面自带了一个起闪光
灯作用的LED灯,这个灯对应的引脚为GPIO4,所以使用时,咱们直接用4来表示就可以了。
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(4, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(4, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(4, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
写完代码,就可以编译和下载了。
5️⃣ 下载程序到ESP32-CAM(或者叫烧录)
1. 关于连线
如果你买了ESP32专用的开发底座或者扩展板的话,那你只需要将开发板装上去,然后接上MicroUSB就可以了。但我们其实很多时候是要将开发板放到面包板或者PCB板上,这时我们就要知道怎么连线进行程序下载了。
首先,咱们需要有USB转TTL(下图这个东西),通过它,我们就能让电脑可以跟开发板进行通信了。而通信的方式称为UART,其实就是一种串口通讯方式。
要使用UART通讯,首先要找到开发板上的TXD和RXD。Arduino板子上是有直接标的,所很多开发板没有直接在板子上标出来,这时就需要找到数据手册(Datasheet),或者在网上找到图片参考。比如这块板子:
还有ESP32-CAM是在这里:
而具体接给的方式如下:
USB转TTL ESP32 3v3 3v3/5V (使用电脑供电时要接,否则可以不接) GND GND (无论是否用电脑供电都要接) TXD RXD RXD TXD 2. 进入烧写模式
要下载程序的话,仅仅是连上线还不行,我们还要让ESP32进入烧写模式。具体的做法是让GPIO 0接地。
1) 先找到GPIO 0
2) 然后找一要“母对母”的杜邦线短路就行
3)按RST让开发板重启,或者断电再接上电也可以。
3. 下载
确认连线没有问题,ESP32也进入烧写模式,我们就可以点击下载了。
看到下面这个提示就表示下载完成。
注意!当下载完成后,记得将GPIO 0和GND上的杜邦线去掉,然后RST一次。