This document outlines the system requirements, hardware specifications, software dependencies, and prerequisites for building and running RealGibberLink, a secure air-gapped short-range communication system for robots and drones.
- Operating System: Android 11 (API 30) or higher for mobile deployment; Linux/Windows/macOS for development
- CPU: Quad-core processor minimum, octa-core recommended
- RAM: 4GB minimum, 8GB recommended
- Storage: 2GB available space
- Network: LTE/5G with satellite fallback support (optional for extended operations)
- Android Development: Android Studio Arctic Fox or later, JDK 11+, Android SDK API 30+
- Rust Development: Rust 1.70.0 or higher with Cargo
- Python Development: Python 3.8+ with pip for bindings and examples
- Camera: 1080p minimum resolution with autofocus capability
- Audio System: Low-latency microphone/speaker for ultrasonic communication (18-22kHz range)
- Laser Module: 10-50mW output power, 405-980nm wavelength for directional communication
- GPS Receiver: 5m accuracy with differential GPS support
- IMU (Inertial Measurement Unit): 9-axis sensor for orientation and motion tracking
- Communication Radios: LTE/5G modem with satellite backup (optional)
- Optical/IR LEDs: For visual signaling and QR code projection
- Directional Antennas: For focused ultrasonic transmission
- Environmental Sensors: Temperature, humidity, and wind speed sensors for adaptive communication
- Hardware Security Module (HSM): For secure key storage and cryptographic operations (recommended for production deployments)
- Android NDK: r25b or higher for native C++/Rust code compilation
- Rust Toolchain: Including rustc, cargo, and target architectures (ARM64, x86_64, ARMv7)
- Python Libraries: PyO3 for Rust-Python bindings, cryptography libraries for demos
- WebAssembly Tools: For browser-based deployment (optional)
- Gradle: 7.0+ for Android project builds
- CMake: For native code compilation in Android NDK
- Cargo: Rust package manager and build tool
- Android Runtime: ART with native library support
- OpenSSL/LibreSSL: For cryptographic operations
- CBOR Libraries: For efficient binary data serialization
- Install Android Studio with Android SDK and NDK
- Configure JDK 11+ and set JAVA_HOME
- Enable USB debugging on target Android devices
- Install required SDK platforms and build tools
- Install Rust via rustup (https://rustup.rs/)
- Add Android targets:
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android - Install cargo-ndk for Android cross-compilation
- Install Python 3.8+ and pip
- Install required packages:
pip install pyo3 cryptography numpy
- Clone the repository
- For Android app: Open
android-app/in Android Studio and build - For Rust core: Run
cargo build --releaseinrgibberlink-core/ - For Python examples: Run
python examples/example_script.py
- Install the Android APK on compatible devices
- Ensure hardware permissions (camera, microphone, GPS) are granted
- For development: Use Android emulator with camera/microphone simulation
- For production: Deploy on devices with required hardware peripherals
- Temperature: -20°C to +50°C operating range
- Humidity: 10% to 90% non-condensing
- Wind Speed: Up to 15 m/s
- Visibility: Minimum 300m for optimal communication
- Electromagnetic Environment: Normal industrial conditions (resistant to EMI)
- The system is designed for resource-constrained embedded environments
- All cryptographic operations comply with NIST standards
- Multi-platform support includes Android, desktop, and WebAssembly
- For detailed functional requirements, refer to Documentations/REQUIREMENTS.md
This requirements document is maintained alongside the system implementation. For the latest updates, check the project repository.