Ce projet est une passerelle bus CAN OBD-II basée sur ESP32 avec connectivité WiFi pour le diagnostic et la surveillance des véhicules. Elle permet de lire et d'interpréter les données du bus CAN d'un véhicule via le port OBD-II, et de rendre ces données accessibles via WiFi grâce à un serveur web.
- Lit les données du véhicule depuis le port OBD-II via le bus CAN
- Supporte les PIDs OBD-II standard (Mode 01)
- Récupère des paramètres tels que :
- Régime moteur
- Vitesse du véhicule
- Température d'admission d'air
- Pression d'huile moteur
- Pression de suralimentation (si disponible)
- Fournit un serveur web pour accéder aux données via WiFi
- Facile à configurer et à étendre
- Carte microcontrôleur ESP32
- Transceiver CAN (par exemple, MCP2551)
- Câble OBD-II vers DB9
- Optionnel : PCB personnalisé pour un design plus compact et robuste
- Arduino IDE
- Noyau Arduino ESP32
- Bibliothèque Arduino CAN
- Clonez ce dépôt
- Ouvrez le projet dans l'IDE Arduino
- Installez les bibliothèques nécessaires (noyau Arduino ESP32, Arduino CAN)
- Configurez les paramètres WiFi dans le code (SSID et mot de passe)
- Connectez les composants matériels :
- ESP32 CAN RX au transceiver CAN RX
- ESP32 CAN TX au transceiver CAN TX
- Transceiver CAN CANH et CANL au câble OBD-II
- Alimentez l'ESP32 depuis le port OBD-II ou une source externe
- Flashez le code sur l'ESP32
- Connectez-vous au réseau WiFi de l'ESP32
- Ouvrez un navigateur web et accédez à l'adresse IP de l'ESP32
Une fois connecté au serveur web, vous pouvez accéder aux données du véhicule via les endpoints suivants :
/
: Message de bienvenue/rpm
: Régime moteur/speed
: Vitesse du véhicule/iat
: Température d'admission d'air/oilpressure
: Pression d'huile moteur/boostpressure
: Pression de suralimentation (si disponible)
Les données sont renvoyées sous forme de valeurs en texte brut.
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
Ce projet est open-source et disponible sous la Licence MIT.
Pour toute question ou suggestion, veuillez ouvrir une issue sur GitHub.