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

news2025/1/19 7:08:18

文章目录

  • 一、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.coloradmin.cn/o/422661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Callable、Runnable、Future 和 FutureTask

Callable 和 Future 是 Java 在后续版本中引入的,Callable 类似于 Runnable 接口,实现 Callback 接口的类与实现 Runnable 接口的类都可以用于被被线程执行的任务。 以下是两个接口的相关源码: // /xref/libcore/ojluni/src/main/java/java…

我为什么开发个人版的ChatGPT,而不使用集成好的商业版的十大好处。

随着人工智能技术的不断发展,ChatGPT已经成为了许多人工智能爱好者的热门话题。然而,面对现有的商业版ChatGPT,许多人可能会感到疑惑:为什么要自己开发个人版的ChatGPT,而不是直接使用集成好的商业版?本文将…

C++ 并发编程

文章目录基本概念编程创建线程启动共享数据相关条件变量时间相关future相关——等待一次性事件读写锁原子操作与缓存一致性关系线程管理启动线程从类的方法来创建线程传参标识线程常用API等待线程完成后台运行线程移动线程间共享数据互斥量(mutex)unique…

公网WebSocket Client远程连接本地WebSocket Server【内网穿透】

目录 1. Java 服务端demo环境 2. 在pom文件引入第三包封装的netty框架maven坐标 3. 创建服务端,以接口模式调用,方便外部调用 4. 启动服务,出现以下信息表示启动成功,暴露端口默认9999 5. 创建隧道映射内网端口 6. 创建隧道映射本地端口 7. 测试公网远程连接 1. Java 服…

一文轻松教会你基于Excel+关键字驱动的自动化测试框架封装

目录 一、概述 二、框架设计 测试用例管理 关键字库封装 数据驱动设计 日志记录和报告生成 三、框架实现 测试用例管理 关键字库封装 数据驱动设计 日志记录和报告生成 四、框架使用 编写测试用例 编写关键字库 执行测试 五、总结 一、概述 在软件开发过程中&a…

【Spring Security】| 从0到1编写一个权限认证 | 学会了吗?

目录一. 🦁 认证前的工作1. 添加依赖2. 创建数据库表(数据自行添加)3. 编写用户实体类4. 编写Dao接口5. 在启动类中添加 MapperScan 注解6. 继续添加各种包二. 🦁 自定义逻辑认证原理—UserDetailsService三. 🦁 数据库…

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

原文链接 https://developer.android.com/studio/releases 新的 Android Studio 版本 Flamingo (火烈鸟) 已经发布,本次更改最有意思的点在于: Flamingo 自带的 JDK 是 JDK 17 而不再是 JDK 11,另外还有如 IDE 支持应用主题图标和动态颜色&am…

TikTok和国产抖音的发展路径和趋势

鑫优尚电子商务:以历史为镜子,我们可以知道变化。 纵观TikTok和国产抖音,我们会发现TikTok目前的发展路径和趋势与国产抖音的主线十分相似,直播也是如此。鑫优尚电子商务 国内抖音直播一般经历过四个时代:直播1.0时代…

AIGC周报|清华、北邮新研究:让文生图AI更懂你

AIGC通过借鉴现有的、人类创造的内容来快速完成内容创作。ChatGPT、Bard等AI聊天机器人以及DallE 2、Stable Diffusion等文生图模型都属于AIGC的典型案例。「AIGC技术周报」将为你带来最新的paper、博客等前瞻性研究。 OpenAGI:当大模型遇见领域专家 “愿原力与大型…

分子生物学 第五章 DNA损伤修复和突变

文章目录第五章 DNA损伤修复和突变第一节第二节 DNA损伤的类型1 造成DNA损伤的因素2 DNA损伤的类型3 DNA损伤修复机制3.1 直接修复3.2 切除修复3.3 双链断裂修复3.4 重组修复3.5 跨越合成第五章 DNA损伤修复和突变 第一节 损伤:比如碱基,甲基化 突变&…

JavaSE学习进阶day04_04 正则表达式和Lambda表达式

第六章 正则表达式(超级重要) 开发心得:看着正确数据,从左到右书写正则表达式 6.1 正则表达式的概念及演示 在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位…

爬虫日常练习-协程方式爬取图片

文章目录前言代码设计前言 hello朋友们,欢迎回来。这里是无聊的网友。今天给大家分享另一种处理多任务的方法–协程 那么在开始之前我们首先要了解什么是协程。协程是在一个线程内:多个任务出现阻塞时,由envet_loop轮转查看阻塞状态&#…

Zeppelin0.9.0 连接 Hive 3.1.2(踩坑,亲测有效)

一、前提 已经安装好Hadoop、Hive(可以启动hiveserver2)、Zeppelin 1.启动Hadoop [roothurys24 ~]# start-all.sh 2.启动hiveserver2 [roothurys24 ~]# cd /opt/soft/hive312/conf/ [roothurys24 conf]# nohup ../bin/hive --service hiveserver2 &a…

kubernetes之Ingress介绍

Ingress 组成 ingress controller将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可工作原理 1.ingress controller通过和kubernetes api交互&#xff0…

【机器学习(五)】基于KNN模型对高炉发电量进行回归预测分析

文章目录专栏导读1、KNN简介2、KNN回归模型介绍3、KNN模型应用-高炉发电量预测3.1数据集信息:3.2属性信息3.3数据准备3.4数据标准化和划分数据集3.5寻找最佳K值3.6建立KNN模型预测4、完整代码专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星…

利用74373芯片进行单片机IO口扩展的方法介绍-成都控制设备订做

本文介绍用74373芯片进行微处理器IO口扩展的方法。 1.为什么要进行IO口扩展? 在电路设计的某些时候,微处理器(如单片机)IO口不够用了,此时该怎么办呢?利用辅助芯片进行IO口扩展是个简单直接的方法&#xff…

开源社与 Dev.Together 2022

思否与开源社携手11>2在 2023 年的春天,开源社走进了 Dev.Together 2022 的会场,一时间有种时空错觉。2022 年本该举办的开源聚会因为不可抗力的因素被延期,感谢思否一直坚持的理念:Dev.Together Summit 只做线下,将…

debian 10 安装神州通用数据库 V7.0

debian 10 安装神州通用数据库 V7.01、官方下载链接2、windows客户端下载链接3、官方安装手册4、安装前准备3.1、创建安装用户3.2、以root 用户修改神通数据库安装包的所有者为shentong 用户3.3、以root 用户创建神通数据库主目录并修改所有者为shentong 用户3.4、以root 用户临…

c/c++:顺序结构,if else分支语句,do while循环语句,switch case break语句

c/c:顺序结构,if else分支语句,do while循环语句,switch case break语句 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学&#xff…

一文读懂域名注册

本文深入浅出讲解域名的注册、建站和管理,通过文章可以了解以下问题: 域名注册及建站流程;域名注册的技术原理;域名管理(修改 DNS 服务器、转入转出、自定义 DNSHost、whois 信息)。 众所周知,…