ESP32CAM物联网教学12

ESP32CAM物联网教学12

MicroPython 视频服务

小智希望能在MicroPython中实现摄像头的视频服务,就像官方示例程序CameraWebServer那样。

  • 下载视频服务驱动库

小智通过上网搜索,发现相关的教学材料还不少,并且知道有人已经写出了视频服务的驱动库文件。也可以从下面的链接下载https://pan.baidu.com/s/1H-Q6bQ3LSru6P8NjL7M0vQ,可以得到如图三个文件,其中的microdot.py就是视频服务的驱动库文件。

  • 测试运行程序

打开Thonny,烧写MicroPython的镜像文件(如果不清楚可以看看第十课,镜像文件在下载文件当中,就是那个micropython************* .bin)。插入ESP32Cam,点击窗口右下角的设备,刷新一下,看到出现提示信息"help()"表示设备启动成功了。

首先打开电脑中的esp32web.py和microdot.py这两个文件,保存到超级用户文件夹中Administrater,右击电脑中的microdot.py,选择"上传",把这个文件上传到MicroPython设备(ESP32Cam开发板)中。

接着打开电脑中的esp32web.py,点击窗口上方的"运行"按钮,在Shell窗口中出现了这个视频服务的IP地址。打开浏览器,输入http://192.168.1.184:5000,(注意了,需要在IP的后面增加一个端口号5000),这样就可以看到摄像头的视频了

  • 自动运行程序

我们在电脑中运行esp32web.py这个程序,能成功实现摄像头的视频服务后,我们能不能把这个程序写入开发板,让开发板通电后能够自动运行呢?当然可以,只要我们把这个esp32web.py程序保存到开发板中,重命名为main.py

这样,我们把开发板拔下后,重新插入电脑通电,这时候我们可以用浏览器查看到摄像头的视频了,说明开发板在通电启动后,已经自动运行了这个视频服务的程序了。

需要注意的是,如果我们想修改程序,点击右下角的设备刷新的时候,会出现如图的摄像头初始化的错误。这个是因为开发板中的摄像头在通电的时候,已经自动运行了,现状是打开的状态中,重新刷新设备时,会试图再次打开摄像头,所以就出现了这样的错误了。

解决的办法是,删除掉开发板(MicroPython设备)中的main.py这个文件,继续使用电脑中的esp32web.py进行修改代码、测试运行。

最后总结一下,保存在电脑中的程序,是可以修改的测试程序;保存在开发板中的,是不能修改的最后的程序。

当然这个程序时基于这个microdot.py视频服务驱动库的,这个驱动库有1200行代码呢,接下就是来盘一盘这个驱动库了。

相关推荐
厦门辰迈智慧科技有限公司1 小时前
水闸自动化监控系统解决方案
运维·服务器·物联网·安全·自动化·监测
攻城狮7号1 小时前
2025时序数据库选型,以IoTDB为主从架构基因到AI赋能来解析
大数据·物联网·时序数据库·apache iotdb·时序大模型·sql mcp·ainode
xixixi7777710 小时前
一句话解释:NB-IoT 技术
物联网·信息与通信
殷忆枫12 小时前
基于STM32物联网冻保鲜运输智能控制系统
stm32·嵌入式硬件·物联网
明达智控技术13 小时前
MR30分布式IO在全自动中药煎药机中的应用
分布式·物联网·自动化
ManThink Technology15 小时前
做好LoRaWAN的传感器都需要实现哪些功能点?
物联网
华普微HOPERF19 小时前
数字隔离器,新能源汽车PTC中的“电气安全卫士”
科技·物联网·汽车
糖糖单片机设计1 天前
硬件开发_基于物联网的老人跌倒监测报警系统
stm32·单片机·嵌入式硬件·物联网·51单片机
TDengine (老段)1 天前
TDengine 时间函数 WEEKDAY() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TDengine (老段)1 天前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine