main
MS602 网络采集桥接
本仓库将 MS602 相机接到单独的 Pi,由 Pi 提供图像服务;小主机继续运行原有 ROS1 Noetic 业务与 topic 接口。这样可以把相机 USB 负载从小主机移出。
目录
pi/:Pi 原生图像服务及 systemd 单元。ros1/scripts/:覆盖到小主机 ROS 包ms602/scripts/的文件。
工作方式
Pi 服务默认处于待机。小主机网络桥接节点建立图像连接后,Pi 自动打开六路相机;连接断开后自动释放相机并回到待机。
日常 ROS 预览使用缩小后的低带宽流。收到 /ms602_save_cmd 后,小主机向 Pi 请求当前六路原始帧,并按原有语义保存为 TIFF。保存命令兼容:
保存目录#位置字段
也兼容只传保存目录。
Pi 部署
- 在 Pi 安装 Git 与运行依赖:
apt-get update
apt-get install -y git
git clone http://107.173.157.41:3000/clear/MS602-Network-Bridge.git /opt/ms602-network-bridge
sudo /opt/ms602-network-bridge/pi/install.sh
- 插入相机后检查:
v4l2-ctl --list-devices
systemctl status ms602-camera-native.service
curl http://127.0.0.1:16021/status
相机名称兼容 Cam1 到 Cam6 与 YeRui-MS602-1 到 YeRui-MS602-6 两个批次。
服务端口:图像流 16020/TCP,状态与原始帧接口 16021/TCP。
小主机部署
将 ros1/scripts/ 内的文件覆盖到:
/home/clear/sensor_ros_driver/ms602_ws/src/ms602/scripts/
确保 ROS 包的启动命令是:
rosrun ms602 ms602_driver_entry.py
编辑 config.txt:
mode=1
pi_ip=192.168.1.214
stream_port=16020
status_port=16021
reconnect_sec=2.0
mode=0:保留原来的 USB 直连方案。mode=1:使用网络桥接方案。
更换 Pi 地址时,只修改 pi_ip 后重启 MS602 驱动管理器。
验收
在小主机上检查:
rostopic list | grep '^/ms602'
rostopic hz /ms602/cam550/image_raw
rostopic pub -1 /ms602_save_cmd std_msgs/String "data: '/tmp/ms602_save#test'"
应持续发布六路 image topic 与六路 exif topic。网络短暂中断后,桥接节点每 2 秒重连一次;重新连通后自动恢复图像发布。