1. Micropython与Openmv关系

Openmv是国外的一种基于micropython驱动的开源机器视觉模块,在机器视觉算法上,已经做了很大的优化,可以很好的在MCU上快速运行,比如颜色跟踪,脸部检测等;并且引出了相关的外设,比如SPI,IIC等,方便客户进行扩展。官方还有一个与之匹配的IDE(源码开源),具有编辑器,调试终端,具有RGB直方图显示的帧缓冲区查看器。

2. Micropython

MicroPython是 Python 3 语言 的精简高效实现 ,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。

MicroPython包含了诸如交互式提示,任意精度整数,关闭,列表解析,生成器,异常处理等高级功能。 足够精简,适合运行在只有256k的代码空间和16k的RAM的芯片上。

MicroPython旨在尽可能与普通Python兼容,让您轻松将代码从桌面传输到微控制器或嵌入式系统。

3. STM32搭配MicroPython
  1. 下载Micropython固件至STM32芯片中

    在我现在的理解来看,Micropython相当于是一个固件,这个估计提供了后续相关功能的基础。
    所以,现在需要做的第一件事情就是编译适配电路板的mircopython固件。

    这个博客园的博客需要重点关注,有很多的干货。
  2. 现在存在的一个问题,如何编译mircopython到对应的板子中。
    https://mbb.eet-china.com/blog/1779404-406966.html 适配STM32F7的。
  3. TPYBoard
    http://docs.tpyboard.com/zh/latest/tpyboard/quickref/
  4. github源码
    https://github.com/micropython
4. Openmv 固件编译
  1. 固件编译
  2. github源码
    https://github.com/openmv
  3. 相关资料
  4. 产品
    http://www.openioe.net/AMCCAMERA.htmlhttps://singtown.com/learn/
  5. 视频教程
    https://space.bilibili.com/167945395?spm_id_from=333.788.b_765f7570696e666f.2https://space.bilibili.com/22215525

5. 初步感受

  1. MicroPython 相关开发板,主要使用I/O操作,UART,I2C,SPI操作,查看了最新github中的源码库,增加了Eth网络的功能,但是未增加摄像头模块。网络部分,支持多一点的是SPI或者UART接口的模块,查看最新代码好像支持了RMII接口的网络模块(发挥STM32硬件网络功能)。
  2. Openmv中包含摄像头的驱动,但是未找到关于网络的处理部分。关于Openmv的应用需要再查看。
  3. 因为Openmv主要是图像处理部分,因为移植了micropython的原因,micropython支持的功能openmv应该也全部支持并可以实现。
  4. Openmv是否对硬件上做了限制,需要确认。同时,需要确认两种功能板的应用方向和应用实例。确定重点发展哪一种。