【esp32-cma】OSError: Camera Init Failed解决办法

esp32-cma OSError: Camera Init Failed

  • 现象
  • 解决办法
  • 完整代码:

现象

第一次刷固件之后,能拍一张,然后只能重新刷固件,否则都报 OSError: Camera Init Failed

解决办法

注意每一次方法初始化完相机之后,使用完相机,都要在末尾来一句

camera.deinit()

完整代码:

import camera
print('camera init')
try:
    camera.init(0, format=camera.JPEG)
except Exception as e:#如果报错
    print(f'camera init has exception,message:{e}')
    camera.deinit()
    camera.init(0, format=camera.JPEG)
# 拍摄一张图片
buf = camera.capture()  # 大小是640x480
# 保存图片到文件
with open("picture.png", "wb") as f:
    f.write(buf)  # buf中的数据就是图片的数据,所以直接写入到文件就行了
    print("successful...")
# 这一句是救命稻草,没有这句,就只能每次都刷固件了。。。
camera.deinit()

你可能感兴趣的:(ESP32,MicroPython,esp32-cma,MicroPython,OSError)