项目简介
本项目是一个基于NanoPi NEO Core的嵌入式系统,专门为远程操作潜水器(ROV)设计。它集成了多种传感器、控制器以及通信模块,能够实现对ROV的全面控制与状态监测。借助WiringNP库和多个开源软件包,系统可高效处理数据、控制硬件设备,并与上位机进行实时通信。
项目的主要特性和功能
硬件集成
- NanoPi NEO Core:作为主控板,具备强大计算能力与GPIO接口。
- WiringNP库:用于GPIO操作和硬件控制。
- Mjpg - streamer:处理视频流,支持UVC摄像头。
- EasyLogger:轻量级日志库,用于系统日志记录。
传感器与控制
- ADS1118 ADC:进行电压和电流检测。
- PCA9685 PWM:控制推进器、云台和机械臂。
- 深度传感器:支持SPL1301和MS5837,测量水深。
- 九轴传感器:如JY901,用于姿态检测。
- OLED显示屏:显示系统状态。
通信与控制
- 数据链路服务器:通过多线程处理数据的接收和发送。
- ANO匿名地面站:通过UDP协议进行数据通信。
- 遥控手柄:支持手柄控制,实现ROV远程操作。
系统监控
- 系统状态监控:实时获取CPU、内存、硬盘状态和网卡网速。
- 日志记录:使用EasyLogger记录系统运行日志。
安装使用步骤
1. 环境准备
确保NanoPi NEO Core已正确连接电源和网络,并安装好必要的操作系统(如FriendlyCore)。
2. 下载项目源码
bash
$ mkdir rov
$ cd rov
3. 安装依赖库
首次运行程序前,执行自动化安装依赖库的脚本:
bash
$ chmod +x build.sh
$ ./build.sh
4. 编译与执行
由于使用WiringNP库,需要root权限:
bash
$ make
$ sudo ./rovmaster
5. 设备配置
若执行时提示无法打开某设备,输入以下命令使能相关设备:
bash
$ sudo npi-config
在npi-config
中选择Advanced Options
,然后使能相关设备。
6. 视频推流
视频推流命令在video.sh
脚本中,指定相关视频参数,修改摄像头视频推流参数即可。
7. 系统自检
系统自检包括传感器检测、PWM设备检测等,确保所有硬件设备正常工作。
8. 远程控制
通过上位机或遥控手柄进行远程控制,实现ROV的前进、后退、上升、下降等操作。
9. 状态监控
通过OLED显示屏或上位机界面实时监控ROV的状态,包括电压、电流、深度、姿态等信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】