13.1.3. 连接摄像头

每次会话都从连接按钮开始——左侧工具栏底部的插头图标,或按 Ctrl+E。点击它,IDE 会扫描 USB 串口寻找摄像头并连接到它找到的那一个。如果接入了多个摄像头,会弹出一个对话框询问使用哪个串口,并预选你上次的选择;如果一个都没有,IDE 会告知你,并为不再被枚举的摄像头提供一条恢复路径(见 固件更新与恢复)。

13.1.3.1. 连接时会发生什么

连接不仅仅是打开一个串口。IDE 会识别开发板、读取其固件版本,并将其与 IDE 捆绑的发布版进行比较。如果摄像头的固件较旧,会弹出提示询问是否更新——摄像头通常正是通过这个提示获得固件更新的。更新对话框中有复选框可同时擦除内部闪存文件系统并重置 ROM 文件系统;二者默认都是关闭的,并会记住你上次的选择,且更新时通常都不需要它们。首次成功连接后,IDE 还会显示一个一次性对话框,解释摄像头 LED 闪烁颜色的含义。

以引导加载程序(DFU)模式而非普通串口设备接入的摄像头,在连接时会得到它自己的对话框,提供安装最新发布版固件、加载指定固件文件、擦除内部闪存文件系统,或编辑或重置 ROM 文件系统等选项。

IDE 也会报告平台特有的问题。在 Windows 上,它会在连接时检查系统设备列表,报告发现的任何 USB 驱动问题,并指明相关的设备。在 Linux 上,打开串口时出现的权限错误几乎总是意味着你的用户不在 dialout 组中——错误对话框会显示用于修复该问题的确切 adduser 命令。

13.1.3.2. 状态栏

连接成功后,窗口右下方的状态栏会成为摄像头的仪表盘:

  • Board —— 摄像头报告的开发板类型。

  • Sensor —— 接入的摄像头传感器模块。

  • Firmware Version —— 正在运行的固件版本。点击它可对照捆绑的发布版重新检查版本,并在有更新版本时进行更新。

  • Serial Port —— 连接正在使用的端口。

  • Drive —— 与摄像头关联的闪存盘挂载点。点击它可在文件管理器中打开该盘;当接入了多个候选盘时,IDE 会询问哪一个属于摄像头,并按串口记住答案。即使没有关联盘,摄像头也能正常连接并运行脚本——只有依赖盘的操作,例如打开盘文件夹和将脚本另存为 main.py,在设置好之前会保持禁用。

  • FPS —— 帧到达 IDE 的速率。这是预览速率,不一定是摄像头的采集速率——脚本的运行速度可能快于 USB 链路串流其帧的速度。

断开连接是宽容的。点击断开是干净利落的退出方式,但拔掉线缆同样有效——IDE 会注意到摄像头已不在(或已停止响应)并自行断开连接。

13.1.3.3. 自动重连

Tools → Auto Reconnect to OpenMV Cam 使连接完全自动化:每当有摄像头出现在 USB 上时,IDE 就会连接到它,并且在该选项开启时,手动连接和断开按钮都会被禁用。在一个摄像头配一个 IDE 的情况下,这是便捷模式——插上摄像头它就连上了。当你同时操作多个摄像头或与其他程序共享端口时,请关闭它。

相关的 Tools → Stop Script on Connect/Disconnect 选项(默认开启)会在 IDE 连接或断开时中止任何正在运行的脚本,使刚连接的摄像头始终处于已知的空闲状态。关闭它可让摄像头在 IDE 连接观察时继续执行其存储的脚本。