【详细教程】使用Thonny通过烧录座为ESP32-CAM准备Micropython
ESP32-CAM,不用USB转TTL模块,使用烧录座刷入固件并测试
前言
购买了ESP32-CAM,想要搓一个相机玩玩,用python编写程序。
图方便直接买了带烧录座的(如图款,硬件已完成修改,见下文)。

网上查阅了很多教程,但是都用的USB转TTL模块,很少有用烧录座的。
大量参考了这篇:ESP32-CAM应用(Micropython+Thonny)_esp32cam-CSDN博客
不过这篇使用的是USB转TTL模块,本文会大量借鉴这篇文章的步骤,并对烧录座进行补充
教程部分:
1.烧录座准备
第一次进行烧录的时候怎么都成功不了,问了客服才知道:使用Thonny通过烧录座烧录需要先修改硬件电路。
具体来说是要敲除两个原件,这个有一点动手能力就行:

这两个原件敲掉,保险一点就用烙铁热一下取掉
可以看到座上有两个按键,一会要用到,一个是IO0接地按键,另一个和板载reset功能相同
接下来把板子插上去,准备烧录
2.烧录准备
这里的步骤参考:ESP32-CAM应用(Micropython+Thonny)_esp32cam-CSDN博客
写得很详细,这里准备到这个界面:

(也就是下好固件,准备好烧录)
3.烧录固件
这一步需要一点技巧,首先点击界面红框部分打开详细信息:

按一下烧录座RST键,重置一下
然后保持按住IO0键,使板子IO0接地进入烧录状态(如图)

这一步很重要!!!!!在接下来的过程中请一直按住!!!!!
接下来开始微操:
1.点击屏幕上的Install键,开始
2.出现如图字后赶紧再次按下RST键(这时候IO0键仍然没有松开)

3.稍作等待,会有字提示:


4.然后开始出现百分比,这时候可以松开IO0键:

5.等待烧录完毕,Done:

6.关闭窗口,发现还有报错,按一下RST键:
按RST前:

(#第一次试的时候一直报这个,然后问客服才知道有改硬件电路这一步)
按RST后:

(可见已经成功识别)
到此刷写固件完毕
4.测试
插入TF卡
输入以下程序:
import uos
from machine import SDCard,Pin
import camera
lighter=Pin(4,Pin.OUT)
# 初始化摄像头
try:
camera.init(0, format=camera.JPEG) # 使用try捕获初始化异常
except Exception as e:
camera.deinit() # 如果捕获到异常,则释放。
camera.init(0, format=camera.JPEG)
try:#挂载TF卡
uos.mount(SDCard(), "/sd")
except Exception as ret:
print("挂载失败...", ret)
else:
print("挂载成功...")
lighter.value(1)
# 拍摄一张图片
buf = camera.capture() # 大小是640x480
print("拍摄完成")
# 保存图片到文件
lighter.value(0)
camera.deinit() # 在使用摄像头后,调用camera.deinit释放
print("摄像头解除完成")
with open("/sd/number.txt", "a+") as f:
f.seek(0)
lasstnum = f.readline() #读第一行
f.seek(0)
f.write(str(int(lasstnum)+1)+"\n")
print("序号更新成功")
lasstnum = lasstnum.strip('\n')
with open("/sd/photo"+lasstnum+".png", "wb") as f:
f.write(buf) # buf中的数据就是图片的数据,所以直接写入到文件就行了
print("拍照完成")
先把代码保存到板子里:File>>Save copy>>选板子>>取名main.py
运行,闪光灯闪烁,拍摄照片保存
窗口有输出:

左边刷新一下文件列表(这个在View里打开)


sd里面就有照片和编号文件,右键下载
就可以看到照片啦
附:全屏截图

后记:
第一次写文章,有问题请指教,测试代码写得不太优雅,凑合着用用
: )
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)