vxgu86 / rov-master

ROV水下航行器(基于 NanoPi NEO Core)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Device Size

1. 介绍

  • 本项目用到了以下软件包:
    • WiringNP This is a GPIO access library for NanoPi. It is based on the WiringOP for Orange PI which is based on original WiringPi for Raspberry Pi.
    • EasyLogger 是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的 C/C++ 日志库。

2. 使用

  • 运行环境:NanoPi NEO
$ git clone https://github.com/zengwangfa/rov-master
$ cd rov-master

2.1 安装相关依赖

在第一次运行程序之前,务必执行(build.sh 自动化安装依赖库)):

$ chmod +x build.sh
$ ./build.sh

build.sh 中安装相关依赖库

2.2 编译与执行

由于使用 WiringNP 库,需要 root 权限:

$ make 
$ sudo ./rovmaster

2.3 注意事项

2.3.1 设备未打开

若执行时提示无法打开某设备,输入 sudo npi-config > Advanced Options 中使能相关设备:

$ sudo npi-config

若系统时间不对,为时区未进行更改: 在 npi-config > Localisation Options > Change Timezone 中选择修改。

2.3.2 lib库编译

当修改了lib库中文件,需要进行重新编译时,进行编译选择:

  • 1.WiringNP
  • 2.easylogger
  • 3.mjpg-streamer

启动 compile.sh 脚本,输入对应库的编号,进行自动化编译,并自动拷贝相关库

$ ./compile.sh

2.3.3 视频推流

视频推流命令在 video.sh 脚本中,指定相关视频参数,在其中修改摄像头视频推流参数即可。

3. 进度

  • 驱动模块

    • ADS1118 (ADC)
      • 电压检测 (待实际测试)
      • 电流检测 (待实际测试)
    • PCA9685 (PWM)
    • 深度传感器
      • SPL1301
      • MS5837
    • 系统设备状态
      • CPU使用率、温度
      • 内存状态
      • 硬盘状态
      • 实时网速
    • IO设备
      • RGB
      • 按键
      • 蜂鸣器
    • PWM设备 (待实际测试)
      • 云台
      • 探照灯
      • 机械臂
    • OLED
    • 九轴
    • 音频MIC
  • 功能模块

    • OLED状态显示
    • 视频推流
    • 数据通信
      • 下行-控制数据
      • 上行-ROV状态数据
    • 系统自检
    • 日志记录
    • 传感器融合
  • 控制模块

    • 手柄控制 (待实际测试)
    • 定深控制 (待实际测试)
    • 定向控制
    • 变焦摄像头控制

About

ROV水下航行器(基于 NanoPi NEO Core)

License:Mozilla Public License 2.0


Languages

Language:C 92.3%Language:Objective-C 1.6%Language:HTML 1.3%Language:Makefile 1.3%Language:C++ 1.1%Language:CMake 0.7%Language:Shell 0.7%Language:JavaScript 0.4%Language:Roff 0.3%Language:CSS 0.2%Language:TeX 0.1%Language:Python 0.0%Language:Dockerfile 0.0%