0% ont trouvé ce document utile (0 vote)
391 vues87 pages

PFE Master2024

projet de fin d'étude pour le diplôme de master

Transféré par

Sam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
391 vues87 pages

PFE Master2024

projet de fin d'étude pour le diplôme de master

Transféré par

Sam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche


Scientifique

Université des Sciences et de la Technologie Houari Boumediene

Faculté d’Electronique et Informatique


Département d’instrumentation et automatique
Mémoire de Master
Domaine : Science et Technologie
Filière : Électronique
Option : Électronique des Systèmes Embarqués

abb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbc
Simulation et Réalisation d’un Système d’alerte pour la
d e
d Prévention des Collisions Automobiles. e
fgg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggh

Proposé par : Présenté par :

Mr . AMRANI Mr . BOUDERBALA Fayçal


Mme . BENBACHIR Mr . ABDALLAH Mohamed
Chabane

Devant le jury composé de :

Président Mr
Examinateur Mr
Encadreur Mr AMRANI Fayçal
CoEncadreur Mme BENBACHIR Maroua Nour El Houda

JUIN 2024
Dédicace

“ C’est avec profonde gratitude et sincères mots, Que je


dédie ce modeste travail à tous ceux qui me sont chers
À MES CHERS PARENTS, Je vous remercie pour tous
vos prières, sacrifices, compréhension et patience et leur
soutien moral et matériel,
On ne saurait jamais traduire ce que je ressens vraiment
envers eux
Aucun mot ne pourrait exprimer mon respect et mon
amour éternel. Que Dieu, le très haut, vous accordez santé,
bonheur et longue vie inshallah
À MES CHERES SOEURS, Pour leurs encouragements
permanents, et leur soutien moral
À TOUTE MA FAMILLE, Pour leur soutien tout au long
de mon parcours universitaire
À MES AMIS, Amine, Walid et Abdenour, Leur soutien
inconditionnel et leurs encouragements ont été d’une
grande
À Mon binôme Fayçal,
Et à Toute personne qui m’a aidé de près ou de loin à la
réalisation de ce mémoire Qu’ils trouvent ici toute ma
gratitude


- Mohamed

I
Dédicace

“ Louange à Allah,
Du profond de mon cœur, j’ai le grand plaisir de dédié ce
modeste travail à tous ceux qui me sont chers,
À MA CHÈRE MÈRE
Pour l’amour qu’elle m’a toujours donné, ses
encouragements et toute l’aide qu’elle m’a apportée tout au
long de mes études,
Aucune dédicace ne saurait exprimer mon respect, mon
amour éternel et la considération pour les sacrifices que
vous avez consenti pour mon instruction et mon bien-être
À MON CHER PÈRE
Tu as toujours été à mes côtés pour me soutenir et
m’encourager. Que ce travail traduit ma gratitude et mon
affection
Que Dieu, le très haut, vous accordez santé, bonheur et
longue vie.
À mes chers frères,Abdelmalek et Ishak qui je le sais, ma
réussite est très importante à leurs yeux, Que Dieu vous
garde pour moi.
À ma chère grand-mère,Pour ses prières et son affection
qu’elle me porte.
À tous les membres de ma famille
À mes amis Zineb, Nabil et raouf pour leur aide,
encouragement et soutien moral.
Et bien sûr mon binôme Mohamed
Ainsi que tous ceux qui m’aiment
Merci d’être toujours là pour moi.


- Fayçal

II
Remerciements

On commence par rendre grâce à Allah pour nous avoir donné la force, le courage et
la patience nécessaires à mener ce travail à bien jusqu’à la fin.

On désire remercier nos chers parents pour tous les sacrifices consentis à notre égard
et pour leur énorme soutien.

Nous tenons à remercier tout particulièrement notre encadreur de thèse, M. Amrani


Fayçal. Le mérite d’un mémoire revient certes à son auteur, mais également à son direc-
teur d’encadrement. Nous saluons la confiance qu’il nous a accordée, le courage qu’il a
manifesté à notre égard, son amabilité, sa patience, sa disponibilité, sa souplesse d’esprit
et son savoir. Son encadrement et son soutien indéfectible ont été des piliers sur lesquels
nous nous sommes appuyés pour surmonter les obstacles et réaliser ce projet. Pour tout
cela, nous lui sommes infiniment reconnaissants.

On souhaite également exprimer notre profonde gratitude à notre co-encadrante, Mme


Benbachir Nour El Houda, pour son soutien inestimable tout au long de notre projet
de fin d’études. Ses conseils avisés et sa disponibilité ont été essentiels pour la réalisation de
ce travail. Son encadrement rigoureux et ses remarques constructives nous ont permis de
surmonter les défis rencontrés et d’améliorer continuellement la qualité de notre recherche.
Nous avons énormément appris de son approche méthodologique et de sa passion pour la
discipline.Sa contribution a été déterminante pour la réussite de ce projet.

On tient également à exprimer notre profonde reconnaissance aux membres du labo-


ratoire, notamment les enseignants et doctorants. Leur collaboration et leur soutien ont
été d’une aide précieuse pour notre travail.

Que les membres de jury trouvent, ici, l’expression de nos sincères remerciements pour
l’honneur qu’ils nous font et l’intérêt porté à notre travail en prenant le temps de le lire
et de l’évaluer.

III
Remerciements

Merci à tous ceux qui, de près ou de loin, ont contribué à la réalisation de ce projet.
Leur soutien et leur encouragement nous ont été d’un grand secours tout au long de ce
parcours.

IV
Résumé

De nos jours, les collisions automobiles représentent une menace constante sur nos
routes, mettant en danger la vie des conducteurs et des passagers. Face à ce défi, il est
impératif de développer des solutions innovantes pour prévenir ces accidents. Ce projet
propose de concevoir et de mettre en œuvre un système d’alerte avancé. En cas de risque
imminent de collision, ce système émettra des avertissements cruciaux pour éviter les
accidents. En cas de survenue d’un accident, une alerte instantanée sera automatiquement
envoyée aux services d’urgence, accompagnée de la géolocalisation précise du véhicule
impliqué. Le système sera équipé de capteurs et d’algorithmes de détection avancés pour
détecter en temps réel les obstacles et les collisions. Les conducteurs recevront des alertes
visuelles et sonores en cas de situation critique, l’incitant à prendre des mesures correctives
immédiates. En outre, la fonctionnalité de notification automatique aux services d’urgence
assurera une prise en charge rapide, réduisant ainsi le temps de réponse et augmentant
les chances de survie des occupants du véhicule. Ce projet vise non seulement à réduire
le nombre d’accidents de la route, mais aussi à minimiser les conséquences des collisions
lorsque celles-ci surviennent. En intégrant des technologies de pointe dans les véhicules,
nous pouvons créer un environnement de conduite plus sûr pour tous.

Mots clés : Application mobile, flutter, ESP32, base de donnée locale, base de donnée
.

V
Abstract

Today, car collisions are a constant threat on our roads, endangering the lives of dri-
vers and passengers alike. Faced with this challenge, it is imperative to develop innovative
solutions to prevent these accidents. This project proposes to design and implement an
advanced warning system. When there is an imminent risk of collision, this system will
issue crucial warnings to avoid accidents. In the event of an accident, an instant alert
will automatically be sent to the emergency services, along with the precise geolocation
of the vehicle involved. The system will be equipped with advanced sensors and detec-
tion algorithms to detect obstacles and collisions in real time. Drivers will receive visual
and audible alerts in the event of a critical situation, prompting them to take immediate
corrective action. In addition, automatic notification to the emergency services will en-
sure rapid response, reducing response time and increasing the chances of survival for
the vehicle’s occupants. The aim of this project is not only to reduce the number of road
accidents, but also to minimize the consequences of collisions when they do occur. By inte-
grating cutting-edge technologies into vehicles, we can create a safer driving environment
for everyone.

Keywords : Web application, ESP32, Flutter, local database , database

VI
‫ملخص‬

‫تش ّكل حوادث المرور اليوم تهديداً مستمراً على طرقاتنا‪ ،‬مما يع ّرض حياة السائقين والركاب على حد سواء للخطر‪.‬‬
‫ولمواجهة هذا التحدي‪ ،‬من الضروري تطوير حلول مبتكرة لمنع وقوع هذه الحوادث‪ .‬يقترح هذا المشروع تصميم و إنجاز‬
‫نظام إنذار متقدم‪ .‬سيكون النظام مزوداً بمستشعرات وخوارزميات كشف مكلفة برصد العوائق والاصطدامات بنظام الزمن‬
‫الحقيقي‪ .‬في حالة وجود خطر تصادم وشيك‪ ،‬سيصدر هذا النظام تحذيرات لتجنب وقوع الحادث‪ .‬وفي حالة وقوعه‪،‬‬
‫سيتلقى السائق تنبيهات مرئية ومسموعة ‪ ،‬مما يدفعه إلى اتخاذ إجراءات مناسبة‪ .‬اذا كان الحادث خطيرا ‪ ،‬سيتم إرسال‬
‫تنبيه فوري بشكل تلقائي إلى أنظمة الطوارئ‪ ،‬بالإ ضافة إلى تحديد الموقع الجغرافي الدقيق للمركبة المعنية‪ ..‬بحيث‬
‫سيضمن الإ خطار التلقائي لخدمات الطوارئ الاستجابة السريعة‪ ،‬مما يقلل من وقت التدخل ويزيد من فرص نجاة ركاب‬
‫السيارة‪ .‬لا يهدف هذا المشروع إلى تقليل عدد حوادث الطرق فحسب‪ ،‬بل يهدف أيضاً إلى تقليل العواقب عند وقوعها‪.‬‬
‫فمن خلال دمج التقنيات المتطورة في المركبات‪ ،‬يمكننا توفير بيئة قيادة أكثر أماناً للجميع‪.‬‬

‫كلمات مفتاحية ‪ :‬تطبيق محمول‪,‬اي اس بي ‪,32‬فلاتر‪,‬قاعدة بيانات داخلية ‪,‬قاعدة البيانات‪.‬‬

‫‪VII‬‬
Table des matières

Dédicace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I

Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III

Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI

VII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫ملخص‬
Liste des acronymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .XIV

Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Partie 01 : Fondements de la Sécurité Routière . . . . . . . . . . . . . . . . . . . 5
1.2 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Donnés de la sécurité routière . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Statistiques sur les accidents de la route . . . . . . . . . . . . . . . . . . . 6
1.5 Facteurs de risque liés aux accidents routiers . . . . . . . . . . . . . . . . . 7
1.5.1 Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.2 Véhicules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.3 Comportement des usagers . . . . . . . . . . . . . . . . . . . . . . 9
1.5.3.1 Excès de vitesse . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.3.2 Incapacité momentanée . . . . . . . . . . . . . . . . . . . 9
1.5.3.3 Conducteurs professionnels . . . . . . . . . . . . . . . . . 10
1.6 Prise en charge après l’accident . . . . . . . . . . . . . . . . . . . . . . . . 10
Partie 02 : Les systèmes embarqués . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9 Structure des systèmes embarqués . . . . . . . . . . . . . . . . . . . . . . . 12
1.9.1 Le matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9.2 Logiciels et microprogrammes . . . . . . . . . . . . . . . . . . . . . 13
1.9.3 Système d’exploitation en temps réel . . . . . . . . . . . . . . . . . 13
1.10 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.10.1 Systèmes embarqués à petite échelle . . . . . . . . . . . . . . . . . 14
1.10.2 Systèmes embarqués de taille moyenne . . . . . . . . . . . . . . . . 14

VIII
Table des matières

1.10.3 Systèmes embarqués sophistiqués ou complexes . . . . . . . . . . . 15


1.11 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.12 Systèmes temps réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.12.1 Catégories de Système temps réel . . . . . . . . . . . . . . . . . . . 16
1.13 Domaines d’application des systèmes embarqués . . . . . . . . . . . . . . 17
1.14 Systèmes embarqués automobiles . . . . . . . . . . . . . . . . . . . . . . . 18
1.14.1 Catégories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.15 Systèmes et applications mobiles dans le domaine de sécurité routière . . . 20
1.15.1 Système ADAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.15.2 Applications mobiles dans le contexte de sécurité routière . . . . . 21
1.15.2.1 SOSMART . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.16 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2 Éléments de la partie matérielle et logicielle du projet . . . . . . . . . . 24


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Partie 01: Software (Logiciel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Application mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 Types des applications mobiles . . . . . . . . . . . . . . . . . . . . 26
2.2.1.1 Application native . . . . . . . . . . . . . . . . . . . . . 26
2.2.1.2 Application Hybride . . . . . . . . . . . . . . . . . . . . . 26
2.2.1.3 Application multi-plateforme . . . . . . . . . . . . . . . . 27
2.2.2 Fonctionnement d’une application mobile . . . . . . . . . . . . . . 28
2.2.3 Processus de création d’une application mobile . . . . . . . . . . . 29
2.3 Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.1 Flutter Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.1.1 Avantages de Flutter . . . . . . . . . . . . . . . . . . . . . 30
2.3.2 Langage de développement . . . . . . . . . . . . . . . . . . . . . . 30
2.3.3 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.3.1 Une application Flutter sous Android Studio . . . . . . . 31
2.3.4 Système de Gestion de Basse de Données . . . . . . . . . . . . . . . 33
2.3.4.1 Base de données interne . . . . . . . . . . . . . . . . . . . 34
2.3.4.2 Base de données externe . . . . . . . . . . . . . . . . . . . 34
Partie 02: Hardware (Matériel) . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 ESP-32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.1 Composant standard . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5 Capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.1 Capteur FSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.2 HC SR-04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.2.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.2.2 Broches de connexions . . . . . . . . . . . . . . . . . . . . 39
2.5.3 MPU-6050 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.3.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.3.2 Broches de connexions . . . . . . . . . . . . . . . . . . . . 40
2.6 Communication ESP32-Applicatoin . . . . . . . . . . . . . . . . . . . . . 41
2.6.1 Choix de protocole TCP/IP . . . . . . . . . . . . . . . . . . . . . . 41
2.6.2 Choix de l’ESP32 comme point d’accès . . . . . . . . . . . . . . . . 41

IX
Table des matières

2.6.3 Utilisation de sockets pour la communication . . . . . . . . . . . . 42


2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3 Conception et réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Objectif du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Schéma synoptique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Description des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.1 Le Conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.2 Services de secours . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Conception de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.1 Personnalisation du nom de l’application . . . . . . . . . . . . . . . 47
3.5.2 Personnalisation d’icône de l’application . . . . . . . . . . . . . . . 48
3.5.2.1 Génération des dossiers Android et IOS . . . . . . . . . . 48
3.6 Architecture et interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6.1 Interface de bienvenue . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6.2 Interface d’inscription . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.6.3 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6.4 Interface d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.7 La modélisation de la base de données . . . . . . . . . . . . . . . . . . . . 55
3.8 Solution hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.8.1 Schéma de la solution sous fritzing . . . . . . . . . . . . . . . . . . 56
3.8.2 Explication du dispositif électronique . . . . . . . . . . . . . . . . . 56
3.9 Organigramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.10 Test et résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.10.1 Lancer l’application . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.10.2 Création d’un compte . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.10.3 Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.10.4 Vérification des informations . . . . . . . . . . . . . . . . . . . . . 60
3.10.5 Détection d’obstacle et d’accident . . . . . . . . . . . . . . . . . . . 60
3.10.6 Réception du message d’urgence . . . . . . . . . . . . . . . . . . . . 62
3.10.7 Localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10.8 Déconnexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Conclusion et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

X
Table des figures

1.1 Cycle d’élaboration des politiques de sécurité routière. . . . . . . . . . . . 6


1.2 L’évolution de l’insécurité routière sur les routes algériennes [5]. . . . . . . 7
1.3 Les 3 piliers de la sécurité routière. . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Evolution des microprocesseurs [8]. . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Composants d’un système embarqué. . . . . . . . . . . . . . . . . . . . . . 12
1.6 Structure d’un système embarqué . . . . . . . . . . . . . . . . . . . . . . . 13
1.7 Types des systèmes embarqués. . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8 Caractéristiques importantes des systèmes embarqués. . . . . . . . . . . . . 15
1.9 Domaine d’application des systèmes embarqués. . . . . . . . . . . . . . . . 17
1.10 Systèmes intégrés dans un véhicule moderne. . . . . . . . . . . . . . . . . . 18
1.11 Taille du marché des systèmes embarqués automobiles. . . . . . . . . . . . 19
1.12 Disposition des capteurs [20]. . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.13 Interfaces de l’application SOS autoroute . . . . . . . . . . . . . . . . . . . 22

2.1 Types d’application mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . 26


2.2 Fonctionnement d’une application mobile. . . . . . . . . . . . . . . . . . . 28
2.3 Processus de création d’une application mobile [29]. . . . . . . . . . . . . . 29
2.4 Flutter framework [32]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 Dart logo [35]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 Android studio logo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Nouveau projet Futter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8 Creation d’un projet Futter. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.9 Structure du projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.10 Carte ESP-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.11 Composants de l’ESP-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.12 GPIO de l’ESP-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.13 Capteur FSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.14 Diviseur de tenstion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.15 Capteur ultrason HC SR-04. . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.16 Capteur MPU-6050. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1 Schéma synoptique du système. . . . . . . . . . . . . . . . . . . . . . . . . 45


3.2 Configuration du nom de l’application sous Android. . . . . . . . . . . . . 47
3.3 Configuration du nom de l’application sous IOS. . . . . . . . . . . . . . . . 47
3.4 Espace de travail de l’image sur le logiciel Adobe Photoshop 2020. . . . . . 48
3.5 Les étapes de génération de l’icône sur le site web Appicon.io . . . . . . . . 48
3.6 Contenu de fichier .rar généré. . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7 contenu du dossier Android généré. . . . . . . . . . . . . . . . . . . . . . . 49

XI
Table des figures

3.8 Nom de l’icône. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49


3.9 Apparence de l’icône. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.10 Instruction de la permission SMS pour système Android. . . . . . . . . . . 50
3.11 Interface de bienvenue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.12 Instruction de la permission GPS pour système Android. . . . . . . . . . . 51
3.13 Instruction de la permission GPS pour système IOS . . . . . . . . . . . . . 52
3.14 (a) Interface d’inscription. (b) sélection de la date de naissance. . . . . . . 53
3.15 Formulaire d’inscription. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.16 (a) Interface de connexion. (b) ‘Connexion échouée’. . . . . . . . . . . . . . 54
3.17 Activer les autorisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.18 Dépendances d’une BDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.19 Dépendances d’une BDD. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.20 Solution électronique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.21 L’organigramme du système. . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.22 (a) Autoriser les SMS . (b) Autoriser le GPS. . . . . . . . . . . . . . . . . 59
3.23 (a) Formulaire d’inscription. (b) Inscription avec succès. . . . . . . . . . . 59
3.24 (a) Connexion. (b) Acceuil. . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.25 Volet profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.26 (a) Alerte d’un obstacle proche. (b) Accident détecté. . . . . . . . . . . . . 61
3.27 (a) Le message envoyé (b) La localisation Google Maps . . . . . . . . . . . 62
3.28 Log out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

XII
Liste des tableaux

1.1 Exemple d’applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

XIII
Liste des acronymes

ROM Read-Only Memory

RTOS Real-time operating system

RAM Random Access Memory

IDE Integrated Development Environment

DSP Digital Signal Processing

RISC Reduced Instruction Set Computer

PC Personal Computer

IHM Human Machine Interface

FPGA Field Programmable Gate Arrays

ASIC Application-Specific Integrated Circuit

RTS Real-Time Strategy

GPS Global Positioning System

CD Compact Disc

3D Trois Dimensions

VR Virtual Reality

URL Uniform Resource Locator

HTML HyperText Markup Language

IDE Integrated Development Environment

XIV
Liste des acronymes

SGBD Système de Gestion de Basse de Données

HTTP HyperText Transfer Protocol

SQL Structured Query Language

ASCII American Standard Code for Information Interchange

SoC System on Chip

USB Universal Serial Bus

CPU Central Processing Unit

GPU Graphics Processing Unit

GPIO General-Purpose Input/Output

V Volt

BDD Base De Données

XV
Introduction générale

De nos jours, à l’aide de l’informatique, le monde connaît un progrès technologique


impressionnant dans différents domaines, contribuant au développement de nombreuses
entreprises et organisations.

Chaque année, l’Algérie fait face à un lourd tribut humain et économique dû aux ac-
cidents de la route, comme en témoignent les chiffres alarmants publiés par la Direction
générale de la protection civile algérienne pour l’année 2023 : pas moins de 63 940 ac-
cidents, ayant entraîné la perte de 1 836 vies et blessant 78 597 personnes à travers le
pays. Ces statistiques mettent en évidence l’ampleur du problème et la nécessité d’une
action concertée pour améliorer la sécurité routière, en particulier dans les régions les plus
vulnérables [1].

Au sein de notre formation le travail qui à été proposé concerne le développement


d’un dispositif basé sur un système électronique et une application mobile dédié aux
conducteurs dans le but d’améliorer la sécurité routière.

Problématique

L’intégralité et la qualité des données sur les accidents et les victimes sont essentielles
pour obtenir une image précise du risque routier. Cette exhaustivité repose principale-
ment sur la déclaration rapide et précise des accidents, ainsi que sur la capacité à accéder
aux lieux de l’accident. Dans de nombreux endroits, en particulier dans les régions moins
peuplées ou dans des situations où les conducteurs sont isolés, de nombreux accidents ne
sont pas déclarés immédiatement. Cela est particulièrement problématique lorsque cer-
tains types d’accidents ne sont pas signalés. Parfois, même si un accident est signalé, les
secours peuvent être retardés en raison de divers facteurs, tels que la mauvaise communi-
cation de la localisation précise de l’accident.

1
Introduction générale

Pour illustrer cette problématique, prenons deux exemples réels. Le 26 avril 2024, le
corps d’un automobiliste a été retrouvé 15 jours après la chute de sa voiture de la route
reliant Bouinan et Chériaa à Blida. En France, selon un article de presse publié par le
Parisien le 14 novembre 2023, un automobiliste a perdu le contrôle de son véhicule sur une
autoroute en Haute-Savoie et a chuté dans un ravin. L’accident s’est produit la nuit et la
voiture n’a été détectée que le lendemain matin par un autre automobiliste. Le conducteur
a été grièvement blessé mais a heureusement survécu.

Ces exemples illustrent les dangers potentiels liés à un retard de détection des accidents
de voiture. La détection rapide des accidents routiers revêt une importance capitale en
raison des risques graves qu’ils présentent pour la vie et la santé des personnes impliquées.

Objectifs

La sécurité routière désigne l’ensemble des mesures prises pour réduire les risques d’ac-
cidents de la route et limiter leurs conséquences. Notre projet vise à améliorer ce processus
en alertant le conducteur afin d’éviter les collisions, ainsi qu’en signalant les accidents dès
qu’ils se produisent, en fournissant aux autorités compétentes des informations pertinentes
pour une intervention rapide et efficace.

Pour cela, notre objectif est de concevoir et de réaliser, dans un premier temps, un
système électronique capable de détecter les obstacles et les collisions via des capteurs
spécifiques. Ce système devra également être capable de communiquer avec une appli-
cation mobile. Dans un second temps, nous proposons de développer une application
mobile multifonctionnelle permettant de gérer les alertes concernant les obstacles et les
accidents, ainsi que d’assurer une réaction rapide. Cette application fournira des informa-
tions en temps réel et permettra aux utilisateurs de signaler des incidents, de suivre les
interventions des secours et de recevoir des conseils de sécurité routière.

En intégrant ces technologies de pointe, nous espérons non seulement de réduire le


nombre d’accidents de la route, mais également minimiser les conséquences des collisions
lorsqu’elles surviennent, créant ainsi un environnement de conduite plus sûr pour tous.

2
Introduction générale

Organisation du mémoire

Pour mener à bien notre travail, nous l’avons organisé en trois chapitres selon un plan
méthodologique suivant :

Le premier chapitre “État de l’art” sera consacré à des généralités concernant les
systèmes embarqués, d’autre part nous présentons d’une manière globale la sécurité rou-
tière.

Le deuxième chapitre “Éléments matériels et logiciels du projet” est dédié à une


étude détaillée de la phase d’analyse. Nous listons tout d’abord l’ensemble des logiciels et
langages qui nous ont été nécessaires dans le cadre de ce projet ainsi que l’environnement
matériel utilisé.

Le troisième chapitre “Conception et réalisation” est le dernier chapitre dans le-


quel on présente tout d’abord l’outil utilisé durant la phase de la conception, puis nous
traçons les différents architectures et organigrammes issus à cette étude. Finalement, nous
présentons le système et ces différentes plate-forme afin de répondre aux besoins.

Et on terminera par une conclusion générale et des perspectives.

3
Chapitre 1

État de l’art

4
Chapitre 1. État de l’art

1.1 Introduction
Selon les statistiques mondiales de l’Organisation mondiale de la santé (OMS), les
accidents de la route font environ 1,19 million de décès annuels, les plaçant parmi les
principales causes de mortalité à l’échelle mondiale. L’importance de la sécurité routière
réside dans sa contribution à la protection des vies humaines et à la réduction des trau-
matismes causés par les accidents de la route.

Face à ce défi, la technologie offre désormais des opportunités prometteuses. Elle per-
met d’envisager des systèmes de sécurité active visant à prévenir les accidents ou à en
réduire la gravité. En outre, les avancées technologiques offrent également des perspectives
dans le domaine des dispositifs d’assistance après l’accident.

Le présent chapitre destiné aux généralités est divisé en deux parties. La première
partie a pour but de donner les principaux concepts de base, outils et approches de la
sécurité routière, dans la deuxième partie nous allons aborder les notions de base sur
les systèmes embarqués, leurs types ainsi que leur structure, ensuite on citera les diffé-
rentes caractéristiques qui favorisent l’utilisation des systèmes embarqués dans plusieurs
domaines notamment dans la sécurité routière.

Partie 01 : Fondements de la Sécurité Routière

1.2 Définition
La sécurité routière représente l’ensemble des normes, des mécanismes et des mesures
prises par les différents acteurs en charge de la construction des infrastructures routières
et de la gestion du trafic routier afin d’assurer la protection des usagers de la route, et
aussi de leurs biens [2]. Les usagers de la route sont les piétons, cyclistes, automobilistes
et leurs passagers, les chauffeurs de poids lourd, et les passagers des transports publics
routiers il s’agit donc d’un enjeu sociétal majeur.

1.3 Donnés de la sécurité routière


L’utilisation de données de sécurité routière est essentielle pour une prise de décision
fondée sur des faits. En effet, une approche factuelle de la gestion de la sécurité routière

5
Chapitre 1. État de l’art

commence par l’identification et la priorisation des facteurs de risque liés au problème.


Ensuite, il est essentiel de définir les actions et les objectifs lors de la phase initiale du
diagnostic. La mise en place de mesures correctives doit être suivie de près, avec une
évaluation continue de leurs impacts [3]. Ce processus est cyclique, comme illustré par la
figure 1.1.

Fig. 1.1 : Cycle d’élaboration des politiques de sécurité routière.

1.4 Statistiques sur les accidents de la route


L’Algérie, avec une superficie de 2 381 741 km², possède l’un des réseaux routiers
les plus denses d’Afrique, totalisant 124 107 km de routes. Le transport routier est le
mode dominant de transport, autant pour les voyageurs que les marchandises [4]. Cette
réalité souligne l’importance cruciale de la sécurité routière en tant qu’enjeu majeur de
santé publique. La prévention des accidents et la réduction de leurs conséquences sont des
objectifs essentiels dans cette perspective.

La figure 1.2 illustre l’évolution de l’insécurité routière sur les routes algériennes. Les
résultats ne sont pas toujours satisfaisants, comme en témoigne le nombre d’accidents
corporels enregistrés. En 2018, par exemple, 22 991 accidents ont été recensés, constituant
le seuil le plus bas depuis 1995 [5]. Cependant, il convient de noter que ce nombre reste
encore élevé, soulignant ainsi la persistance du problème de la sécurité routière en Algérie.

6
Chapitre 1. État de l’art

Fig. 1.2 : L’évolution de l’insécurité routière sur les routes algériennes [5].

1.5 Facteurs de risque liés aux accidents routiers


Les accidents routiers sont souvent le résultat d’une combinaison de facteurs liés à
l’infrastructure, aux véhicules et au comportement des usagers de la route. Comme montre
la figure 1.3 Les facteurs humains sont le principal facteur contributif dans 93 % des
accidents. L’infrastructure (route et environnement) est un facteur important dans 34 %
des accidents. Le véhicule n’est une des causes d’accidents que dans 13 % des cas. Identifier
ces facteurs est essentiel pour comprendre et prévenir les accidents. Dans cette section,
nous examinerons de plus près les éléments clés contribuant aux risques sur les routes, en
mettant en évidence les aspects liés à l’infrastructure routière, aux véhicules eux-mêmes
et au comportement des conducteurs [3].

Fig. 1.3 : Les 3 piliers de la sécurité routière.

7
Chapitre 1. État de l’art

1.5.1 Infrastructure

L’infrastructure routière joue un rôle crucial dans l’occurrence, la prévention et la


réduction des accidents. Une approche structurée des principes de sécurité routière com-
prend plusieurs éléments clés :

• La mise en place d’un réseau routier hiérarchisé pour assurer la fonctionnalité des
routes,

• La création d’une homogénéité dans les flux de circulation en termes de vitesse et


de direction le long des tronçons de route,

• La conception d’un environnement routier tolérant aux erreurs humaines,

• La création d’une prévisibilité du tracé routier et du comportement des usagers


grâce à une conception clairement identifiable des routes.

1.5.2 Véhicules

La technologie des véhicules joue un rôle essentiel dans la réduction de la probabilité


et de la gravité des accidents. Cette sécurité des véhicules peut être examinée à travers
deux principaux aspects :

• Dispositifs de sécurité passifs (secondaires) : tels que ceintures de sécurité, airbags


et protection générale en cas de collision du véhicule.

• Dispositifs de sécurité actifs (primaires) : tels que l’ABS (système de freinage anti-
blocage) et l’ESC (contrôle électronique de stabilité).

Le Programme mondial d’évaluation des véhicules neufs (NCAP) est devenu la me-
sure la plus largement utilisée pour évaluer la sécurité des véhicules de tourisme en cas
d’accident. Initialement destinée à évaluer la pertinence et la fonctionnalité des dispositifs
de sécurité passive, cette classification (de 1 étoile à 5 étoiles) est appliquée depuis 2009
aux dispositifs de sécurité active, c’est-à-dire aux dispositifs destinés à réduire la proba-
bilité d’un accident. Le classement de sécurité NCAP actuel comprend quatre domaines
de tests : Protection des occupants adultes, Protection des occupants enfants, Protection
des piétons et Assistance à la sécurité. Ce dernier point cible les systèmes avancés d’aide à
la conduite (ADAS) et inclut, entre autres, l’assistance à la vitesse, le freinage d’urgence
automatique et le maintien de voie (Commission européenne, 2018).

8
Chapitre 1. État de l’art

1.5.3 Comportement des usagers


En principe, les indicateurs de performance doivent être adaptés aux problèmes du
pays considéré. Cependant, certains comportements se révèlent problématiques pour la
sécurité routière dans de nombreux pays.

L’ESRA (Survey of Road Users Attitudes), [6] est une initiative internationale conjointe
de centres de recherche et d’instituts de sécurité routière dans 38 pays sur les cinq conti-
nents. L’objectif de ce réseau est de collecter des données comparables sur les conditions
et la culture de la sécurité routière telles que reflétées dans les habitudes, comportements,
attitudes, croyances, normes et valeurs des usagers de la route. Les données collectées via
des enquêtes en ligne fournissent un large éventail d’indicateurs concernant la sécurité
routière. Nous nous concentrerons sur certains comportements spécifiques trouvés dans
ces données.

1.5.3.1 Excès de vitesse


Dans de nombreux pays, la vitesse excessive et inadaptée constitue le facteur le plus
important de décès sur les routes. Plus la vitesse est élevée, plus la distance d’arrêt requise
est longue, moins la visibilité est grande et plus le risque d’accident est grand. L’énergie
cinétique à absorber lors d’un choc à grande vitesse étant plus importante, le risque de
blessure est plus élevé en cas d’accident.

1.5.3.2 Incapacité momentanée


La consommation d’alcool, même à des niveaux relativement faibles, accroît le risque
d’être impliqué dans un accident pour tous les types d’usagers de la route. Outre les dan-
gers inhérents à la conduite sous l’influence de l’alcool, il est essentiel de souligner que la
consommation d’alcool peut altérer la conscience du conducteur. Cela peut être particu-
lièrement préoccupant dans le cas où un accident se produit dans un endroit isolé, où il
peut être difficile voire impossible pour le conducteur de contacter les services d’urgence.
Dans de nombreux pays, des études révèlent que des proportions significatives de conduc-
teurs ont une concentration d’alcool dans le sang suffisant pour altérer leur vigilance sur
la route. Cette situation est d’autant plus alarmante que la conduite en état d’ivresse
augmente considérablement le risque d’accidents mortels par rapport aux accidents moins
graves. Cela souligne l’importance cruciale d’un système efficace de détection et de signa-
lement des accidents, tel que celui que nous proposons, pour permettre une intervention
rapide des secours, même dans des zones isolées.
9
Chapitre 1. État de l’art

1.5.3.3 Conducteurs professionnels


Conduire nécessite une attention permanente à la route, aux autres usagers et à son
propre véhicule. La conduite prolongée sans pause peut entraîner une baisse de l’atten-
tion et un allongement du temps de réaction, ce qui accroît le risque d’accidents. Par
exemple, par rapport à un conducteur qui a conduit entre 8 et 9 heures, le risque d’acci-
dent augmente de 70% au cours de la dixième heure de conduite. Dans le cadre de notre
projet, nous visons également à améliorer l’attention du conducteur en mettant en place
un système d’alerte sonore qui se déclenche en cas de présence d’obstacles à proximité du
véhicule, permettant ainsi d’alerter le conducteur et de réduire les risques d’accidents.

1.6 Prise en charge après l’accident


L’« heure d’or » dans la gestion des traumatismes fait référence à l’idée selon laquelle
les patients ont les meilleures chances de survie s’ils sont amenés à l’hôpital dans l’heure
qui suit l’accident.

Ainsi, malgré les différentes approches du traitement des traumatismes, les ambulan-
ciers sont formés pour intervenir sur les lieux d’un accident le plus rapidement possible,
sans dépasser « l’heure d’or ». C’est ici que notre principal objectif entre en jeu avec notre
système, qui vise à permettre une intervention rapide et efficace en fournissant aux autori-
tés compétentes des informations pertinentes telles que la localisation exacte de l’accident,
permettant ainsi une meilleure coordination des secours et une réduction des délais d’in-
tervention.

10
Chapitre 1. État de l’art

Partie 02 : Les systèmes embarqués


Actuellement nous avons assisté à une forte croissance des systèmes embarqués temps
réel dans tous les aspects de la vie moderne, ces systèmes nous fournissent d’importants
exemples de leur utilisation que ce soit dans le domaine professionnel, le quotidien ou les
loisirs.

1.7 Historique
L’histoire des systèmes embarqués est marquée par des jalons significatifs. En 1960,
Charles Stark Draper du MIT a utilisé pour la première fois un système embarqué dans le
développement du système de guidage Apollo. En 1965, Autonetics a introduit le D-17B,
un ordinateur clé dans le système de guidage du missile Minuteman. En 1968, le premier
système embarqué pour véhicule a été déployé, marquant une avancée majeure dans ce
domaine. En 1971, Texas Instruments a révolutionné avec le premier microcontrôleur.
L’année 1987 a vu l’émergence du premier système d’exploitation embarqué, VxWorks, de
Wind River, suivi en 1996 par Microsoft avec Windows Embedded CE. À la fin des années
1990, les premiers systèmes Linux embarqués ont fait leur apparition. Avec une croissance
exponentielle, le marché des systèmes embarqués a atteint 140 milliards de dollars en
2013, et les prévisions des analystes suggèrent une croissance continue, dépassant les 40
milliards de dollars d’ici 2030. La figure 1.4 montre l’évolution rapide des microprocesseurs
au cours des années [7].

Fig. 1.4 : Evolution des microprocesseurs [8].

11
Chapitre 1. État de l’art

1.8 Définition
Un système embarqué est un système électronique et informatique intégré dans un
produit plus large. Son principal objectif est de traiter les données provenant de son envi-
ronnement afin de fournir des fonctionnalités au produit hôte qui l’incorpore. Par exemple,
les voitures modernes peuvent être équipées d’un système de climatisation entièrement
contrôlé par un système embarqué. Ce dernier collecte des données sur la température et
l’humidité de l’air à l’intérieur de la voiture, et en fonction de ces données, il active ou
désactive le climatiseur, l’humidificateur, le déshumidificateur, etc [9].

1.9 Structure des systèmes embarqués


Les systèmes embarqués varient en complexité, mais se composent généralement de
trois éléments principaux qui sont identifié par la figure suivante :

Fig. 1.5 : Composants d’un système embarqué.

1.9.1 Le matériel

Le matériel des systèmes embarqués est basé sur des microprocesseurs et des micro-
contrôleurs. Les microprocesseurs sont très similaires aux microcontrôleurs et font généra-
lement référence à une unité centrale de traitement (CPU) intégrée à d’autres composants
informatiques de base tels que des puces mémoire et des processeurs de signaux numé-
riques (DSP). Les microcontrôleurs ont ces composants intégrés dans une seule puce [10].

12
Chapitre 1. État de l’art

En termes de matériel, un système embarqué de base se compose des éléments suivants :

• Les capteurs convertissent les données physiques en un signal électrique.

• Les convertisseurs analogiques-numériques (A-D) transforment un signal électrique


analogique en un signal numérique.

• Les processeurs traitent les signaux numériques et les stockent en mémoire.

• Les convertisseurs numérique-analogique (D-A) transforment les données numé-


riques du processeur en données analogiques.

• Les actionneurs comparent la sortie réelle à la sortie stockée en mémoire et choi-


sissent la sortie correcte.

Fig. 1.6 : Structure d’un système embarqué

1.9.2 Logiciels et microprogrammes

Les logiciels pour systèmes embarqués peuvent varier en complexité. Toutefois, les
microcontrôleurs de qualité industrielle et les systèmes IoT embarqués exécutent généra-
lement des logiciels très simples qui nécessitent peu de mémoire.

1.9.3 Système d’exploitation en temps réel

Ces systèmes ne sont pas toujours inclus dans les systèmes embarqués, en particulier
les systèmes à petite échelle. Les RTOS définissent le fonctionnement du système en
supervisant le logiciel et en fixant des règles pendant l’exécution du programme.

13
Chapitre 1. État de l’art

1.10 Classification
Plusieurs facteurs déterminent la classification des systèmes embarqués, tels que la
génération, le comportement déterministe, la complexité et les performances. Ce dernier
facteur est le plus couramment utilisé. Les systèmes embarqués sont divisés en trois types
principaux en fonction de leur complexité et de leurs performances [11], comme le montre
la figure 1.7.

Fig. 1.7 : Types des systèmes embarqués.

1.10.1 Systèmes embarqués à petite échelle


les systèmes embarqués à petite échelle sont conçus à l’aide d’un microcontrôleur de 8
ou 16 bits. Ils peuvent être alimentés par une batterie. Le processeur utilise des ressources
très réduites/limitées en termes de mémoire et de vitesse de traitement. Principalement,
ces systèmes n’agissent pas comme un système indépendant, mais comme n’importe quel
composant d’un système informatique, mais ils ne calculent pas et ne sont pas dédiés à
une tâche spécifique.

1.10.2 Systèmes embarqués de taille moyenne


les systèmes embarqués de taille moyenne sont conçus à l’aide d’un microcontrôleur de
16 ou 32 bits. Ces systèmes embarqués de taille moyenne sont plus rapides que les systèmes
embarqués de petite taille. L’intégration du matériel et du logiciel est complexe dans ces
systèmes. Java, C, C++ sont les langages de programmation utilisés pour développer
les systèmes embarqués de taille moyenne. Différents types d’outils logiciels comme le
compilateur, le débogueur, le simulateur, etc. sont utilisés pour développer ce type de
systèmes.

14
Chapitre 1. État de l’art

1.10.3 Systèmes embarqués sophistiqués ou complexes


les systèmes embarqués sophistiqués ou complexes sont conçus à l’aide de plusieurs
microcontrôleurs 32 bits ou 64 bits. Ces systèmes sont développés pour exécuter des
fonctions complexes à grande échelle. Ces systèmes présentent une grande complexité
matérielle et logicielle. Nous utilisons à la fois des composants matériels et logiciels pour
concevoir des systèmes finaux ou des produits matériels.

1.11 Caractéristiques
Dans cette partie on peut citer quelques-unes des caractéristiques importantes des
systèmes embarqués [12] :

Fig. 1.8 : Caractéristiques importantes des systèmes embarqués.

• Exécution de tâches spécifiques : les systèmes embarqués sont optimisés pour


la tâche particulière qu’ils sont censés accomplir, ce qui les rend plus efficaces et
plus fiables.

• Faible coût : les systèmes embarqués sont souvent utilisés en grandes quantités et
le coût unitaire doit être faible pour que le produit soit économiquement viable.

• Haute fiabilité : les systèmes embarqués sont conçus pour fonctionner de manière
fiable et cohérente sur de longues périodes.

• Faible consommation : ceci est important pour les applications où le système doit
fonctionner pendant de longues périodes sur batterie ou lorsque la consommation

15
Chapitre 1. État de l’art

d’énergie doit être minimisée pour réduire les coûts d’exploitation.

• Rendement élevé : Les systèmes embarqués sont conçus pour être très efficaces
en termes de puissance de traitement, d’utilisation de la mémoire et de consomma-
tion d’énergie. Cela garantit qu’ils peuvent accomplir leur tâche spécifique avec une
efficacité et une fiabilité maximales.

• Interface utilisateur minimale : De nombreux systèmes embarqués ne néces-


sitent pas d’interface utilisateur complexe. Ils sont souvent conçus pour fonctionner
de manière autonome ou avec une intervention minimale de l’utilisateur.

• Grande stabilité : Les systèmes embarqués sont généralement conçus pour être
stables et fiables.

1.12 Systèmes temps réel


La littérature fournit pour la notion de « système temps réel » les définitions suivantes :

Un système temps réel est un système dont la correction ne dépend pas seulement des
valeurs des résultats produits mais également des délais dans lesquels les résultats sont
produits le système doit répondre à des stimuli externes sous un délai spécifié, l’absence de
réponse est aussi grave qu’une réponse erronée [13]. Autrement c’est un système qui doit
satisfaire des contraintes de temps de réponse explicites (limitées) ou risquer de graves
conséquences, y compris une défaillance [14].

1.12.1 Catégories de Système temps réel


Dans les systèmes temps réel, on distingue souvent entre les contraintes temps réel
dur, souple ou ferme :
• Temps réel dur ou critique (hard real-time) : le non-respect des contraintes tempo-
relles entraîne la faute du système, on cite par exemple le contrôle de trafic aérien
et le système de conduite de missile [15].
• Temps réel souple (soft real-time) : le respect des échéances est important mais le
non-respect des échéances ne peut occasionner de graves conséquences comme dans
la projection vidéo : décalage entre le son et l’image [15].
• Temps réel ferme (firm real-time) : temps réel souple avec le manquement occasion-
nel des échéances, comme la perte de quelques trames d’images dans la projection
vidéo [15].
16
Chapitre 1. État de l’art

1.13 Domaines d’application des systèmes embarqués

Les systèmes embarqués sont utilisés dans une large gamme d’applications dans divers
secteurs. Parmi les applications courantes des systèmes embarqués, on peut citer [16] :

• L’électronique public : Les systèmes embarqués sont utilisés dans les produits
électroniques grand public tels que les smartphones, les appareils photo numériques,
les téléviseurs et les appareils électroménagers.
• Industrie automobile : Les systèmes embarqués sont utilisés dans les systèmes
automobiles tels que la gestion du moteur, le contrôle des airbags et les systèmes
d’infodivertissement.
• Industrie aérospatiale : Les systèmes embarqués sont utilisés dans des appli-
cations aérospatiales telles que les systèmes de commande de vol, les systèmes de
navigation et les systèmes de communication.
• Automatisation industrielle : Les systèmes embarqués sont utilisés dans les
applications d’automatisation industrielle telles que le contrôle des processus, l’au-
tomatisation des usines et la robotique.
• Sécurité et surveillance : Les systèmes embarqués sont utilisés dans les systèmes
de sécurité et de surveillance tels que les systèmes de contrôle d’accès, les systèmes
de télévision en circuit fermé et les systèmes biométriques.

Fig. 1.9 : Domaine d’application des systèmes embarqués.

17
Chapitre 1. État de l’art

1.14 Systèmes embarqués automobiles


Dans les systèmes automobiles, de plus en plus d’équipements passent des systèmes
mécaniques aux systèmes électroniques. Les systèmes embarqués automobiles sont des
systèmes électroniques intégrés dans les véhicules pour contrôler et gérer diverses fonctions
et opérations. Ils se composent de microcontrôleurs, de capteurs, d’actionneurs et de
logiciels qui travaillent ensemble pour permettre des fonctionnalités spécifiques dans les
véhicules comme illustré dans la figure 1.10. Ces systèmes sont conçus pour effectuer des
tâches telles que la gestion du moteur, le contrôle de la transmission, la navigation, le
divertissement et les fonctions de sécurité

En intégrant ces systèmes dans les automobiles, les constructeurs peuvent améliorer
la fonctionnalité et les performances globales des véhicules.

Fig. 1.10 : Systèmes intégrés dans un véhicule moderne.

Il est indéniable que l’industrie automobile a connu une transformation significative au


cours des dernières décennies, passant d’une mécanique pure à une combinaison complexe
d’électronique et d’informatique. Cette évolution est largement motivée par les exigences
croissantes des consommateurs en matière de sécurité, de confort et de connectivité, ainsi
que par la concurrence féroce entre les constructeurs automobiles sur le marché mondial.
Les avancées technologiques dans les capteurs, les calculateurs et les logiciels embarqués

18
Chapitre 1. État de l’art

ont permis l’émergence de nouvelles fonctionnalités telles que les systèmes avancés d’aide à
la conduite (ADAS), l’infodivertissement automobile, la connectivité et même la conduite
autonome.

Aujourd’hui, un véhicule contient une grande quantité d’électronique et d’informa-


tique : on retrouve plus de 100 capteurs, 30 à 50 calculateurs selon le type de véhicule et
parfois près d’un million de lignes de codes pour les véhicules de dernière génération [17].

La croissance rapide du marché des systèmes embarqués pour l’automobile, évalué à


24.6 milliards USD en 2023 avec une perspective d’atteindre 58,6 milliards USD d’ici à
2032, avec un taux de croissance annuel moyen d’environ 8,38[18] , témoigne de l’impor-
tance croissante de ces technologies dans le secteur automobile. Ces systèmes sophistiqués
sont essentiels pour traiter les données provenant d’une multitude de capteurs, tels que
les caméras, lidar et radars, et pour prendre des décisions en temps réel afin d’améliorer
la sécurité et la commodité de la conduite [19].

En particulier, les fonctions ADAS, l’infodivertissement automobile, la connectivité


et la conduite autonome sont largement alimentées par des solutions logicielles avancées.
Les logiciels embarqués jouent un rôle crucial dans le fonctionnement de ces systèmes,
permettant des fonctionnalités telles que le régulateur de vitesse adaptatif, les avertisse-
ments de sortie de voie et même des fonctionnalités de conduite semi-autonome comme
le système Autopilot de Tesla. Cela se traduit par une demande croissante de logiciels
embarqués sophistiqués qui alimentent les systèmes et les fonctionnalités des véhicules
modernes [19].

Fig. 1.11 : Taille du marché des systèmes embarqués automobiles.

19
Chapitre 1. État de l’art

1.14.1 Catégories
Les systèmes embarqués automobiles peuvent être catégorisées en fonction de leur
domaine d’action principal. Voici quelques exemples de ces catégories :

• Habitacle / Confort : Ces fonctions visent à améliorer le confort des passagers


et du conducteur à l’intérieur du véhicule. Elles peuvent inclure la climatisation
automatique, les sièges chauffants, le système de navigation, l’allumage automatique
des feux, le réglage automatique des rétroviseurs, le système audio, etc.

• Moteur / Transmission : Ces fonctions sont liées au bon fonctionnement du


moteur et de la transmission du véhicule. Elles comprennent le contrôle de l’injection
de carburant, la gestion électronique du moteur, la commande de la boîte de vitesses
(automatique ou manuelle), la gestion de l’embrayage automatique, etc.

• Sécurité : Ces fonctions sont conçues pour améliorer la sécurité des passagers
et réduire les risques d’accidents. Elles comprennent des systèmes tels que l’ABS
(système antiblocage des freins), les airbags, l’ESP (programme électronique de
stabilité), les systèmes de surveillance de la pression des pneus, les caméras de
recul, les radars de détection des obstacles, les systèmes de freinage automatique
d’urgence, etc.

1.15 Systèmes et applications mobiles dans le domaine


de sécurité routière
Dans cette section nous présentons une étude détaillée des travaux existants autours
des systèmes intelligents et applications mobiles dans le domaine de la sécurité routière.

1.15.1 Système ADAS


Ce système intelligent d’aide à la conduite, abréviation anglaise de « ADAS » (Advan-
ced Driving Assistance System), peut contribuer à réduire les accidents de la route et les
victimes et à rendre la circulation plus fluide [20].

Les capteurs sont une partie importante de l’ADAS. Ils collectent et traitent les infor-
mations sur l’environnement, l’état du véhicule et du conducteur, ainsi que les informa-

20
Chapitre 1. État de l’art

tions nécessaires à l’assistance de ce dernier. Il existe de nombreux types de capteurs, qui


sont souvent combinés pour améliorer le fonctionnement de l’ADAS. L’amélioration de
la technologie des capteurs est essentielle au développement d’une conduite entièrement
autonome. Il existe quatre types de capteurs : les capteurs radar, les capteurs à ultrasons,
les capteurs lidar et les caméras (voir 1.12) [21].

Fig. 1.12 : Disposition des capteurs [20].

Mais, Il est important de reconnaître que l’évaluation des ADAS n’est pas une science
exacte, car l’efficacité réelle de ces systèmes dépend de divers facteurs tels que les mau-
vaises conditions météorologiques ou la visibilité réduite, notant la saleté sur le capteur
[22] .

1.15.2 Applications mobiles dans le contexte de sécurité routière

Apple et Google ont développé des systèmes pour détecter les accidents de voiture
via leurs plateformes respectives Apple CarPlay et Google Android auto, mais c’est des
systèmes non intégrés dans la voiture.

Dans le tableau ci-dessous résume les applications par leurs modèle, disponibilité,
fonctionnement, et fonctionnalités.

21
Chapitre 1. État de l’art

Fonctionnalité iPhone Pixel


Pixel 3 et plus récents (exclut
Modèles iPhone
Pixel 3a/3a XL)
Limitée (Autriche, Belgique, Por-
Disponibilité Mondiale
tugal, Suisse, Inde et extension)
Capteurs (accéléromètre, gyro-
Fonctionnement Capteurs (similaire à l’iPhone)
scope, baromètre, microphone)
Appel automatique des services Vous avertit, appel automatique
Fonctionnalités d’urgence, contacts d’urgence, si pas de réponse, contacts d’ur-
SOS d’urgence par satellite gence

Tab. 1.1 : Exemple d’applications.

1.15.2.1 SOSMART
SOSmart utilise les capteurs internes tels que l’accéléromètre et le GPS de votre smart-
phone pour détecter les accidents de voiture et envoie automatiquement une notification
d’urgence avec votre position à vos contacts pré-sélectionnés. Cette fonctionnalité permet
à vos proches d’envoyer de l’aide rapidement.

En plus de cela, SOSmart déclenche une alarme sonore forte pour attirer l’attention
de vos contacts d’urgence, garantissant ainsi une réponse rapide. En cas d’autres ur-
gences, l’application propose également un bouton de panique qui envoie une notification
d’urgence avec votre localisation à vos contacts d’urgence et aux institutions associées.

De plus, SOSmart offre la possibilité de trouver les hôpitaux les plus proches en cas de
besoin urgent d’assistance médicale, en affichant une liste des établissements disponibles
et en indiquant le moyen le plus rapide de s’y rendre, où que vous soyez dans le monde.

Fig. 1.13 : Interfaces de l’application SOS autoroute

Apple CarPlay, Google Android Auto, SOSmart et tous les autres systèmes similaires

22
Chapitre 1. État de l’art

qui utilisent les capteurs intégrés des smartphones dans les applications de détection de
collision peuvent présenter des limites. Parmi celles-ci, on trouve une consommation ac-
crue de la batterie en raison de l’activation constante des capteurs, des préoccupations
concernant la confidentialité liées à la collecte de données de mouvement, des problèmes
potentiels de précision dus à la qualité variable des capteurs et aux conditions environne-
mentales changeantes, ainsi que des différences de types et de qualité de capteurs entre les
différents modèles de smartphones, entraînant un dysfonctionnement possible de certaines
applications sur certains appareils, ce qui peut restreindre leur utilité et leur portée.

1.16 Conclusion
Dans ce chapitre nous avons pu introduire notre projet. Dans la première partie on a
présenté globalement tout les aspects de la sécurité routière. Dans la deuxième partie nous
avons présenté les systèmes embarqués, leur rôle major est d’exercer une tâche précise de
manière autonome, sans intervention humaine, de nos jours ces systèmes sont largement
utilisés dans de multiples domaines d’applications notamment dans la sécurité routière.
Dans le chapitre qui suit, on va présenter la partie matérielle et logicielle qui permet de
réaliser le système de notre projet.

23
Chapitre 2

Éléments de la partie matérielle et


logicielle du projet

24
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

2.1 Introduction
Notre projet consiste à réaliser un système embarqué qui aide à améliorer la sécurité
routière. Plusieurs méthodes et outils sont disponibles pour obtenir un résultat optimal. Ce
deuxième chapitre explore les aspects software (logiciel) et hardware (matériel) du projet,
qui sont deux piliers essentiels dans la conception et la réalisation de notre solution. Le
choix des composants et outils est basé sur la réalisation d’un système robuste, fonctionnel,
peu complexe et peu coûteux.

Partie 01: Éléments software (Logiciel)


Dans cette première partie, nous explorerons en détail l’aspect logiciel de notre projet,
en nous concentrant sur l’application mobile, qui présente le cœur de notre système, ser-
vant de plate-forme essentielle pour l’interaction des utilisateurs avec nos fonctionnalités.
Nous examinerons l’architecture, le fonctionnement et la gestion des bases de données des
applications mobiles. De plus, nous mettrons en lumière les outils de développement clés
tels que Flutter et Android Studio, qui ont été cruciaux pour créer une application mobile
multiplateformes.

2.2 Application mobile


Une application mobile est en premier lieu un logiciel applicatif, un programme télé-
chargeable sur smart-phone ou tablette, qui contient un fichier installé et exécuté sur le
système d’exploitation du dispositif [23]. Ce fichier est codé avec un langage de dévelop-
pement spécifique. Les technologies et langages de développement utilisés varient et sont
propres à chaque type d’application mobile.

Une application mobile peut être pré-installée sur l’appareil lors de sa fabrication
ou téléchargée depuis un magasin d’applications, comme Google Play, l’App Store ou
le Windows Phone Store. Certaines applications sont gratuites, tandis que d’autres sont
payantes. Il existe plusieurs systèmes d’exploitation pour les appareils mobiles incluent ;

- iOS (Apple) : Utilisé sur les iPhone et iPad.

- Android (Google) : Présent sur de nombreux smartphones tels que ceux de Samsung,
HTC, LG, et Motorola.

25
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

- Blackberry OS : Le système d’exploitation des appareils BlackBerry.

- Windows Phone (Microsoft) : Utilisé sur certains smartphones de la gamme Windows


[24].

2.2.1 Types des applications mobiles

Les applications mobiles peuvent être classées en fonction de leur mode de développe-
ment en trois catégories principales : les applications natives, hybrides et web.

Fig. 2.1 : Types d’application mobile.

2.2.1.1 Application native


Une application native est une application mobile développée spécifiquement pour
l’un des systèmes d’exploitation utilisés par les smartphones et les tablettes mentionnés
précédemment. Le développement des applications natives permet un accès à toutes les
fonctionnalités matérielles pertinentes de l’appareil, telles que le GPS, l’accéléromètre,
la caméra, etc [25]. Une fois téléchargées et installées, certaines applications peuvent
également être utilisées sans connexion Internet. Ces applications peuvent être distribuées
via des plateformes de téléchargement ou installées directement sur votre terminal en
utilisant des fichiers d’installation spécifiques.

2.2.1.2 Application Hybride


les applications hybrides se situent quelque part entre les applications natives et les ap-
plications Web et fusionne entre les caractéristiques de ces deux types. Le développement
combine des éléments web sous forme de web app et des éléments de l’application native
en compilant une exécutable compatible avec le système d’exploitation. Des plate-forme
permettent de créer une application indépendante à partir de pages web et l’utilisation
des fonctions natives de l’appareil mobile. L’approche hybride permet de mutualiser le

26
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

développement sur plusieurs systèmes d’exploitation. Développer en hybride contribue à


l’optimisation du temps et du coût de développement [26].

2.2.1.3 Application multi-plateforme


La tendance actuelle vers le développement exclusivement natif rencontre des défis
majeurs. Par exemple, créer une même application native pour tous les systèmes d’exploi-
tation courants requiert une expertise dans des environnements et langages distincts, sans
garantie de succès, sauf peut-être avec une architecture exceptionnelle. Adopter cette ap-
proche peut rapidement entraîner une multiplication des ressources nécessaires pour un
projet, y compris la maintenance, représentant ainsi un investissement substantiel sur
toute la durée de vie de l’application [27].

Les avantages incontestables du développement multiplateforme sont son universalité,


sa rapidité et sa rentabilité. Une application multiplateforme peut être installée à la fois
sur l’App Store et Google Play, ce qui en fait une option économique par rapport au
développement de deux versions natives distinctes. Cependant, examinons de plus près
ces avantages :

• Écrire une seule fois : ces technologies sont conçues de manière à permettre aux
développeurs de créer la même application pour différentes plate-formes en utilisant
le même code de base,

• Économies et Validation Rapide : Les applications, surtout celles des start-ups, ne


rapportent pas de revenus avant leur lancement. En optant pour la réutilisation du
code, elles peuvent développer et publier la version initiale plus rapidement, ce qui
leur permet d’évaluer la réaction du marché et de réduire les dépenses initiales,

• Marketing : développer le même produit sous plusieurs plate-formes peut être in-
évitables donc une cohérence visuelle renforce la crédibilité de l’entreprise. C’est
pourquoi le développement d’applications multi-plateformes est souvent privilégié
pour sa crédibilité et son efficacité en matière de marketing,

• Facilité d’assistance et de maintenance : Les solutions multiplateformes offrent une


gestion facile et économique, avec des mises à jour et une maintenance rapides,
minimisant ainsi les coûts pour l’entreprise [28].

27
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

2.2.2 Fonctionnement d’une application mobile


La figure 2.2 illustre les composants de base pour faire fonctionner une application
mobile. Voici une description simplifiée de ce processus :

• Interaction Utilisateur : l’utilisateur interagit avec l’application mobile en effectuant


des actions telles que taper sur des boutons, saisir des informations dans des champs
de texte, etc, par la suite l’application envoie une requête au serveur, cette requête
contient des informations sur ce que l’utilisateur souhaite accomplir,

• Traitement de la Requête Côté Serveur : Le serveur reçoit la requête de l’application


mobile et la traite en fonction des instructions fournies par l’application. Cela peut
impliquer l’accès à une base de données,

• Communication avec la Base de Données : le serveur communique avec la base de


données pour récupérer, mettre à jour ou supprimer des données en fonction de la
requête de l’utilisateur,

• Réception de la Réponse par l’Application : L’application mobile reçoit la réponse


du serveur et la traite pour afficher les résultats à l’utilisateur ou pour effectuer
d’autres actions en conséquence,

• Affichage des Résultats à l’utilisateur : Enfin, l’application affiche les résultats de


la requête à l’utilisateur, que ce soit sous forme de données affichées à l’écran, de
notifications, ou d’autres formes d’interaction.

Fig. 2.2 : Fonctionnement d’une application mobile.

28
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

2.2.3 Processus de création d’une application mobile


Les applications mobiles ont aujourd’hui une place incontournable dans notre vie quo-
tidienne, offrant un accès instantané à l’information, à la communication, au divertisse-
ment, et bien plus encore. Qu’il s’agisse de jeux simples ou de solutions commerciales
complexes, il existe une application pour répondre à chaque besoin.

La figure 2.2, montre les étapes a suivre à fin de créer une application mobile,

• Conception d’une idée qui répond a une problématique,

• Réaliser une analyse de marché et définir ses caractéristiques. Cela implique d’iden-
tifier les problèmes et les besoins, d’étudier la concurrence, de recueillir les retours
des utilisateurs potentiels et d’établir une feuille de route pour le développement de
l’application,

• Le résultat final est une application qui satisfait non seulement les besoins de son
public cible, mais qui se distingue également sur un marché compétitif [29].

Fig. 2.3 : Processus de création d’une application mobile [29].

2.3 Outils de développement


Lors du développement d’une application mobile, plusieurs plateformes et langages de
développement sont disponibles, et le choix dépend des performances et de la flexibilité
souhaitées.

Une technologie multiplateforme permet de développer pour différentes plateformes


sans créer des applications séparées. Flutter se distingue comme le principal framework de
développement d’applications multiplateformes, « flutter est la technologie multiplateforme
la plus populaire car elle est utilisée par 42% des développeurs de logiciels utilisant des
frameworks multiplateformes dans le monde, suivie par React Native. » - Statista [30].
29
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

2.3.1 Flutter Framework


Flutter est un framework open source de développement d’applications multiplate-
formes, développé et pris en charge par Google. Les développeurs utilisent Flutter pour
concevoir l’interface utilisateur (UI) d’une application destinée à plusieurs plateformes,
en utilisant une seule base de code. Lors de son lancement en 2017, Flutter était princi-
palement axé sur le développement d’applications mobiles. Actuellement, Flutter prend
en charge le développement d’applications sur six plateformes : iOS, Android, le web,
Windows, macOS et Linux [31].

Fig. 2.4 : Flutter framework [32].

2.3.1.1 Avantages de Flutter


Flutter présente de nombreux avantages, comme indiqué ci-dessous :

• Le rechargement à chaud (HOT- RELOAD) : qui permet aux développeurs de voir


immédiatement les modifications et les mises à jour du code sans avoir à recharger
l’application.

• Widgets : constituent les composants principaux de Flutter, ils servent à définir la


structure et la disposition des éléments de l’interface utilisateur, comme les boutons,
les champs de texte, les images, et d’autres encore.

• Langage de programmation : Les développeurs n’ont besoin d’écrire qu’une seule


base de code pour les deux applications (sur les plateformes Android et iOS) [33].

2.3.2 Langage de développement


Dart est un langage de programmation open-source, purement orienté objet créé par
Google, basé sur des classes, facultativement typé, destiné à la création des applications.
Dart est difusé sur une large gamme de scénario possible allant d’un simple projet sans
trop de structure à des projets à grande échelle [34]. 30
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

Fig. 2.5 : Dart logo [35].

2.3.3 Android Studio


Pour le développement des applications mobiles, l’environnement de développement
intégré (IDE) le plus convival est Android Studio. Il a été révélé en mai 2013, et la première
version stable a été publiée en décembre 2014. Depuis, il a subi de multiples mises à jour,
chacune apportant des améliorations significatives pour faciliter la vie des développeurs
Android [36].

Fig. 2.6 : Android studio logo.

2.3.3.1 Une application Flutter sous Android Studio

Dans les étapes suivantes, nous allons présenter les principales étapes pour créer une
application Flutter dans Android Studio, ainsi que les composants essentiels du projet.

• D’abord, on lance l’application Android Studio,

• ensuite, on crée un nouveau projet Flutter en cliquant sur : File -> New -> New
Flutter Project, comme montre la figure 2.7.

• Enfin, dans la fenêtre qui apparaît, on configure les paramètres en choisissant le nom
et l’emplacement du projet, ainsi que les langages et plateformes de développement,
comme illustré dans la figure 2.8.

31
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

Fig. 2.7 : Nouveau projet Futter.

Fig. 2.8 : Creation d’un projet Futter.

Après la création d’un nouveau projet, il est essentiel de se familiariser avec l’architecture
d’Android Studio. Nous pouvons voir sur le volet gauche la structure de notre application
Android, comme le montre la figure 2.9. Les différents composants de la structure de
l’application sont expliqués ici :

• android : Code source généré automatiquement pour créer une application Android,

• ios : Code source généré automatiquement pour créer une application iOS,

• lib : Dossier principal contenant le code Dart écrit en utilisant le framework Flutter,

• lib/main.dart : Point d’entrée de l’application Flutter,

32
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

Fig. 2.9 : Structure du projet.

• test : Dossier contenant le code Dart pour tester l’application Flutter,

• .metadata : Généré automatiquement par les outils Flutter,

• .packages : Généré automatiquement pour suivre les packages Flutter,

• pubspec.yaml : Utilisé par Pub, le gestionnaire de packages Flutter,

• README.md : Fichier de description du projet.

2.3.4 Système de Gestion de Basse de Données


Une base de données présente un logiciel conçu pour stocker, rechercher et maintenir
des informations. Les données y sont conservées de manière durable et partagées entre
de nombreux utilisateurs. Ces utilisateurs manipulent les données à l’aide de langages
appropriés. Le système de base de données gère également la sécurité et les conflits d’accès
[37].

Le choix de la base de données pour une application mobile est crucial et dépend
largement des besoins spécifiques de l’application. Cependant, il existe deux types de
bases de données, cités ci-dessous :

33
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

2.3.4.1 Base de données interne

Une base de données interne est une base de données locale intégrée à l’application
mobile elle-même. Elle est souvent utilisée pour stocker des données qui doivent être
accessibles même lorsque l’appareil est hors ligne. Les bases de données internes sont
gérées par le système de gestion de base de données (SGBD) intégré à la plateforme
mobile, comme SQLite pour Android et Core Data pour iOS. Elles offrent généralement
des performances rapides et une intégration étroite avec l’application [38].

2.3.4.2 Base de données externe

Une base de données externe est une base de données distante qui est hébergée sur
un serveur distant. Elle est accessible via Internet et est souvent utilisée pour stocker des
données partagées entre plusieurs utilisateurs ou pour synchroniser les données entre plu-
sieurs appareils. Les bases de données externes peuvent être gérées par différents systèmes
de gestion de bases de données, tels que MySQL, PostgreSQL, MongoDB, etc. De plus,
des services de base de données cloud comme Firebase Firestore, Amazon DynamoDB, ou
Microsoft Azure peuvent être utilisés pour une gestion simplifiée et évolutive des données
[38].

34
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

Partie 02: Éléments Hardware (Matériel)


L’étape essentielle à faire pour réussir une réalisation est de choisir l’unité de traite-
ment c’est-à-dire l’objet électronique principal qui va traiter et interpréter les informations
et agir par ces dernier sur l’environnement.

Le choix ce fait entre nombreuses cartes de développement modulaire, chaque carte


contient des avantages et des inconvénients. Elles se caractérisent par leurs fonctionnalités,
leurs complexités et leurs prix.

2.4 ESP-32
L’ESP32 est un microcontôleur fabriqué par la multinationale chinoise Expressif Sys-
tems, créée en 2008. Le cœur de la carte est une puce de type SoC (System on a Chip)
à faible coût et à faible consommation d’énergie, intégrant à la fois des fonctionnalités
Wi-Fi et Bluetooth double mode [39]. Espressif fournit un ensemble complet de ressources
matérielles et logicielles pour accompagner les développeurs dans la concrétisation de leurs
idées en utilisant la série ESP32. Le cadre de développement logiciel proposé par Espressif
est spécifiquement conçu pour les applications IoT, offrant des fonctionnalités avancées
telles que le Wi-Fi, le Bluetooth, la gestion de l’énergie et bien d’autres encore.

Fig. 2.10 : Carte ESP-32.

2.4.1 Composant standard

Le module ESP32 est équipé de divers composants essentiels qui lui permettent de
fonctionner efficacement. on illustre dans la figure suivante les différents composants qui
caractérisent la carte de développement :

35
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

Fig. 2.11 : Composants de l’ESP-32.

• Micro USB : utilisée pour alimenter et connecter ESP32 à l’ordinateur,

• Bouton reset : Pour redémarrer le code chargé sur la carte,

• Régulateur 3.3V : Assure une alimentation stable de 3.3 volts pour le bon fonction-
nement de l’ESP32,

• Antenne WiFi : Permet la connexion sans fil de l’ESP32 aux réseaux WiFi,

• USB to UART : Interface permettant la communication série entre l’ESP32 et l’or-


dinateur via USB,

• Entrées/Sorties à usage général : L’ESP-32 est doté de deux rangées de broches


GPIO (General-Purpose Input/Output) sur la face supérieure qui signifie broches
de sortie et d’entrée à usage général, ces broches sont utilisées pour connecter l’ESP-
32 à des divers circuits électroniques. L’intitulé des broches est présenté par la figure
suivante :

Fig. 2.12 : GPIO de l’ESP-32.

36
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

Les GPIO sont au nombre total de 38 broches, on retrouve des broches d’alimen-
tation 3 et 5V ainsi que des masses GND, le reste des broches sont identifiés par
un chiffre, certains servent à des fonctionnalités supplémentaires comme mentionné
dans la figure ci-dessus, ces fonctions n’empêchent pas d’utiliser les GPIO de façon
classique, comme entrée/sortie numérique.

2.5 Capteurs
Les capteurs suivants seront déployés dans notre projet pour collecter des données
environnementales essentielles et fournir des informations précises et fiables.

2.5.1 Capteur FSR

Un capteur de force à résistance, en anglais : Force-sensing resistor (FSR), est un cap-


teur électrique constitué d’un film polymère épais qui modifie sa résistance ou sa conduc-
tance lorsqu’une force ou une pression est appliquée. La résistance électrique diminue avec
l’augmentation de la force [40].

Fig. 2.13 : Capteur FSR.

Pour mesurer la résistance du FSR, un circuit diviseur de tension a été construit avec
deux résistances en série dont l’une est le FSR comme illustré dans la figure 2.14. La
formule suivante est alors appliquée pour mesurer la résistance du FSR :

RM.V +
Vout = (2.1)
RM + RF SR

37
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

où : Vout est la tension de sortie, V+ la tension d’entrée et RM une résistance.

Fig. 2.14 : Diviseur de tenstion.

2.5.2 HC SR-04

Le HC SR-04 est un capteur à ultrasons permet de calculer la distance entre sa positon


et l’objet le plus proche sur son trajet en utilisant le son, le capteur génère une onde sonore
à une fréquence précise. Il s’attend ensuite à ce que cette onde sonore rebondisse sur un
objet et revienne vers le capteur (voir figure :2.16)[41]. Le temps entre l’émission de l’onde
sonore et son retour est mesuré par le capteur. La connaissance de la vitesse du son et du
temps de déplacement de l’onde permet de déterminer la distance parcourue par l’onde à
l’aide de l’équation suivante :

V itesseduson×T empscoul
Distance = (2.2)
2

Fig. 2.15 : Capteur ultrason HC SR-04.

38
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

2.5.2.1 Caractéristiques

Le capteur HC SR-04 présente les caractéristiques suivantes :

• Dimensions : 45 mm x 20 mm x 15 mm,

• Plage de mesure : 2 cm à 400 cm,

• Résolution de la mesure : 0.3 cm,

• Angle de mesure efficace : 15°,

• Largeur d’impulsion sur l’entrée de déclenchement : 10 µs.

2.5.2.2 Broches de connexions

Les Broches de connexion pour le capteur HC SR-04 sont les suivants :


• Vcc : Alimentation +5 V DC,

• Trig : Entrée de déclenchement de la mesure (Trigger input),

• Echo : Sortie de mesure donnée en écho (Echo output),

• GND : Masse de l’alimentation.

2.5.3 MPU-6050

Le MPU6050 est un système micro-électro-mécanique (MEMS) qui comprend un accé-


léromètre à 3 axes et un gyroscope à 3 axes. Il permet de mesurer l’accélération, la vitesse,
l’orientation, le déplacement et de nombreux autres paramètres liés au mouvement d’un
système ou d’un objet [42].

2.5.3.1 Caractéristiques

Le capteur MPU-6050 présente les caractéristiques suivantes :

• Accéléromètre MEMS à 3 axes et gyroscope à 3 axes combinés,

• Alimentation : 3-5V,

39
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

• Communication : Protocole I2C,

• L’ADC 16 bits intégré offre une grande précision,

• Le DMP intégré offre une grande puissance de calcul.

Fig. 2.16 : Capteur MPU-6050.

2.5.3.2 Broches de connexions

Les Broches de connexion pour le capteur MPU-6050 sont les suivants :

• Vcc : Permet d’alimenter le module, peut-être de +3V à +5V,

• GND : connexion à la masse,

• SCL (Serial Clock) : Utilisé pour fournir une impulsion d’horloge pour la commu-
nication I2C,

• SDA (Serial Data) : Utilisé pour le transfert de données via la communication I2C,

• XDA (Auxiliary Serial Data) : Il est possible de l’utiliser pour connecter d’autres
modules I2C au MPU6050,

40
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

• XCL (Auxiliary Serial Clock) : Il est possible de l’utiliser pour connecter d’autres
modules I2C au MPU6050,

• AD0 : Si plusieurs MPU6050 sont utilisés dans un seul MCU, cette broche peut être
utilisée pour varier l’adresse,

• INT (Interrupt) : Broche d’interruption pour indiquer que les données sont dispo-
nibles pour la lecture du MCU.

2.6 Communication ESP32-Applicatoin


Dans cette section, nous détaillons le processus d’intégration de l’ESP32 avec notre
application Flutter, mettant en lumière les étapes spécifiques et les choix technologiques
effectués pour réaliser cette intégration.

2.6.1 Choix de protocole TCP/IP

Nous avons choisi d’adopter le protocole TCP/IP (Transmission Control Protocol/Internet


Protocol) pour la communication entre notre application Flutter et l’ESP32. Ce choix
s’appuie sur la fiabilité et la large adoption de ce protocole, tant sur Internet que dans les
réseaux locaux. Le TCP/IP assure une transmission sécurisée des données ainsi qu’une
gestion efficace des connexions [43].

Le protocole TCP/IP se compose de quatre couches distinctes, formant une suite de


protocoles complète. Ces couches servent à différentes fonctions, telles que le routage des
paquets de données sur le réseau, l’adressage, et le contrôle des erreurs de transmission.
En adoptant le protocole TCP/IP, nous avons pu établir une communication stable et
sécurisée entre notre application Flutter et l’ESP32, offrant ainsi une expérience utilisateur
fluide et fiable [43].

2.6.2 Choix de l’ESP32 comme point d’accès

Le choix de l’ESP32 comme point d’accès dans notre projet découle de sa capacité
à créer un réseau WiFi autonome, similaire à la fonction de partage de connexion WiFi
disponible sur les téléphones.

41
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

En activant le mode Access Point, l’ESP32 agit comme un routeur WiFi logiciel,
permettant aux appareils de se connecter à son réseau local WiFi. Il est important de
noter que le fonctionnement d’un Soft AP sur l’ESP32 peut différer de celui d’un routeur
WiFi traditionnel, surtout en termes de performances. De plus, contrairement au partage
de connexion des téléphones, l’ESP32 en mode point d’accès n’est pas connecté à Internet,
offrant ainsi un réseau local WiFi isolé [44]. Les cas d’utilisation du mode point d’accès
de l’ESP32 comprennent :

• Faciliter la configuration initiale en se connectant temporairement à l’ESP32 en


mode Access Point pour saisir les identifiants du réseau WiFi principal,

• Permettre une communication simple entre plusieurs ESP32 via le WiFi,

• Mettre en place un serveur local sur un réseau WiFi isolé, offrant ainsi un environ-
nement sécurisé pour le développement et les tests,

• Créer un réseau distinct non connecté à Internet, idéal pour des applications néces-
sitant un réseau local privé.

2.6.3 Utilisation de sockets pour la communication

Dans notre projet, nous avons choisi d’utiliser des sockets pour établir une communi-
cation entre notre application Flutter et l’ESP32. Les sockets offrent une méthode flexible
et puissante pour échanger des données en temps réel sur un réseau, ce qui les rend
particulièrement adaptés à notre cas d’utilisation. Pour établir la connexion entre notre
application Flutter et l’ESP32, On utilise le package dart :io et les sockets pour établir
une communication bi-directionnelle.

Le package dart :io offre à notre application Flutter la capacité d’interagir de manière
asynchrone avec les entrées/sorties (I/O), ce qui est crucial pour établir une connexion
avec l’ESP32 en tant que point d’accès. Cette bibliothèque nous permet de manipuler
divers aspects tels que les fichiers, les répertoires, les sockets, les processus, les serveurs
et clients HTTP, et bien plus encore.

Nous avons utilisé la méthode ‘Socket.connect()‘, en spécifiant son adresse IP et le port


d’écoute. Cette étape nous a permis de créer un canal de communication bidirectionnelle

42
Chapitre 2. Éléments de la partie matérielle et logicielle du projet

entre notre application Flutter et l’ESP32, essentiel pour la transmission de données. Une
fois la connexion établie avec succès, nous avons mis en place un écouteur de données
entrantes sur le socket à l’aide de la méthode ‘socket.listen()‘. Cette approche asynchrone
nous a permis de recevoir les données envoyées par l’ESP32 en temps réel, et de les traiter
dynamiquement pour mettre à jour l’état de notre application en conséquence.

En combinant ces deux étapes, nous avons pu établir une communication fluide et
réactive entre notre application Flutter et l’ESP32, ouvrant ainsi la voie à diverses fonc-
tionnalités et applications [45].

2.7 Conclusion
Ce chapitre a été concrétisé par la présentation des différents éléments et outils utilisés
pour la mise au point de notre projet.

Dans la première section nous avons présenté la partie logiciel du projet et dans la
seconde partie nous avons exposé la carte de développement dans tous ses aspects ainsi
que les capteurs utilisés.

Dans le chapitre qui suit nous entamons la conception du système ainsi que toute la
réalisation du projet.

43
Chapitre 3

Conception et réalisation

44
Chapitre 3. Conception et réalisation

3.1 Introduction
Ce chapitre inclus une nouvelle partie pour éclaircir les objectifs du projet et les
analyser et présenter la solution que nous allons développer avec la conception du système.

3.2 Objectif du projet


Ce projet a pour objectif de concevoir et de mettre en place un système électronique
et informatique autonome qui garantit la sécurité automobile du conducteur grâce à deux
fonctions essentielles : la détection d’obstacles frontaux et la détection d’accidents. Pour
cela, il est réparti en deux unités principales :

• Un système électronique : Notre système électronique est basé sur le micro-


contrôleur ESP32 qui est l’unité du traitement principale du système. Il collecte les
données des différents capteurs, notamment le capteur ultrasonique HC-SR04, les
capteurs de force FSR402 et le capteur MPU6050.
• Une application mobile : Notre application se compose de plusieurs interfaces.
Elle est dédiée à gérer des alertes et des actions spécifiques en fonction des données
reçues de l’ESP32.

3.3 Schéma synoptique


La figure 3.21 présente le schéma bloc qui donne une idée sur l’ensemble du projet.

Fig. 3.1 : Schéma synoptique du système.

45
Chapitre 3. Conception et réalisation

3.4 Description des acteurs


Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif
matériel ou autre système) qui interagit directement avec le système étudié [46]. Dans le
cadre de notre analyse, les acteurs que nous avons pu identifier sont :

3.4.1 Le Conducteur

• Description : c’est l’acteur principal, qui peut interagir directement avec l’applica-
tion mobile pour surveiller en temps réel les informations sur les obstacles et les
accidents, en recevant des avertissements et des notifications en cas de danger.

• Responsabilités : le conducteur est responsable de manipuler les données et de ré-


pondre de manière appropriée aux alertes émises par l’application. Il peut prendre
des décisions sur la base des informations fournies et se protéger ainsi que les autres
lors de ses déplacements.

3.4.2 Services de secours

• Description : il s’agit d’un acteur extérieur à l’application, tel qu’un service d’ur-
gence ou une agence gouvernementale, chargé de fournir une assistance en cas d’ac-
cident ou de situation d’urgence.

• Responsabilités : la Protection Civile est chargée de recevoir les alertes d’urgence


envoyées par l’application en cas d’accident. Leur objectif est d’intervenir rapide-
ment et efficacement pour apporter une assistance médicale et autre aux victimes
d’accidents. Cela peut inclure la coordination de l’envoi d’équipes d’intervention,
d’ambulances ou d’autres ressources nécessaires sur les lieux de l’accident.

3.5 Conception de l’application


Le but principal de notre projet est de mettre en œuvre une solution complète pour
la prévention et la détection des accidents et réagir automatiquement afin d’augmenter la
sécurité du conducteur et du véhicule. Dans ce qui suit nous allons expliquer et montré
en détails toutes les étapes constitutives pour la modélisation d’une application mobile.

46
Chapitre 3. Conception et réalisation

3.5.1 Personnalisation du nom de l’application

nous avons personnalisé le nom de notre application en le nommant ”Car No Crash”.


Cette dénomination a été choisie pour refléter clairement l‘objectif principal de notre appli-
cation, qui est de prévenir les accidents de voiture et d’assurer la sécurité des conducteurs.
Cette personnalisation du nom peut prochainement contribuer également à distinguer
notre application des autres sur le marché, en la rendant unique et identifiable.

• version Android :

Afin de personnaliser le nom de l’application dans sa version Android, il suffit d’accé-


der au fichier \ Myproject\android\app\src\main\AndroidManifest.xml et de
modifier l’instruction android :label en y inscrivant le nom souhaité, comme illustré
dans la figure suivante :

Fig. 3.2 : Configuration du nom de l’application sous Android.

• version IOS :

Afin de personnaliser le nom de l’application dans sa version iOS, il suffit d’accéder


au fichier \Myproject\ios\Runner\Info.plist et de modifier la clé ‘CFBund-
leName‘ en y inscrivant le nom souhaité, comme illustré dans la figure suivante :

Fig. 3.3 : Configuration du nom de l’application sous IOS.

47
Chapitre 3. Conception et réalisation

3.5.2 Personnalisation d’icône de l’application

Nous avons créé une image en utilisant le logiciel Adobe Photoshop 2020, comme
présenté dans la figure ci-dessus. Cette icône unique contribue à l’identité visuelle de
notre application, la rendant facilement reconnaissable et professionnelle.

Fig. 3.4 : Espace de travail de l’image sur le logiciel Adobe Photoshop 2020.

3.5.2.1 Génération des dossiers Android et IOS

Dans cette étape nous avons utilisé le site www.appicon.com à fin de générer un
fichier RAR à partir de notre image. Les étapes sont affichées et expliqués par les figures
ci-dessus :

Fig. 3.5 : Les étapes de génération de l’icône sur le site web Appicon.io

1. Sélectionner iPhone comme appareil IOS,

2. Sélectionner un appareil Android,

48
Chapitre 3. Conception et réalisation

3. Donner un nom à notre image,

4. Cliquer sur générer.

Une fois le fichier .rar généré et extrait, les dernières étapes consistent à personnaliser
l’icône pour chaque version, en suivant les étapes appropriées pour chaque plateforme.

Fig. 3.6 : Contenu de fichier .rar généré.

Version Android : On déplace le contenu du dossier Android vers le chemin suivant :

Myproject\android\app\src\main\res comme indique la figure 3.7.

Fig. 3.7 : contenu du dossier Android généré.

Ensuite, on modifie l’instruction android :icon par le nom de l’image choisit dans la
troisième étape (Fig.3.5) comme suit :

Fig. 3.8 : Nom de l’icône.

Version IOS : on colle le contenue du dossier généré Assets.xcassets dans le chemin


suivant : Myproject\ios\Runner\Assets.xcassets.

La figure 3.9 montre l’apparence de l’icône de notre application après son installation
dans un smart-phone.
49
Chapitre 3. Conception et réalisation

Fig. 3.9 : Apparence de l’icône.

3.6 Architecture et interfaces


Dans ce qui suit nous allons expliquer et illustré globalement les interfaces importantes
de notre application.

3.6.1 Interface de bienvenue


La figure 3.11 présente l’interface de bienvenue, qui est la première interface à appa-
raître lors du lancement de l’application, suivie par deux demande d’autorisation, qui sont
cruciale pour le bon fonctionnement de l’application, notamment pour l’envoi de SMS et
l’accès à la localisation. L’interface de bienvenue contient deux boutons : « Sign in » et
« Sign up ». Le premier bouton dirige l’utilisateur vers l’interface d’Authentification et le
deuxième vers l’interface d’inscription.

• Permission pour l’envoi de SMS : Pour notifier les contacts préprogrammés en


cas d’accident, l’application requiert la permission d’envoyer des SMS.
– Sous Android : Ajouter des descriptions dans le fichier AndroidManifest.xml :

Fig. 3.10 : Instruction de la permission SMS pour système Android.

50
Chapitre 3. Conception et réalisation

(a) Sign In et Sign Up. (b) Autorisation SMS. (c) Autorisation GPS.

Fig. 3.11 : Interface de bienvenue.

– Sous IOS : Dès qu’on utilise package ‘flutte_sms’ pour envoyer un SMS dans
une application Flutter sur iOS, le système iOS gère automatiquement la de-
mande de permission. Si l’application tente d’envoyer un SMS pour la première
fois, iOS affiche une boîte de dialogue demandant à l’utilisateur de confirmer
l’envoi du message. L’utilisateur peut alors accepter ou refuser cette demande

• Permission pour l’accès à la localisation : Afin de détecter la position actuelle


de la voiture en cas d’accident, l’application requiert la permission d’accéder à la
localisation. Voici les instructions pour demander cette permission :

– Sous Android : Ajouter des descriptions dans le fichier AndroidManifest.xml :

Fig. 3.12 : Instruction de la permission GPS pour système Android.

– Sous IOS : Ajouter des descripteurs de permissions dans Info.plist :

51
Chapitre 3. Conception et réalisation

Fig. 3.13 : Instruction de la permission GPS pour système IOS

3.6.2 Interface d’inscription

L’interface illustré dans la figure 3.14 est celle qui apparaît juste après avoir appuyé
sur le bouton d’inscription « Sign up ». Par le biais de cette interface l’utilisateur a la
possibilité de créer un compte en fournissant les informations nécessaires telles que le
nom, le prénom, le nom d’utilisateur, le mot de passe, l’âge, le type sanguin, maladies
chroniques, le modèle de voiture et l’immatriculation.

En appuyant sur le bouton ”select date of birth” qui se situe dans le champ qui contient
l’âge nous permettre d’afficher une feuille de dialogue modale glissante où l’utilisateur
choisit sa date de naissance en faisant défiler les jours, les mois et les années. L’âge sera
alors calculé automatiquement en fonction de la date sélectionnée.

Le formulaire d’inscription présente deux champs cruciaux : ”Select Blood Type” et


”Chronic Diseases”. Le champ ”Select Blood Type” permet à l’utilisateur de choisir son
groupe sanguin parmi les options disponibles (A+, A-, B+, B-, AB+, AB-, O+, O-). Ce
champ est essentiel pour fournir rapidement des informations vitales aux professionnels de
santé en cas d’urgence. Le champ ”Chronic Diseases” permet à l’utilisateur de sélectionner
des maladies chroniques qu’il pourrait avoir, telles que le diabète, l’hypertension, les ma-
ladies cardiaques, l’asthme, l’épilepsie, les maladies pulmonaires chroniques, les maladies
rénales chroniques, les troubles de la coagulation, ou aucune maladie. Ces informations
permettent à l’application de fournir des données médicales cruciales en cas de besoin,
cette étape est illustrée par les figure 3.15a et 3.15b.

Il est essentiel de noter que l’utilisateur doit être âgé de 18 ans ou plus afin qu’il puisse
remplir tous les champs avec ses informations sans n’en laisser aucun vide. Dans le cas
contraire, une boîte de dialogue apparaîtra pour lui demander de vérifier les informations
fournies comme illustré dans la figure 3.15c.

52
Chapitre 3. Conception et réalisation

(a) (b)

Fig. 3.14 : (a) Interface d’inscription. (b) sélection de la date de naissance.

(a) Groupe sanguin. (b) Maladie chronique. (c) Champs vide/-18 ans.

Fig. 3.15 : Formulaire d’inscription.

Une fois toutes ces informations sont remplies, l’utilisateur doit appuyer sur le bouton
”Créer un compte” pour finaliser le processus d’inscription et la création du compte. Les
informations fournies seront alors stockées dans une base de données locale, où elles

53
Chapitre 3. Conception et réalisation

vont être récupérées ultérieurement.

3.6.3 Interface de connexion

Après l’inscription, l’utilisateur doit passer à l’interface connexion (figure 3.16, ou il


remplie son nom d’utilisateur et son mot de passe afin d’accéder à son compte. L’appli-
cation compare alors les informations saisies avec les données existantes dans la base de
données. Si le nom d’utilisateur n’existe pas ou si le mot de passe est incorrect, une boîte
de dialogue apparaît pour notifier l’utilisateur de vérifier les informations saisies. Si les
informations sont correctes et correspondent aux données existantes, l’application dirige
l’utilisateur vers l’interface d’accueil.

(a) (b)

Fig. 3.16 : (a) Interface de connexion. (b) ‘Connexion échouée’.

3.6.4 Interface d’accueil


Après une connexion réussite au compte, l’utilisateur est dirigé vers l’accueil, où une
boîte de dialogue s’affiche pour demander à l’utilisateur d’activer la localisation directe-
ment via l’application et se connecter au point d’accès de l’esp-32 avec le mot de passe
approprié (figure 3.17).

L’interface d’accueil se compose d’une barre de navigation supérieure comprenant une


icône de ’se déconnecter’, le nom de l’application, et une icône de profil.

54
Chapitre 3. Conception et réalisation

(a) Activer le GPS. (b) Activer le Wifi. (c) Mot de passe.

Fig. 3.17 : Activer les autorisation.

La section principale affiche le statut de la détection d’obstacles avec le texte ”Obstacle


Detection is Activated”, ainsi que la distance à l’obstacle en centimètres. Une alerte est
déclenchée en cas d’obstacle ou de détection d’accident, toutes ces alertes seront discutés
dans la partie test et résultats.

3.7 La modélisation de la base de données


Dans le cadre de notre application, nous avons opté pour l’utilisation d’une base de
données locale pour stocker les informations des utilisateurs. Ce choix est motivé par
plusieurs raisons essentielles. Tout d’abord, notre système fonctionne sur le principe du
hors ligne. Par conséquent, la nécessité d’assurer une accessibilité hors ligne est primordiale
pour garantir l’accès aux données de l’utilisateur même en l’absence de connexion Internet.
Pour cela, nous avons choisi d’utiliser la bibliothèque ’SharedPreferences’ pour stocker les
informations des utilisateurs localement, comme illustré par la figure 3.18 et 3.19.

De plus, L’accès aux données locales est généralement plus rapide car il élimine les
latences liées aux requêtes réseau. En outre, en stockant les données sensibles directement
sur l’appareil de l’utilisateur, nous renforçons la confidentialité et la sécurité des infor-
mations personnelles, minimisant les risques associés à la transmission et au stockage des

55
Chapitre 3. Conception et réalisation

données sur des serveurs distants.

Enfin, les informations de l’utilisateur qui doivent être stockées dans une base de
données sont des informations personnelles. Ces informations sont faciles à retenir et à
ressaisir lors d’une nouvelle inscription en cas de désinstallation de l’application ou de
perte de données, et ne nécessitent pas de récupération en ligne à partir d’une base de
données externe.

Fig. 3.18 : Dépendances d’une BDD.

Fig. 3.19 : Dépendances d’une BDD.

3.8 Solution hardware


Après avoir expliqué et montré le rôle de l’application, il est temps de dévoiler le
mécanisme éléctronique. Comme évoqué précédemment le système est générée par un
circuit électronique basé essentiellement sur un ESP-32 et multitude de capteurs pour la
surveillance instantanée de l’état de la voiture .

3.8.1 Schéma de la solution sous fritzing

La figure 3.20, montre le schéma de la réalisation sous le logiciel fritzing, ce dernier


est un logiciel libre de conception de circuit imprimé qui permet de concevoir de façon
entièrement graphique le circuit et d’en imprimer le typon.

3.8.2 Explication du dispositif électronique


Notre système électronique est basé sur le microcontrôleur ESP32 qui est l’unité
du traitement principale du système. Il collecte les données des différents capteurs, no-

56
Chapitre 3. Conception et réalisation

Fig. 3.20 : Solution électronique.

tamment le capteur ultrasonique HC-SR04, les capteurs de force FSR402 et le capteur


MPU6050.

Le capteur ultrasonique est utilisé pour mesurer la distance entre la voiture et les
obstacles frontaux. Quatre capteurs de force FSR402 sont également connectés au sys-
tème et placés aux quatre côtés du véhicule pour détecter les forces appliquées. En cas
d’une force supérieure à un seuil prédéfini, ces capteurs détectent un potentiel accident.
Tandis qu’un MPU6050 est utilisé pour détecter les changements soudains d’accélération,
d’orientation et d’inclinaison du véhicule ce qui permettra la détection d’un accident. Ces
derniers capteurs sont liés à une variable booléenne « accident détecté ».

Ces données des capteurs, sont transmises via un réseau local basé sur un point d’accès
de l’esp32 à notre application mobile connectée (comme expliqué précédemment dans le
deuxième chapitre), permettant une surveillance en temps réel et une réaction instantanée
en cas d’accident.

3.9 Organigramme
La figure présente l’organigramme de notre système globale :

57
Chapitre 3. Conception et réalisation

Fig. 3.21 : L’organigramme du système.

58
Chapitre 3. Conception et réalisation

3.10 Test et résultats


Après avoir listé et préparé tout l’environnement on passe à l’étape finale qui permettra
de tester l’ensemble du système.

3.10.1 Lancer l’application

Après le lancement de l’application, il faut accepter les autorisations des fonctionnalités


sms et localisation expliqués précédemment.

(a) (b)

Fig. 3.22 : (a) Autoriser les SMS . (b) Autoriser le GPS.

3.10.2 Création d’un compte


Dans l’interface d’inscription , il est nécessaire de remplir tous les champs de l’interface
d’inscription afin de créer un compte avec succès, comme illustré par la figure 3.23.

(a) (b)

Fig. 3.23 : (a) Formulaire d’inscription. (b) Inscription avec succès.

59
Chapitre 3. Conception et réalisation

3.10.3 Connexion
L’application se lance après une connexion réussite par l’utilisateur via son compte
qui est composé par un nom d’utilisateur et un mot de passe. L’application nous dirige
vers l’interface d’accueil (figure 3.24).

(a) (b)

Fig. 3.24 : (a) Connexion. (b) Acceuil.

3.10.4 Vérification des informations

En cliquant sur l’icône située à droite de la barre d’application de l’écran d’accueil,


nous accédons au volet ”Profil”, où nous pouvons vérifier les informations saisies lors de
l’inscription, comme la montre la figure 3.25.

3.10.5 Détection d’obstacle et d’accident


Comme mentionné précédemment dans l’interface d’accueil, la distance est affichée en
centimètres. Si l’obstacle est à moins de 50 cm de la façade frontale de notre voiture, une
alerte visuelle sous forme d’icône de danger (figure 3.26) et une alerte sonore sont
déclenchées pour nous avertir.

Après la détection d’un accident, une alerte vocale se déclenche avec le message ”Un
accident a été détecté”. Simultanément, une boîte de dialogue rouge s’affiche, nous infor-
mant qu’un SMS sera envoyé. Cette boîte de dialogue reste affichée pendant 20 secondes,

60
Chapitre 3. Conception et réalisation

Fig. 3.25 : Volet profile.

nous permettant d’annuler l’envoi du SMS si l’accident n’est pas grave, comme illustré
dans la figure 3.26. Si nous ne réagissons pas dans ce délai, le SMS sera automatiquement
envoyé, contenant toutes les informations personnelles fournies lors de l’inscription ainsi
que la localisation de l’accident sous forme d’URL, permettant au récepteur d’ouvrir di-
rectement la position de l’accident dans Google Maps. L’envoi réussi de ce SMS est suivi
d’une alerte vocale avec le message ”Le message a été envoyé avec succès”.

(a) (b)

Fig. 3.26 : (a) Alerte d’un obstacle proche. (b) Accident détecté.

61
Chapitre 3. Conception et réalisation

3.10.6 Réception du message d’urgence

La figure 3.27 présente un exemple du message d’urgence reçu par les services d’ur-
gence. Dans notre système, cette action garantit une réaction rapide et efficace des services
d’urgences désignés tels que les services médicaux d’urgence, les pompiers et la police.
Comme on peut le remarquer, les données envoyées sont exactement les mêmes que celles
insérées par l’utilisateur lors de la création d’un compte.

3.10.7 Localisation
Dans notre système, nous avons utilisé le GPS intégré du téléphone pour obtenir les
coordonnées exactes de l’accident, à savoir la longitude et la latitude. Ces informations
ont été converties en un lien URL cliquable afin de faciliter l’intervention des services de
secours.

(a) (b)

Fig. 3.27 : (a) Le message envoyé (b) La localisation Google Maps

3.10.8 Déconnexion

Pour arrêter le système et se déconnecter, nous cliquons sur le bouton situé à gauche
de la barre d’application de l’interface d’accueil, puis nous confirmons la déconnexion.

62
Chapitre 3. Conception et réalisation

Comme illustré dans la figure suivante :

Fig. 3.28 : Log out.

3.11 Conclusion
Dans ce chapitre, nous avons décrit l’aspect pratique de notre projet. Tout d’abord,
nous avons pu voir que la conception est une phase très importante dans le processus
de développement d’une application. Durant cette phase, nous avons essayé de présenter
avec soin les étapes qui nous a permet de concevoir le système globale.

Puis, nous avons présenté les différentes interfaces de notre application ainsi que leurs
comportements. À travers cette réalisation, nous avons pu atteindre les objectifs fixés au
préalable.

63
Conclusion et perspectives

64
Conclusion et perspectives

Conclusion générale

Notre projet de fin d’études a été une expérience enrichissante qui nous a permis de
concevoir un système innovant de détection d’obstacles frontaux et d’accidents dans les
véhicules. Nous avons réussi à créer un système fonctionnel et innovant, composé d’un
système électronique embarqué et d’une application mobile hybride, capable d’améliorer
la sécurité routière.

En utilisant l’ESP32 comme cerveau de notre système, un capteur ultrasonique HC-


04 pour la détection d’accident, des capteurs de force (FSR 04), et un module MPU6050
pour la détection de collisions, nous avons réalisé un système electronique efficace capable
de communiquer avec une application mobile. L’application mobile est dédiée à alerter le
conducteur et à informer les services d’urgence de manière rapide et efficace.

Dans ce mémoire, nous avons expliqué et parlé de tous les composants, méthodologies
et protocoles utilisés pour assurer le bon fonctionnement de cette combinaison.

Les tests et validations que nous avons effectués ont démontré la viabilité et l’efficacité
de notre système. La précision de la détection de la distance des obstacles frontaux et des
accidents, ainsi que la fiabilité de la transmission des alertes aux services d’urgence, ont
été des éléments clés pour évaluer les performances de notre système.

Perspectives

Passage à un système réel : Nous prévoyons de passer du stade de prototype à un


système entièrement fonctionnel adapté à une voiture réelle. Cela impliquera l’intégration
de composants et de seuils de détection réels, ainsi que des tests approfondis dans des
conditions de conduite réelles pour valider la performance du système.

Utilisation du LiDAR pour une détection à 360 degrés : Nous explorerons l’utilisation
d’un LiDAR sophistiqué à la place des capteurs ultrasoniques pour une détection plus
précise des obstacles sur 360 degrés autour du véhicule. Cela permettra d’améliorer la
fiabilité et la précision de notre système de détection d’obstacles, et ainsi d’optimiser la
sécurité routière.

Optimisation de l’ergonomie et de l’interface utilisateur : Nous chercherons à amélio-

65
Conclusion et perspectives

rer l’interface utilisateur de notre application pour la rendre plus conviviale et intuitive,
en ajoutant éventuellement des fonctionnalités supplémentaires pour offrir une meilleure
expérience utilisateur. Par exemple, nous envisageons d’intégrer une fonctionnalité per-
mettant de contacter facilement des services de dépannage en cas de panne ou d’accident.

En poursuivant ces perspectives, nous visons à développer un système de détection


avancé et une application mobile complète qui contribue de manière significative à l’amé-
lioration de la sécurité routière et à la protection des conducteurs et des passagers.

66
Bibliographies

[1] : “Road traffic injuries,” disponible sur : https ://www.who.int/news- room/fact-


sheets/detail/road-traffic-injuries, consulté le 10/03/2024.

[2] : OMS (Organisation Mondiale de la Santé), (2009). Il est temps d’agir. Rapport
de situation sur la sécurité routière dans le monde, ISBN 78 92 4 256384 9. Genève, 298
p.

[3] : Martensen H., G. Duchamp, V. Feypell, V. I. Raffo, F. A. Burlacu, B. Turner, and


M. Paala. 2021. Guide pour la Conduite de Revues de Donnees de Securite Routiere ».
Washington, DC : Banque Mondiale.” License : Creative Commons Attribution CC BY
3.0 IGO

[4] : Bakour M, (2016), La mobilité urbaine et la planification des réseaux de transport


dans un contexte de projet de renouvellement urbain : cas d’Alger , Thèse de doctorat,
EPAU, Alger 306 p

[5] : AISSAOUI Nasreddine ”Analysis of the variables of the ”road insecurity” equation
on Algerian roads during the period 2011-2018”, Journal of Advanced Economic Research
/ V : 07 (ISS : 02) / 2022 PISSN : 2572-0198 / EISSN : 2676 -1572

[6] : ESRA, https :// esranet.eu/en/ ,consulté le 11/03/2024.

[7] : L. Williams, “Embedded Systems Tutorial : What is, History and Characteristics,”
Guru99, Feb. 24, 2024. Disponible sur : https ://www.guru99.com/fr/embedded-systems-
tutorial.html, consulté le 18/03/2024.

[8] : “Historique des systèmes embarqués” disponible sur : https ://www-igm.univ-


mlv.fr/ dr/XPOSE2002/SE/historique.html ,consulté le 18/03/2024.

[9] : S. Combéfis, “Système embarqué : Définition.” Disponible sur :

67
Conclusion et perspectives

https ://www.ukonline.be/cours/embeddedsystems/programming/chapitre1-1 ,consulté


le 18/03/2024.

[10] : B. Lutkevich, “embedded system,” IoT Agenda, Dec. 08, 2020. Disponible
sur : https ://www.techtarget.com/iotagenda/definition/embedded-system ,consulté le
18/03/2024.

[11] : GeeksforGeeks, “Classification of embedded systems,” GeeksforGeeks, Aug. 21,


2020. Disponible sur : https ://www.geeksforgeeks.org/classification-of-embedded-systems/
,consulté le 20/03/2024.

[12] : Prepbytes, “Embedded Systems : Types, Characteristics and Architecture,”


PrepBytes Blog, Jan. 30, 2024. Disponible sur : https ://www.prepbytes.com/blog/general/embedded-
systems/ ,consulté le 20/03/2024.

[13] : KHALIFA Mansouri, Cours sur les systèmes temps réel, Université Hassan II de
Casablanca ENSET de Mohammedia Département Mathématiques et Informatique.

[14] : “Real-Time Systems Design and Analysis (2004) | IEEE eBooks | IEEE Xplore.”

[15] : Samia Bouzefrane, Cours « Introduction aux systèmes temps réel », CEDRIC
–CNAM.

[16] : Prepbytes, “Embedded Systems : Types, Characteristics & Architecture,” Prep-


Bytes Blog, Jan. 30, 2024. Disponible sur : https ://www.prepbytes.com/blog/general/embedded-
systems/ ,consulté le 20/03/2024.

[17] : Amin BENKHELIFA. Les systèmes embarqués dans l’automobile. Haute École
de Gestion de Genève (HEG-GE).

[18] :“Automotive embedded system market size expected to grow to USD 58.6 billion
by 2032,” Avril,2024. https ://www.towardsautomotive.com/insights/automotive-embedded-
system-market-sizing . Disponible sur :https ://www.towardsautomotive.com/insights/automotive-
embedded-system-market-sizing ,consulté le 03/04/2024.

[19] : P. Wadhwani, “Automotive Embedded System Market Size - by type (Software,


Hardware), by vehicle type (Two-wheeler, passenger car, commercial vehicles), by com-
ponent (Transceivers, sensors, memory devices, microcontrollers), Application and Global

68
Conclusion et perspectives

Forecast, 2023 – 2032,” Jan. 1970. [Online]. Disponible sur : https ://www.gminsights.com/industry-
analysis/automotive-embedded-system-market ,consulté le 04/04/2024.

[20] : Institut Vias (2022) Briefing “Systèmes avancés d’aide à la conduite.” Dispo-
nible sur : https ://briefings.vias.be/fr/briefings/systemes-avances-daide-a-la-conduite/
,consulté le 05/04/2024.

[21] : Delzenne, J., Nformi, G.S., Tant, M. & Kluppels, L. (2020). ADAS : de mens en
intelligente rijsystemen. Kennis en aanvaarding van geavanceerde rijhulpsystemen (ADAS)
bij bestuurders van personenwagens, rapport Vias interne, Bruxelles Belgique.

[22] : Benson, A.J., Telft, B.C., Svancara, A.M., & Horrey W.J. (2018). Potential
reduction in Crashes, Injuries and Deaths from Large-Scale Deployment of Advanced
Driver Assistance Systems, Research Brief, AAA foundation for Traffic Safety.

[23] : Hébuterne,S.(2017). Développez une application Android programmation en Java


sous Android Studio. 2ème édition

[24] : Salheddine, Kabou. (2021). Polycopié de Cours : Développement des applications


mobiles.

[25] : Jobe, William. (2013). Native Apps Vs. Mobile Web Apps. International Journal
of Interactive Mobile Technologies (iJIM). 7. pp. 27-32. 10.3991/ijim.v7i4.3226.

[26] : Ivan Madjarov. Applications hybrides et adaptatives basées Apache Cordova.


Les cahiers pédagogiques R&T, Actes du 4ème Workshop Pédagogique des IUT Réseaux
et Télécoms (WPRT 2018), Nov 2018, Hendaye, France.hal-02396140.

[27] : Andy CHRISTEN, « Choix de développement mobile multiplateforme, applica-


tion native ou hybride ? » Haute École de Gestion de Genève (HEG-GE) Filière Informa-
tique de Gestion.

[28] : Comparaison entre Flutter et React Native disponible sur : https ://kodytechnolab.com/blog/flu
vs-react-native-comparison/ ,consulté le 20/04/2024.

[29] : Silem Abdelheq, « Les Application mobiles », Mars 2023.

[30] : Statistique disponible sur : https ://www.statista.com/statistics/869224/worldwide-


software-developer-working-hours/ ,consulté le 21/04/2024.

69
Conclusion et perspectives

[31] : Macro L.Napoli « beginning Flutter A hands On guide To App developement »


Wrox a wiley brand ,Octobre 2019

[32] : Flutter, Image disponible sur le site : https ://developers.googleblog.com/en/flutter-


a-portable-ui-framework-for-mobile-web-embedded-and-desktop/

[33] : Flutter, Tutorials Point Simply easy learning disponible sur : www.tutorialspoint.com

[34] : eBOOK gratuit, « Apprenez Dart » eBOOK gratuit non affilié créé à partir des
contributeurs de stack overflow. Disponible sur : https ://riptutorial.com/Download/dart-
fr.pdf ,consulté le 22/04/2024.

[35] : Dart logo, image disponible sur : https ://logowik.com/google-dart-logo-vector-


svg-pdf-ai-eps-cdr-free-download-12974.html ,consulté le 15/05/2024.

[36] : Définition « What is Android studio », disponible sur :

https ://www.techtarget.com/searchmobilecomputing/definition/Android-Studio. Consulté


le : 16/05/2024.

[37] : Jean-Claude Marti, « Cours de Bases de Données » UNIVERSITE DES SCIENCES


ET TECHNOLOGIES DE LILLE 2007.

[38] : Créer une base de données pour application mobile disponible sur :

https ://fr.goodbarber.com/creer-app/56-creer-base-donnees-pour-application-mobile/.
Consulté le : 17/05/2024.

[39] : Bruno PIQUEMAL, « PRESENTATIONDEL’ESP32» alliance sorbonne univer-


sité, septembre 2020.

[40] : FSR 402 Data Sheet, disponible sur :

https ://cdn.sparkfun.com/assets/8/a/1/2/0/2010-10-26-DataSheet-FSR402-Layout2.pdf

[41] : Elijah J. Morgan, ”HCSR04 Ultrasonic Sensor” publié le Nov. 16 2014.

[42] : ”MPU6050 datasheet ” disponible sur :

https ://www.alldatasheet.com/view.jsp ?Searchword=MPU6050

70
Conclusion et perspectives

[43] : Cisco CCNA 200-301 Volume1, Guide de préparation au Cisco CCNA 200-301
en français, Volume 1 Fondamentaux TCP/IP

[44] : Alexis, “Create a Wi-Fi access point with an ESP32,” uPesy, Jan. 05, 2023.
Disponible sur : https ://www.upesy.com/blogs/tutorials/how-create-a-wifi-acces-point-
with-esp32?shpxid=e1cd588f-20a7-4042-ae2a-1df2d269937d ,consulté le : 20/05/2024.

[45] : “dart :io library - Dart API.” https ://api.dart.dev/stable/3.3.1/dart-io/dart-io-


library.html ,consulté le 23/05/2024.

[46] : Pascal Roques, « UML 2 par les pratiques études de cas et exercices corrigés » ,
14 septembre 2006,EYROLLERS 5ème édition.

71

Vous aimerez peut-être aussi