openmv学习笔记(24电赛备赛笔记)

     #openmv简介

        openmv一种小型,可编程机器视觉摄像头,设计应用嵌入式应用和计算边缘,是图传模块,或者认为是一种,具有图像处理功能的单片机,提供多种接口(I2C  SPI  UART CAN ADC  DAC )OpenMV 使用 MicroPython 作为编程语言。

        同时是一个开源的机器视觉项目,主要由 OpenMV 公司维护。它提供了硬件(OpenMV Cam 开发板)和软件(OpenMV IDE 和固件)解决方案,用户可以在此基础上进行二次开发和定制。

                ​​​​​​​                 ​​​​​​​        ​​​​​​​

#供电和烧录识别固件

        通常使用usb数据线进行烧录和供电,同时可以使用杜邦线进行供电,但是使用杜邦线供电时,需要注意通过 VIN   GND 进行供电,不能通过 3.3V  和GND 进行供电,3.3V 是直连接STMH7芯片引脚,直接连接会导致烧穿芯片。

        如果使用的是正版openmv,在通过usb连接电脑的同时,烧录驱动会自动安装,COM端口会自动识别出来,同时正版开发摄像头已经提前注册好的,openmv_IDE开发软件是不会提示,

#烧录程序

        通过usb连接电脑的时候,电脑会自动出现一个,在U盘中有main.py,文件,如果需要烧录程序只需要将在IDE中将.py文件保存在这个U盘中,就算是烧录到 flash 里面了。

        在IDE中选择这选项,就能烧录程序到U盘里面,成功之后,断开连接,在此上电就能运行程序在摄像头中,如果对flash的需求比较高,可以插入SD卡,最大支持32G的内存卡。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

#证书问题(Liscence  )

        如果是购买的官方的Liscence在发货前,就已经注册好了,在连接IDE的时候不会有对话框进行注册。

#开发语言

        openmv,使用micropython开发,底层使用C语言进行控制,上层代码通过python进行封装,使用python上手非常简单,不需要考虑内存的申请和释放,用完变量之后不用考虑内存问题,解释性语言(定义变量不需要加类型)python会自动处理内存问题,有很多库进行调用,但是不同兼容python的库函数。

        micropython和python中的库函数不能相互调用的,在openmvIDE编辑器中打开串口调试助手,可以写python代码,这个是支持的。

        同时嵌入式开发python语法用到的不是特别多,主要是 变量    列表    元组   函数   ,在串口中对openmv进行调试的时候需要,断开IDE的usb连接,在串口调试助手中,连接端口才不会进行报错。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

        串口调试助手,是支持运行python代码的,这个串口终端之中,可以写代码,下面介绍基本python语法,作为复习。

#print

print('ABC')#打印字符串
print(100)#打印数字
print(100+20)#打印计算结果
print('world','being','peace')#输出没有连接   ,  被空格代替

#声明变量

        python声明变量不需要定义类型,这种声明变量不需要定义类型的语言,是一种动态语言,需要定义类型的语言是静态语言,像是C语言。

Intergrate  = 10
String_1 = "a"
String_1 = 100

        动态语言不需要定义变量类型,变量赋值是没有限制的,可以使随意的。

#list

        列表像是C语言中的数组,list可以添加删除元素,同时也是通过索引进行访问元素,同时支持负数索引,python库中,内置len()  append() 计算list长度  添加元素。

test_list = [10, 2 , 58, 789, 2, 3]
test_list[-1]
len(test_list)
test_list.append(1)
test_list.insert(2,a)

#tuple

        元组一种不可变的序列数据类型,一旦被创建就不能被修改保证了数据的安全性,如果创建元组只有一个数据,需要再后面加上  , 如果不加只有   () ,会被编译判定为数学中的小括号,不是元组

single_element_tuple = (1,)
print(single_element_tuple)  # 输出: (1,)

# if  while判断语句

        python语法中没有 {} 表示执行语句块的规定,使用相同位置缩进,代表是同一语句块里面的代码,判断语句后面只要缩进相同就是同一个语句块。

if a<20:print("Same statement block")print("Same statement block")print("Same statement block")
while True:print("Same statement block")
for i in list:print(i)

#python对象

        在python中,对象是类的实例,类是对象的蓝图,对象可以拥有属性和函数,像是C语言中的结构体类型  和结构体的关系。

class Dog:# 初始化方法(构造函数)def __init__(self, name, age):self.name = name  # 实例属性self.age = age    # 实例属性# 实例方法def bark(self):print(f"{self.name} is barking.")# 实例方法def get_age(self):return self.age# 创建对象(实例)
my_dog = Dog("Buddy", 5)# 访问属性
print(my_dog.name)  # 输出: Buddy
print(my_dog.age)   # 输出: 5# 调用方法
my_dog.bark()       # 输出: Buddy is barking.
print(my_dog.get_age())  # 输出: 5

        类的对象可以调用,对象中定义地方法,同时具有类的相同属性,只需要进行声明即可。

                        欢迎指正,希望对你,有所帮助!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/49046.shtml

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

相关文章

高翔【自动驾驶与机器人中的SLAM技术】学习笔记(三)基变换与坐标变换;微分方程;李群和李代数;雅可比矩阵

一、基变换与坐标变换 字小,事不小。 因为第一反应:坐标咋变,坐标轴就咋变呀。事实却与我们想象的相反。这俩互为逆矩阵。 第一次读没有读明白,后面到事上才明白。 起因是多传感器标定:多传感器,就代表了多个坐标系,多个基底。激光雷达和imu标定。这个标定程序,网上,…

Bootstrap5 Navbar多级下拉框

实现目标&#xff1a; 1、访问 Bootstrap5-navbar 2、修改dropdown为多级 <!DOCTYPE HTML> <html lang"en-US"> <head><meta charset"UTF-8"><title></title><link rel"stylesheet" href"https…

(7) cmake 编译C++程序(二)

文章目录 概要整体代码结构整体代码小结 概要 在ubuntu下&#xff0c;通过cmake编译一个稍微复杂的管理程序 整体代码结构 整体代码 boss.cpp #include "boss.h"Boss::Boss(int id, string name, int dId) {this->Id id;this->Name name;this->DeptId …

05 HTTP Tomcat Servlet

文章目录 HTTP1、简介2、请求数据格式3、响应数据格式 Tomcat1、简介2、基本使用3、Maven创建Web项目4、IDEA使用Tomcat Servlet1、简介2、方法介绍3、体系结构4、urlPattern配置5、XML配置 HTTP 1、简介 HTTP概念 HyperText Transfer Protocol&#xff0c;超文本传输协议&am…

鸿蒙 动态共享包HSP的创建和引用

1.什么是动态共享包HSP HSP&#xff08;Harmony Shared Package&#xff09;是动态共享包&#xff0c;可以包含代码、C库、资源和配置文件&#xff0c;通过HSP可以实现代码和资源的共享。HSP不支持独立发布&#xff0c;而是跟随其宿主应用的APP包一起发布&#xff0c;与宿主应…

【Django5】模板引擎

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理&#xff08;Cookies&Session&#xff09; 第八章 文件上传…

redis的学习(三):Java客户端jedis的例子和SpringDataRedis的简介

简介 Java客户端jedis的例子和SpringDataRedis的简介## Java客户端 常用的Java客户端有jedis&#xff0c;lettuce&#xff0c;redission。 优缺点&#xff1a; jedis简单实用&#xff0c;api名是redis的命令&#xff0c;学习成本低。不过jedis实例的线程是不安全的&#xff…

VideoAgent: Long-form Video Understanding with Large Language Model as Agent

VideoAgent: Long-form Video Understanding with Large Language Model as Agent 基本信息 博客贡献人 燕青 作者 Xiaohan Wang, Yuhui Zhang, et al. 标签 Large Language Model Agent, Long-form Video Understanding, Vision-Language Foundation Models 摘要 长视…

Android中systrace配置及注意问题

Android中systrace配置及注意问题 systrace配置的官方文档地址如下&#xff1a;优化启动时间 Systrace systrace 允许在启动期间收集内核和 Android 跟踪记录。systrace 的可视化可以帮助分析启动过程中的具体问题。&#xff08;不过&#xff0c;如果要查看整个启动过程中的平…

2024.7.22 作业

1.将双向链表和循环链表自己实现一遍&#xff0c;至少要实现创建、增、删、改、查、销毁工作 循环链表 looplinklist.h #ifndef LOOPLINKLIST_H #define LOOPLINKLIST_H#include <myhead.h>typedef int datatype;typedef struct Node {union {int len;datatype data;}…

win10开启Linux子系统

打开win10开发人员模式&#xff0c;在设置–>更新和安全–>针对开发人员&#xff0c;中勾选开发人员模式。 然后在控制面板中勾选添加Linux子系统。依次进入控制面板–>程序–>启用或关闭windows功能&#xff0c;勾选适用于windows的linux的子系统&#xff0c;点击…

Mac清理垃圾的软件有哪些 怎么清理电脑上的缓存文件和垃圾清理

如果你发现你的Mac运行速度开始慢如蜗牛&#xff0c;或者硬盘空间快速减少&#xff0c;那么可能是时候使用一款好的清理软件来“洗个澡”了。市场上有许多优秀的Mac清理软件&#xff0c;包括一些出色的国产软件和国际知名软件。那么&#xff0c;mac电脑清理垃圾的软件有哪些&am…

Java---后端文件上传详解

袁门才俊志高远&#xff0c; 震古烁今意决然。 风采翩翩才情显&#xff0c; 雄姿英发立世间。 目录 一&#xff0c;简单案例演示 二&#xff0c;服务器本地存储 三&#xff0c;配置单个文件上传大小限制 一&#xff0c;简单案例演示 首先简单编写一个前端网页&#xff1a; &l…

知识图谱:知识图谱概述(一)

一、知识图谱简介 知识图谱&#xff0c;是结构化的语义知识库&#xff0c;主要用于描述现实世界中的实体及其相互关系&#xff0c;由节点和边组成。节点可以是实体&#xff0c;如汽车、街道等&#xff0c;或是抽象的概念&#xff0c;如AI、疾病等。边可以是实体的属性&#xff…

基于FPGA的以太网设计(2)----以太网的硬件架构(MAC+PHY)

1、概述 以太网的电路架构一般由MAC、PHY、变压器、RJ45和传输介质组成,示意图如下所示: 需要注意的是,上图是一个简化了的模型,它描述的是两台主机之间的直接连接,但在实际应用中基本都是多台主机构成的局域网,它们之间并不直接相连,而是通过交换机Switch来进行…

【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法(sci论文图片清晰度)

【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法 内容一&#xff1a;ppt把当前页输出为图片&#xff1a;内容二&#xff1a;ppt导出图片模糊的解决方法&#xff1a;方法&#xff1a;步骤1&#xff1a;打开注册表编辑器步骤2&#xff1a;修改注册表&#xff1a; 该文…

万字长文之分库分表里无分库分表键如何查询【后端面试题 | 中间件 | 数据库 | MySQL | 分库分表 | 其他查询】

在很多业务里&#xff0c;分库分表键都是根据主要查询筛选出来的&#xff0c;那么不怎么重要的查询怎么解决呢&#xff1f; 比如电商场景下&#xff0c;订单都是按照买家ID来分库分表的&#xff0c;那么商家该怎么查找订单呢&#xff1f;或是买家找客服&#xff0c;客服要找到对…

深入浅出WebRTC—ULPFEC

FEC 通过在发送端添加额外的冗余信息&#xff0c;使接收端即使在部分数据包丢失的情况下也能恢复原始数据&#xff0c;从而减轻网络丢包的影响。在 WebRTC 中&#xff0c;FEC 主要有两种实现方式&#xff1a;ULPFEC 和 FlexFEC&#xff0c;FlexFEC 是 ULPFEC 的扩展和升级&…

websocket实现进度条

websocket实现进度条 做一个简易的websocket实现进度条的练习&#xff0c;效果如下&#xff1a; 前端vue3 <template><el-progress type"circle" :percentage"this.progressValue" :status"this.perstatus" /><el-button cli…

docker tomcat 404

HTTP 404状态码表示“Not Found”&#xff0c;即服务器无法找到请求的页面。 当用户尝试访问一个不存在的网页时&#xff0c;服务器会返回这个状态码。这个状态码是HTTP协议的一部分&#xff0c;用于告知客户端&#xff08;通常是浏览器&#xff09;服务器无法完成请求。404状…