v3.1.0

v3.1.0 引入了 fir 热电堆模块(MLX90620 / MLX90640 / AMG8833)、通过 WINC1500 实现的 WiFi IDE 调试与发现、一个 UVC 网络摄像头固件、sensor.shutdown()image.selective_search(),以及 uctypespyb.CAN 模块。OpenMV Cam M4 上移除了部分 image 方法——请阅读下方的重大变更说明。

亮点

  • fir 模块 —— MLX90620 / MLX90640 / AMG8833 热电堆热成像摄像头支持。

  • WiFi IDE —— 通过 WiFi(WINC1500)进行调试和编程,并支持 UDP 广播发现(无需硬编码 IP)。

  • UVC 网络摄像头 —— 一个 USB Video Class 固件,可将摄像头用作网络摄像头。

  • 新增 API —— sensor.shutdown()image.selective_search(),以及 uctypes / pyb.CAN 模块。

  • 重大变更: image.mean()image.morph() 在 OpenMV Cam M4 上不再可用——参见重大变更说明。

新增功能

  • fir —— 新增了支持 MLX90620 / MLX90640 / AMG8833 的热电堆模块:fir.init()fir.snapshot()fir.read_ir()fir.draw_ir() 以及 FIR_MLX90640 / FIR_AMG8833 常量,并附带各传感器的 Thermopile-Shield 示例。

  • WiFi IDE —— 通过 WINC1500 实现的 WiFi 编程/调试,并支持 UDP 广播发现,使 OpenMV IDE 能够自动查找摄像头(固件从 IDE 读取 STA/AP 设置)。

  • UVC 网络摄像头 —— 新增了一个 USB Video Class 网络摄像头固件。

  • sensor.shutdown() —— 通过 PWDN 引脚为摄像头断电。

  • image.selective_search() —— 区域提议矩形框,附带一个 selective_search.py 示例。

  • 模块 —— 启用了 uctypes 模块,重新启用了 pyb.CAN,并启用了更多 MicroPython 模块;新增了一个 USB-HID 示例和一个检查 IDE 是否已连接的函数。

其他变更与改进

  • 新增了每个套接字的接收缓冲区,以实现更可靠的 WiFi 套接字 recvimage 的数学方法(top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend)现在受 IMLIB_ENABLE_MATH_OPS 构建标志控制(在标准固件上默认启用)。

错误修复

成像与摄像头:

  • 修复了 image.save() 在写入原始图像后未关闭文件的问题(导致保存被截断/损坏),以及 FLIR Lepton SPI GPIO 配置问题。

系统与连接:

  • 规避了 STM32F7 SPI BUSY 标志的勘误(2.11.2),修复了 WiFi IDE 调试广播间隔/套接字清理/调试定时器、openmv.ini 整数解析,以及 H7 闪存延迟问题。

硬件与板级支持

  • MLX90620 / MLX90640 / AMG8833 热电堆(FIR)传感器。

  • UVC 网络摄像头 —— USB Video Class 固件。

  • WINC1500 —— WiFi IDE 调试与发现。

重大 API 变更

v3.0.0 与 v3.1.0 之间面向用户的 API 变更。范围:modules/ 中的 Python C 模块和 scripts/libraries/ 中的 Python 库。

这些重大变更是仅限于 OpenMV Cam M4 的行为变更——请重新检查受影响的脚本。每个提交哈希都链接到其在 GitHub 上的 diff。

image.mean() / image.morph() 在 OpenMV Cam M4 上被移除 (行为)

为了在 OpenMV Cam M4(OMV2)上适配闪存/RAM,image.mean()image.morph() 在该板上被编译排除;现在调用它们会引发“不可用”错误。请使用其他滤波器(例如 image.median() / image.midpoint()),或在更新的摄像头(M7 / H7)上运行形态学/均值滤波。其他开发板不受影响。

提交: abe97a73b, 4e34b32ec

迁移清单

在 OpenMV Cam M4 上,用其他滤波器替换 image.mean() / image.morph(),或将该处理移至 M7 / H7 摄像头(M4 方法的移除)。所有其他脚本无需改动即可运行。