Académique Documents
Professionnel Documents
Culture Documents
. Outils de Travaille
Pour développer le système embarqué de ce projet, nous avons utilisé comme outils matériels
un ordinateur portable, une voiture électrique et une voiture de test qui possèdent les
caractéristiques suivantes :
Marque OMEN
Processeur Intel Core I7 10th 2.6GHz
Mémoire 16GO
Disque Dur 512GO SSD
Système d’exploitation Windows 11 Professionnel
Tableau 1 Environnement matériel ordinateur
Marque DACIA
Puissance 110CH
Carburant Diesel
Modèle Sandero Stepway
Tableau 3 Environnement matériels Voiture de test
L’IDE de l’Arduino :
L'IDE Arduino est un logiciel open-source et gratuit qui agit comme un environnement de
développement intégré (EDI) pour programmer les cartes Arduino et compatibles. Il simplifie
la création de programmes en offrant un éditeur de texte, un compilateur, un chargeur de
programme et des bibliothèques intégrées, le tout dans une interface conviviale. Conçu pour
être facile à utiliser, il est idéal pour les débutants en programmation et en électronique.
Langage C++ :
C++ est un langage informatique orienté objet, il a été développé comme une amélioration
multiplateforme de C - comme l’IDE Arduino - pour fournir aux développeurs un degré plus
élevé de contrôle sur la mémoire et les ressources système
Bibliothèque ESP32 :
Bibliothèque virtuabotixRTC :
La bibliothèque VirtuabotixRTC est une bibliothèque open-source pour l'IDE Arduino qui
permet d'utiliser un module d'horloge temps réel (RTC) DS1302 avec les cartes Arduino.
Cette bibliothèque facilite l'utilisation du module RTC et offre un certain nombre de
fonctionnalités pour simplifier le développement de projets qui nécessitent une horloge
précise.
Développement :
Dans cette partie nous allons expliquer le programme qui gouverne le système. Comment il
est illustré dans le code ci-dessous le programme commence par la déclaration des
bibliothèques et les variables utilisées dans le programme ainsi que la création des objets liés
au class des bibliothèques déclarées.
#include "BluetoothSerial.h"
#include "virtuabotixRTC.h"
#include "SPI.h"
#include "SD.h"
PIDs : Un tableau qui contient les PID qui vont être envoyés sous forme de requête
au ELM327.
Avant de parler sur le programme principal, on doit télécharger le petit programme ci-dessous
pour régler le temps dans la RTC
#include "virtuabotixRTC.h"
virtuabotixRTC RTC(5, 4,
2); void setup(){
SD.begin(16)
case ESP_SPP_CLOSE_EVT:
isSppOpened = false;
break;
case ESP_SPP_OPEN_EVT:
isSppOpened =
true; break;
Figure fonction callback du Bluetooth
void btConnect(){
connected = SerialBT.connect(ServerMAC);
void setup()
SerialBT.begin("ESP32_Client", true);
SerialBT.register_callback(btCallback);
btConnect();
Dans chaque itération de la boucle for il va tester si la valeur récupérée est convenable. Ce
test est appliqué en trois étapes :
Il teste si la Tame récupérée commence par le nombre ‘41’ qui signifie que c’est une réponse
d’un PID de service 1
Il teste si le nombre des Octets récupéré est égal au nombre des Octets demandé
void loop(){
if(!
isSppOpened)
{ btConnect
();
while
(SerialBT.available()) {
char c =
SerialBT.read();
if (c != '\n' && c!= '>' && c!= '\r' && c!= '^')
{ resp = resp + c;
else{
break;
String clean_resp =
resp.substring(6);
clean_resp.replace(" ", "");
RTC.updateTime();
if (resp.startsWith("41") &&