文章目录
一、OpenMV
1. 什么是OpenMV
OpenMV是一个国外的开源项目,是一款低价、可扩展、支持Python的机器视觉模块,这个模块的目标是成为“机器视觉世界的Arduino “。
OpenMV的官网:https://openmv.io/。
2. OpenMV版本
OpenMV是完全开源的硬件,意味着所有版本的OpenMV硬件,你都可以在github下载到开发板的原理图、pcb,甚至是芯片手册。
github仓库地址:https://github.com/openmv/openmv-boards。
如果你有足够的动手能力,你可以直接打板、焊接,而没必要直接买一块,反之如果你不想自己焊板子,可以去国内xxx买一块板子回来玩,仅此而已。
如果你愿意,你还可以直接将OpenMV应用于自己的项目中,比如直接画一块OpenMV摄像头板。
2.1. OpenMV1(M4 V1)
官网:https://openmv.io/collections/cams/products/openmv-cam-m4-v1
主控和摄像头使用的是: STM32F427VGT6 + OV2640
2.2. OpemMV2(M4 V2)
官网:https://openmv.io/collections/cams/products/openmv-cam
主控和摄像头使用的是: STM32F427VGT6 + OV7725
2.3. OpenMV3(M7)
官网:https://openmv.io/collections/cams/products/openmv-cam-m7
主控和摄像头使用的是:STM32F765VIT6 + OV7725
2.4. OpenMV4(H7)
OpenMV4除了性能的提升外,有两个特点:
- 摄像头模组可更换
- 版本分为:base、plus、pro
官网:https://openmv.io/collections/cams/products/openmv-cam-h7
主控和摄像头使用的是:STM32H743VIT6 + OV7725
二、OpenMV开发环境搭建
OpenMV IDE是用于OpenMV Cam的集成开发环境,具有强大的文本编辑器,调试终端和带有直方图显示的帧缓冲区查看器。
官方下载链接:https://openmv.io/pages/download,截至本文写作时间,最新版本为v2.9.7。
三、hello world
- 官方开发文档:https://docs.openmv.io/
- 中文文档:https://docs.singtown.com/
- 中文教程:https://book.openmv.cc/quick-starter.html
OpenMV采用MicroPython编程,IDE中带了非常多的示例供参考,这些示例都是python脚本,可以跑在任何一款OpenMV摄像头上,本文中我以HelloWorld为例。
1. 连接OpenMV
使用Micro-USB线连接OpenMV到电脑,驱动在安装IDE的时候已经自动装了。
查看是否有OpenMV的串口:
通过IDE连接OpenMV:点击此按钮连接,IDE会自动寻找OpenMV的串口进行连接。
如果遇到连接不上的问题:先检查驱动、再检查USB线、最后重刷OpenMV固件(OpenMV固件重刷方法在本文最后)。
2. 运行helloworld
选择helloworld示例:
运行helloworld示例:
3. 查看实时画面
四、脚本固化
OpenMV开机后默认执行main.py。
方法1
OpenMV连接到PC之后,会虚拟出一个U盘,替换其中的文件即可。
方法2
在IDE中直接保存当前打开的脚本到OpenMV中。
OpenMV固件
重刷OpenMV固件
重刷固件是通过STM32的DFU模式烧录固件。
烧录工具在IDE安装目录中提供:
固件也在IDE安装目录中(本文我使用的是OpenMV3):
用杜邦线连接BOOT引脚和RST引脚:
按下复位键,让STM32进入DFU下载模式,PC会检测到STM32 DFU设备:
在Dfuse软件中选择dfu固件:
然后点击Upgrade进行升级:
升级成功:
拔掉杜邦线,重新插拔USB线,固件升级完毕。
升级OpenMV固件
IDE连接OpenMV之后,点击下放版本处,IDE会检测固件版本,并提示是否升级: