从拆箱到实战:EdgeBoard FZ3口罩检测模型部署全记录
第一次拿到EdgeBoard FZ3开发板时,我盯着那个巴掌大的金属盒子看了半天——这玩意儿真能跑AI模型?作为一个嵌入式AI领域的新手,我决定用最笨但也最可靠的方式:把整个部署过程像实验室笔记一样详细记录下来。这篇文章就是我的完整操作日志,包含所有踩过的坑和解决方案。
1. 开箱与硬件连接:那些说明书没告诉你的细节
EdgeBoard FZ3的包装比想象中简洁:一个静电袋包裹的主板、电源适配器、两根天线,还有一张薄薄的快速指南。真正开始连接外设时,才发现有几个关键点需要特别注意:
硬件清单核对表:
- EdgeBoard FZ3主板(注意检查版本号)
- 12V/2A电源适配器(接口规格:5.5×2.1mm)
- miniDP转HDMI转换器(建议选用支持4K的型号)
- USB摄像头(测试用罗技C920,分辨率支持1080p)
- 千兆网线(长度建议不超过2米)
- 带HDMI接口的显示器(7寸便携屏最方便)
注意:电源一定要使用原装适配器,我曾尝试用其他12V电源导致设备频繁重启
连接过程中最让人困惑的是接口布局。主板上的miniDP接口和USB3.0接口紧挨着,尺寸又非常接近,第一次我就插错了位置。正确的连接顺序应该是:
- 先连接miniDP转HDMI线到显示器
- 插入USB摄像头(优先选择USB3.0蓝色接口)
- 接通网线到电脑
- 最后连接电源(避免热插拔损坏元件)
当所有线缆接好后,按下电源键,主板上的绿色LED应该常亮。如果遇到启动失败,建议检查:
- 电源指示灯是否亮起
- 散热风扇是否转动
- HDMI信号输出是否正常
2. 网络配置:跨越IP地址的"鸿沟"
让Windows电脑与EdgeBoard通信是个技术活。官方文档说"配置静态IP",但具体怎么操作?我花了半小时才搞明白:
Windows 10网络配置步骤:
- 打开"控制面板 > 网络和共享中心"
- 点击左侧"更改适配器设置"
- 右键点击以太网连接 → 属性
- 双击"Internet协议版本4(TCP/IPv4)"
- 选择"使用以下IP地址"并填写:
- IP地址:192.168.1.100(最后一位建议100-200)
- 子网掩码:255.255.255.0
- 默认网关:192.168.1.1
# 测试连通性的命令(在cmd中执行) ping 192.168.1.254 -t如果出现"请求超时",可能是以下原因:
- 网线没有插稳(尝试重新插拔)
- Windows防火墙阻止了ICMP请求
- EdgeBoard未正常启动
我遇到最棘手的问题是IP冲突——办公室网络恰好也使用192.168.1.x网段。解决方案是临时禁用WiFi,或者修改EdgeBoard的默认IP(需要先通过串口登录)。
3. SSH登录:与Linux系统的第一次对话
成功ping通后,真正的冒险才开始。Windows自带的PowerShell就能完成SSH登录,但有几个隐藏细节:
ssh root@192.168.1.254第一次连接时会提示"无法验证主机真实性",输入yes继续。这里有个坑:如果输错成y或者YES(全大写),连接会直接失败。密码输入时不会有任何显示,这是Linux的正常行为。
登录成功后,你会看到这样的提示符:
root@EdgeBoard:~#常见登录失败原因及解决方案:
| 错误提示 | 可能原因 | 解决方法 |
|---|---|---|
| Connection refused | SSH服务未运行 | 重启EdgeBoard |
| Network unreachable | IP配置错误 | 检查电脑IP设置 |
| Permission denied | 密码错误 | 默认密码是root |
重要提示:首次登录后立即修改密码!执行
passwd命令即可
4. 图形界面启动:当命令行遇上桌面环境
EdgeBoard运行的是定制版Debian系统,要启动图形界面需要执行:
startx &这个命令会在连接的显示器上弹出Linux桌面。我在这里踩了个坑:如果先接了显示器再启动EdgeBoard,X Window可能无法正常初始化。正确的顺序是:
- 确保所有硬件连接正确
- 启动EdgeBoard并SSH登录
- 执行startx命令
- 最后打开显示器电源
桌面环境主要包含以下实用工具:
- LXTerminal:图形化终端
- Firefox ESR:浏览器
- 文件管理器
- 系统监控工具
如果遇到黑屏问题,可以尝试:
- 更换miniDP转HDMI转换器
- 检查显示器供电是否稳定
- 在SSH中执行
xrandr命令调整分辨率
5. 口罩检测模型部署实战
官方提供的口罩检测示例位于/home/root/mask_sample目录,部署过程比想象中简单:
cd /home/root/mask_sample python3 mask.py这个demo会实时调用USB摄像头进行检测,在屏幕上输出带置信度的检测框。为了提高性能,我调整了几个参数:
# 修改mask.py中的关键参数 detector = MaskDetector( model_path='model/mask_model', conf_threshold=0.6, # 调高置信度阈值减少误报 target_size=(320, 240) # 降低分辨率提升帧率 )模型性能实测数据:
| 分辨率 | 帧率(FPS) | CPU占用率 |
|---|---|---|
| 640x480 | 12.3 | 78% |
| 320x240 | 24.7 | 65% |
| 160x120 | 38.2 | 52% |
对于实际部署,建议:
- 使用固定焦距的工业摄像头
- 保证环境光照充足
- 人脸与摄像头距离控制在1-2米
6. 进阶技巧:优化与调试
要让模型跑得更流畅,可以尝试这些技巧:
性能优化命令:
# 查看系统资源占用 top # 监控CPU频率 cat /proc/cpuinfo | grep MHz # 调整CPU性能模式 echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor如果出现摄像头无法识别的情况,先用这个命令检查设备:
lsusb ls /dev/video*常见问题处理流程:
- 确认摄像头被系统识别(出现在/dev/video*)
- 检查用户权限(需要video组权限)
- 测试摄像头原始数据:
apt-get install v4l-utils v4l2-ctl --device=/dev/video0 --all
7. 项目扩展:从demo到实际应用
完成基础demo后,可以考虑以下扩展方向:
模型替换方案:
- 准备自己的TensorFlow/PyTorch模型
- 使用EdgeBoard提供的转换工具:
/opt/edgeboard/convert_tool --input=your_model.pb - 修改推理代码适配新模型
多摄像头支持:
# 同时调用两个摄像头的示例 cap1 = cv2.VideoCapture(0) cap2 = cv2.VideoCapture(1)实际部署时,建议考虑:
- 使用坚固的外壳保护主板
- 添加散热风扇(持续高负载时温度可达70℃)
- 配置开机自启动脚本(修改/etc/rc.local)
经过一周的折腾,这套系统现在能稳定运行在小区门禁处。最大的收获是:EdgeBoard的潜力远超预期,关键是要耐心解决每个环节的小问题。下次我准备试试更复杂的行人属性分析模型——当然,那又是另一个冒险故事了。