This project provides a comprehensive framework for integrating Meshtastic mesh networking with DroneBridge32 for telemetry and control of a drone swarm. It encompasses features like swarm coordination, geofencing, emergency landing, data logging, visualization, dynamic channel switching, AI integration (conceptual), encryption, and fail-safes.
- Decentralized Control: Operate your drone swarm over a resilient Meshtastic mesh network.
- Encrypted Communication: Secure communication using AES encryption.
- Telemetry: Real-time data including position, altitude, and battery voltage.
- Control: Commands for individual drones or the entire swarm.
- MAVLink Integration: Seamlessly works with MAVLink for flight controller communication.
- Geofencing: Prevents drones from entering restricted areas.
- Emergency Landing: Robust emergency landing protocol.
- Data Logging: Logs telemetry data for post-flight analysis.
- Map Visualization: Interactive map display of drone locations.
- Dynamic Channel Switching: Adapts to network conditions.
- AI Integration (Conceptual): Provides a framework for AI-driven insights.
- Fail-Safes: Signal loss and low battery protections.
- Swarm Coordination: Example of sending commands to the entire swarm.
- Meshtastic Plugin (Telemetry Reception & Display):
- Python-based plugin for the Meshtastic ground station.
- Displays telemetry data, map visualization, and provides control options.
- Includes geofencing and data logging.
- Meshtastic Plugin (Control Command Transmission):
- Python-based plugin for sending control commands.
- Supports individual and swarm commands, including emergency landing.
- Dynamic Channel switching.
- DroneBridge32 (or Companion Process) - Telemetry Transmission:
- Arduino code for transmitting telemetry data.
- Parses MAVLink messages, encrypts data, and handles fail-safes.
- Battery voltage detection.
- DroneBridge32 (or Companion Process) - Control Command Reception:
- Arduino code for receiving and executing control commands.
- Decrypts commands and sends corresponding MAVLink commands.
- DroneBridge32 Integration:
- Upload the provided Arduino code to your drone's microcontroller.
- Ensure MAVLink communication is correctly configured.
- Meshtastic Node:
- Connect a Meshtastic-compatible device to your drone.
- Configure the network settings.
- Meshtastic Plugin:
- Install Python and required libraries (
pip install meshtastic folium
). - Run the plugin scripts (
python meshtastic_telemetry.py
andpython meshtastic_control.py
).
- Install Python and required libraries (
- Launch Plugins: Start the telemetry and control plugins.
- Monitor Telemetry: Observe real-time data on the telemetry plugin.
- Send Commands: Use the control plugin to send commands.
- Map Visualization: Open the map to view drone locations.
- Drone IDs: Set unique IDs for each drone in the Arduino code.
- MAVLink Settings: Configure MAVLink baud rate and message IDs.
- Meshtastic Settings: Configure channel, encryption keys, and network settings.
- Geofence: Modify the geofence coordinates in the telemetry plugin.
- Encryption Key: Modify the Encryption keys in the arduino code and ensure they match.
This project is provided "as is," without warranty. Use at your own risk.