Software Setup
Section titled “Software Setup”Detailed software configuration and system setup guide.
Software Architecture
Section titled “Software Architecture”┌─────────────────────────────────────────┐│ Application Layer ││ ┌──────────┐ ┌──────────┐ ││ │ Web │ │ Mobile │ ││ │ Console │ │ App │ ││ └─────┬────┘ └────┬─────┘ │├────────┼─────────────┼──────────────────┤│ Service Layer ││ ┌─────▼──────────────▼─────┐ ││ │ API Gateway │ ││ └──────┬───────────┬─────────┘ ││ ┌──────▼───┐ ┌────▼────┐ ││ │Mission │ │Data │ ││ │Manager │ │Service │ ││ └──────────┘ └─────────┘ │├─────────────────────────────────────────┤│ Core Layer ││ ┌──────────┐ ┌──────────┐ ││ │Navigation│ │Sensor │ ││ │Control │ │Fusion │ ││ └──────────┘ └──────────┘ │├─────────────────────────────────────────┤│ Driver Layer ││ ┌──────────┐ ┌──────────┐ ││ │Hardware │ │Comm │ ││ │Driver │ │Driver │ ││ └──────────┘ └──────────┘ │└─────────────────────────────────────────┘System Configuration
Section titled “System Configuration”Main Configuration File
Section titled “Main Configuration File”Location: ~/.jhusv/config.yaml
# System Basic Configurationsystem: name: "my-usv" version: "1.0.0" log_level: "INFO" # DEBUG, INFO, WARNING, ERROR data_path: "~/jhusv/data"
# Network Configurationnetwork: api: host: "0.0.0.0" port: 8080 ssl: false
websocket: port: 8081 max_connections: 10
mqtt: broker: "mqtt.jhusv.com" port: 1883 use_tls: true
# Database Configurationdatabase: type: "sqlite" # sqlite, postgresql, mysql path: "~/jhusv/data/db.sqlite" # host: "localhost" # for postgresql/mysql # port: 5432 # username: "jhusv" # password: "password"
# Logging Configurationlogging: file: "~/jhusv/logs/system.log" max_size: "100MB" backup_count: 10 format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"USV Device Configuration
Section titled “USV Device Configuration”Location: ~/.jhusv/devices/[device_id].yaml
device: id: "USV-2024-001" model: "JH-USV-300" name: "Ocean Explorer 1"
# Hardware Specifications specs: length: 3.0 # meters width: 1.2 max_speed: 10 # knots max_payload: 50 # kg battery_capacity: 20000 # mAh
# Navigation Configurationnavigation: mode: "auto" # auto, manual, waypoint
gps: type: "RTK" # Standard, RTK update_rate: 10 # Hz min_satellites: 6
imu: update_rate: 200 # Hz calibration_interval: 86400 # seconds
control: pid_p: 1.0 pid_i: 0.1 pid_d: 0.05 max_turn_rate: 30 # degrees/second
# Sensor Configurationsensors: water_quality: enabled: true sample_rate: 1 # Hz parameters: ["ph", "do", "temp", "conductivity"]
camera: enabled: true resolution: [1920, 1080] fps: 30 encoding: "h264"
sonar: enabled: false range: 100 # meters resolution: 0.1 # meters
# Safety Configurationsafety: geofence: enabled: true type: "polygon" # polygon, circle coordinates: - [31.2304, 121.4737] - [31.2354, 121.4787] - [31.2404, 121.4837] - [31.2354, 121.4887]
limits: max_distance: 5000 # meters max_depth: 50 # meters (if applicable) min_battery: 20 # %
emergency: low_battery_action: "return_home" lost_connection_timeout: 60 # seconds lost_connection_action: "hold_position"Web Console Configuration
Section titled “Web Console Configuration”Start Console
Section titled “Start Console”jhusv web startAccess: http://localhost:8080
Feature Modules
Section titled “Feature Modules”-
Real-time Monitoring
- Map display
- Real-time data
- Video stream
-
Mission Management
- Create missions
- Mission scheduling
- History records
-
Data Analysis
- Data visualization
- Report generation
- Data export
-
System Settings
- Device management
- User management
- System configuration
API Configuration
Section titled “API Configuration”REST API
Section titled “REST API”Endpoint: http://localhost:8080/api/v1
Authentication configuration:
api: authentication: type: "jwt" # jwt, basic, apikey secret: "your-secret-key" expiration: 86400 # seconds
rate_limit: enabled: true requests_per_minute: 60WebSocket API
Section titled “WebSocket API”Endpoint: ws://localhost:8081
websocket: authentication: true heartbeat_interval: 30 # seconds max_message_size: 1048576 # bytesData Storage Configuration
Section titled “Data Storage Configuration”Local Storage
Section titled “Local Storage”storage: local: path: "~/jhusv/data"
# Data Retention Policy retention: logs: 30 # days telemetry: 90 sensor_data: 180 videos: 30
# Auto Cleanup auto_cleanup: true cleanup_schedule: "0 2 * * *" # 2 AM dailyCloud Storage
Section titled “Cloud Storage”storage: cloud: enabled: true provider: "aws" # aws, aliyun, tencent
aws: region: "us-west-2" bucket: "jhusv-data" access_key: "YOUR_ACCESS_KEY" secret_key: "YOUR_SECRET_KEY"
sync: auto: true interval: 3600 # seconds compress: trueFirmware Update
Section titled “Firmware Update”Check Updates
Section titled “Check Updates”jhusv firmware checkUpdate Firmware
Section titled “Update Firmware”jhusv firmware update:::warning Note Do not disconnect or power off during firmware update. :::
Rollback Firmware
Section titled “Rollback Firmware”jhusv firmware rollbackBackup and Restore
Section titled “Backup and Restore”Backup Configuration
Section titled “Backup Configuration”# Backup all configurationsjhusv backup create --output ~/backup.tar.gz
# Backup specific configuration onlyjhusv backup create --config --output ~/config-backup.tar.gzRestore Configuration
Section titled “Restore Configuration”jhusv backup restore ~/backup.tar.gzNext Steps
Section titled “Next Steps”- 🎯 Learn mission planning
- 📊 Understand data management
- 🔌 Explore API interfaces