OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

news/2024/11/16 21:02:04/

文章目录

  • 一、OpenMV
    • 1. 什么是OpenMV
    • 2. OpenMV版本
      • 2.1. OpenMV1(M4 V1)
      • 2.2. OpemMV2(M4 V2)
      • 2.3. OpenMV3(M7)
      • 2.4. OpenMV4(H7)
  • 二、OpenMV开发环境搭建
  • 三、hello world
    • 1. 连接OpenMV
    • 2. 运行helloworld
    • 3. 查看实时画面
  • 四、脚本固化
    • 方法1
    • 方法2
  • OpenMV固件
    • 重刷OpenMV固件
    • 升级OpenMV固件

一、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会检测固件版本,并提示是否升级:


http://www.ppmy.cn/news/35236.html

相关文章

多线程代码案例-阻塞队列

hi,大家好,今天为大家带来多线程案例--阻塞队列 这块知识点也很重要,要好好掌握呀~~~ 🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸&#x…

【机器学习面试总结】————特征工程

【机器学习面试总结】————特征工程一、特征归一化为什么需要对数值类型的特征做归一化?二、类别型特征在对数据进行预处理时,应该怎样处理类别型特征?三、高维组合特征的处理什么是组合特征?如何处理高维组合特征?四、组合特征怎样有效地找到组合特征?五、文本表示模型…

数据迁移工具

1.Kettle Kettle是一款国外开源的ETL工具,纯Java编写,绿色无需安装,数据抽取高效稳定 (数据迁移工具)。 Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。 Kettle 中文名称叫水壶,该项目的主程序…

蓝桥杯嵌入式第六课--串口收发

前言串口作为一个考试中考察频率较高的考点,其套路比较固定,因此值得我们仔细把握。本节课主要着眼于快速配置实现 串口收发与串口的中断。CubeMX配置选择串口2配置异步收发模式基本参数设置(波特率、校验位等等)开启串口收发中断…

1、DRF实战总结:DRF特点、序列化与RESTful API规范

Django这种基于MVC开发模式的传统框架,非常适合开发基于PC的传统网站,因为它同时包括了后端的开发(逻辑层、数据库层) 和前端的开发(如模板语言、样式)。现代网络应用Web APP或大型网站一般是一个后台,然后对应各种客户端(iOS, android, 浏览…

香橙派5使用NPU加速yolov5的实时视频推理(二)

三、将best.onnx转为RKNN格式 这一步就需要我们进入到Ubuntu20.04系统中了,我的Ubuntu系统中已经下载好了anaconda,使用anaconda的好处就是可以方便的安装一些库,而且还可以利用conda来配置虚拟环境,做到环境与环境之间相互独立。…

Linux文件编程(二)

1.O_NONBLOCK阻塞与非阻塞(1)如果一个函数是阻塞式的,则我们调用这个函数时当前进程有可能被卡住(阻塞住,实质是这个函数内部要完成的事情条件不具备,当前没法做,要等待条件成熟),函…

JavaScript 基础 - 第3天

文章目录JavaScript 基础 - 第3天笔记数组数组的基本使用定义数组和数组单元数据单元值类型数组长度属性操作数组JavaScript 基础 - 第3天笔记 数组 数组的基本使用 定义数组和数组单元 <script>// 1. 语法&#xff0c;使用 [] 来定义一个空数组// 定义一个空数组let…