Maixpy入门知识

1. 使用屏幕+lcd

import sensor, lcd

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames()

lcd.init(freq=15000000)

while(True):
    lcd.display(sensor.snapshot())
  • import sensor, lcd: 首先导入内置的sensor(摄像头)库和lcd(屏幕)库
  • sensor.reset(): 初始化摄像头,这里失败需要检查硬件
  • sensor.set_pixformat(sensor.RGB565): 设置摄像头为RGB565格式,默认都是用RGB565即可
  • sensor.set_framesize(sensor.QVGA): 分辨率为QVGA,即320x240
  • sensor.run(1): 开始运行,在现在的版本中也可以不调用,在上面设置完成后,摄像头会自动开始运行
  • sensor.skip_frames(): 摄像头刚启动时,图像质量还没稳定,所以跳过一些图像
  • lcd.init(freq=15000000): 初始化 LCD, 这里传了一个参数叫freq即频率, 是指定驱动 LCD 的时钟频率,这里是15MHz,可以根据硬件性能调整
  • while(True): 这是一个循环,循环里面的代码会被不停地运行
  • sensor.snapshot():从摄像头取一帧图像数据,返回值是一张图像的对象
  • lcd.display(): 显示图像到 LCD
  • lcd.display(sensor.snapshot()): 这里就是先执行括号里的获取图像,返回值直接作为参数给 LCD 进行显示

2. 区分 GPIO 和 IO的区别:

IO也可以叫Pin 也就是引脚,是芯片引出来的硬件引脚

GPIO是一种外设,可以控制这些Pin/IO 的外设

注:Pin和外设只能唯一对应

3.  点亮LED

from fpioa_manager import fm
from Maix import GPIO

io_led_red = 13
fm.register(io_led_red, fm.fpioa.GPIO0)

led_r=GPIO(GPIO.GPIO0, GPIO.OUT)
led_r.value(0)
  • 从 fpioa_manager 包导入fm 对象,主要用于引脚和外设的映射
  • 从包 Maix 导入了 GPIO 这个类, GPIO 外设相关操作
  • 定义一个变量io_led_red,值为13,即Pin13/IO13
  • 使用fm(fpioa manager 的缩写)这个内置的对象来注册芯片的外设和引脚的对应关系, 这里 fm.fpioa.GPIO0 是 K210 的一个 GPIO 外设(注意区分 GPIO(外设) 和引脚(实实在在的硬件引脚)的区别 ), 所以把 fm.fpioa.GPIO0 注册到了 引脚 IO13

  • 然后定义一个 GPIO 对象led_r, 具体参数看 GPIO API 文档, 在左边侧边栏查找。

  • 使用 led_r.value(1) 或者 led_r.value(0) 来设置高低电平即可, 因为这里设置了低电平, 根据上面的原理图可知低电平导通,LED 灯亮

4. 加载模型

kmodel 模型区: KpuTask = kpu.load(0xm00000)        0xm00000 烧录起始地址

SD卡:             task = kpu.load('/sd/kmodel文件名')

 5. MaixPy 文件系统的使用

 MaixPy 的虚拟文件系统(VFS) 可以挂载多个不同类型文件系统,并为用户操作这些文件系统提供统一接口,用户使用这些接口时可以忽略不同文件系统之间的差异。

这些接口在 os 模块中统一实现。

开机如果有SD卡, 会自动将当前目录切换到/sd, 如果没有,则会自动切换到/flash。

例:os.listdir()  不传入参数 默认显示当前目录下文件

6. 开机自启动脚本

系统会在 /flash 或者 /sd(优先) 目录创建 boot.py 文件和main.py, 开机会自动先执行boot.py,然后执行main.py(如果检测到SD卡则执行SD卡里的), 编辑这两个脚本的内容即可实现开机自启。

7. SD 卡自动拷贝到 Flash 文件系统

将SD上要拷贝到 Flash 文件系统的文件重命名为cover.boot.py 或者cover.main.py, 然后放到SD卡根目录, 开发板断电插入SD卡,然后开发板上电, 程序就会自动将这两个文件拷贝到/flash/boot.py或者/flash/main.py,这样就算后面取出了SD卡,程序已经在 /flash/boot.py或者/flash/main.py

8. 上传运行脚本

(1)Maixpy IDE      发送文件(上传)          运行程序(发送程序到开发板,不烧录)

(2)uPyloader        发送文件(上传)          运行开发板上的文件(execute)

(3)mpfs                文件目录管理(/, sd/)(命令行上传)         

       运行程序(不上传脚本到板子而是直接在板子上运行该脚本)       mpfs put file_in_PC.py 

(4)ampy             执行位于电脑上的文件(文件不会保存到开发板)    ampy run file_in_PC.py 

(5)终端执行         import 文件名  或者  exec() 来运行脚本

9. maixpy和普通C语言开发区别:

C语言开发:C代码编译链接为二进制文件,烧录到flash,由芯片运行它。

maixpy开发:预先烧录好C语言写的固件,通过串口与之通信(发送脚本给开发板),固件程序会解析接收到的脚本内容并执行。

10. 从内存读取(或者网络读取)图像

可以先将文件读取到内存, 具体是从哪里读取的看你的应用了, 比如网络,或者串口 SPI 等等,
构造一个 bytes对象

import image

jpeg_buff = b'\xFF'   # jpeg buffer
img = image.Image(jpeg_buff, from_bytes = True)
print(img)

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: MaixPy是一款便携式的 MicroPython SDK,专为开发AIoT场景而设计。MaixPy支持多种硬件平台,包括K210、ESP32等,并基于K210的Maixduino、Maix Bit等硬件平台提供了丰富的API接口和控制方式。 OpenMV是一款基于ARM Cortex-M7、带有图像传感器的开发板,支持视觉识别和机器视觉,开源硬件。OpenMV采用Python语言开发,支持多种图像处理算法和机器学习框架,可以快速实现物体追踪、人脸识别、颜色识别等功能。 MaixPy结合OpenMV库,可以快速开发图像处理、机器视觉等AIoT应用场景。MaixPy提供了与OpenMV库兼容的API,开发者可以直接调用OpenMV库中的函数实现图像处理、机器视觉等算法。同时,MaixPy提供了硬件加速的算法实现,提高了OpenMV库的执行效率和性能,并支持Python语言的编程模型,降低了开发门槛和学习成本。 MaixPy OpenMV库的优势不仅在于完成图像处理、机器视觉等任务的高效性,同时其可靠的稳定性和出色的易用性也令其成为了一款独具优势的开发工具。开发者可以通过MaixPy OpenMV库实现自己的项目,将其应用于无人机、自动驾驶等AIoT场景,开创出新的领域。 ### 回答2: MaixPy OpenMV库是为视觉开发和人工智能设计而制作的开源工具。它允许用户使用Python编程语言,通过MaixPy开发板和OpenMV摄像头来制作和编程物联网设备和机器人。MaixPy OpenMV库提供了丰富的功能和算法,包括颜色跟踪、角度测量、模板匹配、QR码识别等,用户可以根据自己的需求来选择和使用相应的功能。此外,MaixPy OpenMV库支持串口和Wi-Fi通信,可以与智能手机和电脑进行通信和数据交互。MaixPy OpenMV库使用简单且易于上手,用户只需少量的Python编程知识即可运用此库来创建自己的设备和项目,这使得MaixPy OpenMV库成为非专业开发者和初学者的理想选择。综上所述,MaixPy OpenMV库是一个功能丰富的视觉和人工智能开源库,它可以帮助用户更加便捷地开发物联网设备和机器人,同时也为初学者提供了一种易学易用的Python编程方法。 ### 回答3: MaixPy OpenMV库是一种用于MaixPy开发板的Python库,它提供了一系列针对机器视觉应用的API函数,包括图像处理、特征识别、颜色追踪、ORB特征点检测、卷积神经网络等。这些函数可以通过简单的Python代码实现,不需要复杂的C代码编写和系统配置过程,所以非常适合初学者快速入门。 MaixPy OpenMV库的优点是使用简单,功能丰富,兼容性良好。除了提供预先封装好的API函数外,还支持使用插件扩展其功能。同时,MaixPy OpenMV库还支持异步IO,可以在不影响其他操作的情况下处理多个任务,提高开发效率。 MaixPy OpenMV库的缺点是由于其开发板的限制,图像分辨率不够高,图像处理的速度也有一定的限制,因此在高要求的工业应用中用途有限。此外,由于接口不够丰富,有些高级功能需要自己编写或通过其他工具实现。 总的来说,MaixPy OpenMV库是一种非常方便易用的Python库,适合初学者和中级用户用于机器视觉开发,不用手动编写复杂的C代码,可以快速实现图像处理、特征识别等功能。同时也提供一些插件功能,可以扩展其强大的功能。但是由于其硬件的限制,用途还是有一定的局限性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hvk_l

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值