# Aorus ## Description installe un service qui creer des entites pour home assistant: - etat de la batterie - button pour eteindre le pc - reboot - eteindre l'ecran - cpu - memory - adresse ip - cpu frequency ## Prérequis installation de python3 et de python-env: ``` sudo apt install python3-venv ``` ``` python3 -m venv monenv ``` activation de l'environnement: ``` source monenv/bin/activate ``` ## Installation ``` git clone http://10.0.1.200/pilot/aorus.git ``` ``` cd aorus ``` Création de l'environnement: ``` python3 -m venv monenv ``` Activation de l'environnement: ``` source monenv/bin/activate ``` Installation des paquets additionnels: ``` pip install -r requirements.txt ``` ## Test du programme ``` python3 main.py ``` Sortie de l'environnement: ``` deactivate ``` ## Installation en temps que service authorisation de shutdown: ajouter a la fin du fichier ``` sudo visudo ``` ``` gilles ALL=(ALL) NOPASSWD: /sbin/shutdown gilles ALL=(ALL) NOPASSWD: /sbin/reboot gilles ALL=(ALL) NOPASSWD: /usr/bin/tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed ``` Installation du service en manuel: ``` sudo cp mqtt_pilot.service /etc/systemd/system/ ``` ``` sudo systemctl daemon-reload ``` ``` sudo systemctl enable mqtt_pilot.service ``` ``` sudo systemctl start mqtt_pilot.service ``` ``` sudo systemctl status mqtt_pilot.service ``` lancer l'installation du service: ``` sudo ./install.sh ``` ## PILOT v2 (Rust) ✅ FUNCTIONAL **Status**: Core implementation complete and tested. Ready for feature development. ### Quick Start ```bash # Start MQTT broker (Docker required) ./scripts/start_mqtt_broker.sh # Run pilot v2 ./scripts/run_pilot.sh # In another terminal, monitor messages ./scripts/monitor_mqtt.sh # Send a test command docker exec pilot-mosquitto mosquitto_pub -t "pilot/pilot-device/cmd/screen/set" -m "OFF" ``` ### Documentation - **[Implementation Status](docs/implementation_status.md)** - What's implemented and what's missing - **[Development Roadmap](docs/development_roadmap.md)** - Planned features and priorities - **[Testing Results](docs/testing_results.md)** - End-to-end test validation - **[Architecture](docs/architecture_v2.md)** - MQTT contract and module structure - **[Deployment Guide](docs/deploiement.md)** - Systemd service setup - **[Usage Guide](docs/utilisation.md)** - How to use pilot v2 ### Configuration Example config: `config/config.example.yaml` Key settings: - MQTT broker connection - Telemetry interval (default: 10s) - Commands allowlist - Dry-run mode (safety during development) - Platform backends (power and screen control) ### Development ```bash # Run tests cd pilot-v2 && cargo test # Build release cd pilot-v2 && cargo build --release # Check code cd pilot-v2 && cargo check ``` ### Features (v2) **Working**: - ✅ MQTT connectivity with LWT - ✅ YAML configuration - ✅ Telemetry (CPU, memory, IP, battery*) - ✅ Power commands (shutdown, reboot, sleep) - ✅ Screen control (on/off) - ✅ Home Assistant auto-discovery - ✅ Command allowlist and cooldown - ✅ Dry-run mode for safe testing _* Battery telemetry: Linux only, auto-detected_ **Planned** (see roadmap): - CPU temperature - Battery support for Windows - GPU telemetry - Windows backend implementation - TLS/SSL support - Integration tests