J'avais un Raspberry Pi 5 qui ne servait à rien, posé dans un tiroir. Je cherchais un projet pour m'occuper, et je m'intéresse à la mécanique depuis un moment — la combinaison était trop évidente pour ne pas s'y mettre.
Le projet : une valise de diagnostic automobile. Un adaptateur ELM327 (VLinker FS) branché sur le port OBD-II de la voiture, le Pi qui lit les données du bus, et une interface qu'on consulte depuis un laptop ou un téléphone, en wifi, sans dépendre d'un réseau existant sur place.
Ce qu'elle fait aujourd'hui
- Lecture en direct : régime moteur, vitesse, températures (moteur, admission), position papillon, niveau carburant, tension batterie
- Lecture et effacement des codes défaut (DTC)
- Lecture du VIN
- Historique des sessions de diagnostic (horodatage, véhicule, codes relevés)
- Dashboard web temps réel + CLI
- Hotspot wifi autonome : la valise crée son propre réseau, pas besoin de wifi sur le terrain
- Reconnexion automatique si l'adaptateur n'est pas branché au démarrage
La stack
Python 3.12, python-obd pour parler à l'adaptateur ELM327, FastAPI + WebSocket pour l'API et le flux temps réel, SQLite pour l'historique. Dockerisé, avec une image buildée pour deux architectures (amd64 pour le dev sur laptop, arm64 pour le Pi) via CI.
Pas fini, et c'est tant mieux
Le projet n'est pas terminé — c'est même précisément ce qui en fait un bon projet du soir : il y a toujours un prochain petit problème concret à résoudre (le hotspot qui se battait avec NetworkManager, une lecture DTC ratée qu'il ne fallait pas confondre avec « zéro code trouvé »...). Je reviendrai sur ces détails dans de prochains articles.