chapitres 3 technologies de communication de l'IoT partie II.pptx
1. Agenda
2
• Partie 1: Lesapplications IoTenAfrique
• Partie 2: Workshop
• Partie 3 : Tutorial…
ApplicationAndroidavecFirebase
2. WorkshopInternet desobjets
Plandu workshop
• Objectif du workshop
• Démarche technique
• Première partie :
Problématiques àrésoudre
• Deuxièmepartie :
Brainstorming
• Troisièmepartie :
Démonstration pratique
3
3. • Lepremier but de cette formation pratique
est de comprendre l’importance de l’IoT en
tant que outil technologique moderne
capable de résoudre desproblématiques
complexes.
• Ledeuxième objectif est de permettre aux
participants d’entamer une démarche
technique de dimensionnement et de choix
technologique d’une architecture IOTen
utilisant desoutils Open source
• Finalement, afin de pouvoir maitriser l’aspect
pratique, nous ferons ensemble une
démonstration de développement d’une
solution IOTayant pour objectif derésoudre
une problématique d’actualité.
Objectif duworkshop
4
4. Afin de maitriser l’aspect pratique et
comprendre le principe de l’IOT,il estimportant
de découvrir les différents secteurs
d’applications de cette technologie.
Pour cefaire, nous allons évoquer des
problématiques chroniques dansdessecteurs
vitaux et les participants seront invités à
s’inspirer desanciennesformations théoriques
pour définir les éléments de la solution à
proposer.
Ensuite, nous allons échangerensemble au tour
desarchitectures présentées
Finalement nous ferons une application pratique
d’une manière concrète.
Démarchetechnique
5
7. Denosjoursle suivi de la productionet le retour d’informationen tempsréel est devenueune nécessité pour assurerla
compétitivitédansle secteurindustriel.Ceciafin de réagir rapidementet afin de prendrelesbonnesdécisions.
Pour cefaire l’internet desobjets s'affirmecomme la convergencedu monde virtuel, de la conceptionnumérique,de la
gestionaveclesproduitset objetsdu monderéel.
Problématique1: Industrieconnectée 4.0
Cahierdescharges
Sujet 1:
Laproblématique consiste àconcevoir une solution
permettantauxindustrielsde suivreen tempsréel et à
distance la consommation énergétique de leurs parc
machines
Sujet 2:
Laproblématique consisteàdévelopperune solutionde
supervisionà distanced’une lignede productionindustriel
8
8. OutilsHardware : Industrieconnectée 4.0
Centrale de mesureénergétique Capteur detension Capteur decourant Carted’interface
GatewayàBasede carte RaspberryPi GatewayàBasede carteArduino
9
12. Problématique
Grâceauxnouvelles technologies, la télémédecine permet l'accès àdistance d'un patient àun
médecin ou àune équipe médicale. Elle représente une autre manière de soigner,avecles mêmes
exigencesde qualité et de sécurité
Problématique3 : Télémédecine
13
13. Latélémédecine regroupe les pratiques médicales permises ou facilitées par les télécommunications.
C'est un exercice de la médecine par le biais destélécommunications et destechnologies qui permettent
les prestations de santé àdistance et l'échangede l'information médicale s'y rapportant.
Problématique3 : Télémédecine
Cahierdescharges
Sujet 1:
Laproblématique consiste àconcevoir une solution
permettant de dépister dessymptômes et dessignes
évoquant de l’infection par covid-19 chezla
populationet permettantde suivrequotidiennement
l’évolutionclinique dessymptômesde l’infection chez
les utilisateurs
Sujet 2:
Laproblématiqueconsisteàdévelopperune solution
de supervision àdistance les paramètres vitaux et le
tracé ECGdespatients hospitalisés.
14
15. Problématique
Une ville intelligente est une ville utilisant les technologiesde l'information et de
la communication pour améliorer la qualité desservicesurbains.
Problématique4: Smart City
16
16. Problématique4: Smart City
Problématique
Une ville intelligente est une ville utilisant les technologies de l'information et de
la communication pour améliorer la qualité desservicesurbains.
Cahierdescharges
Sujet 1:
Laproblématique consiste àconcevoir une solution
permettantauxmunicipalitésde suivreen tempsréel
le pourcentage de remplissagedespoubelles
enterrés. Sujet 2:
Laproblématique consiste àdévelopper une
plateforme WEBet mobile permettantau citoyensde
valoriserleursdéchetsménagerstriés.
17
18. Lesattentes de l’exercicede
Brainstorming
19
• Choix de la problématique àrésoudre
• Choixde l’architecture de la solutionIoT
– Exigencesfonctionnelles (sécurité, disponibilité, …)
– Composants de la solution
• Capteurs
• Passerelles
• Technologiesde connectivité (couverture, vie de batterie, bande
passante, vie batterie, coût de connectivité, coût module, spectre)
• Typede la plateforme de développement (middleware, cloud,…)
• Application IoT(services métier àproposer,…)
21. Outils Software
Firebaseest un ensemble
de servicesd'hébergement pour
n'importe quel type d'application. Il
propose d'héberger en NoSQLeten
temps réel desbasesde données,
du contenu, de l'authentification
sociale, et desnotifications, ou
encore desservices, tel que par
exempleun serveur de
communication tempsréel.
22
Pourquoi FirebasepourIoT?
Lesprincipales enjeux de l’IoTsont:
a)Fournir un contenuà faible latence (FirebaseRealtimeDatabase)
b) Sécuriserla communication entre les appareilset le backend(FirebaseAuthentication).
22. Outils Software
Lesbasesde données SQL
ont un schémaprédéfini
alors que les basesde
données NoSQLont un
schéma dynamique pour les
données non structurées.
Lesbasesde données SQLsont évolutives verticalement, tandis que les basesde
données NoSQLsont évolutives horizontalement. Lesbasesde données SQLsont
misesàl’échelle en augmentant la puissance du matériel. Lesbasesde données
NoSQLsont mises àl’échelle en augmentant le nombre de serveurs de basesde
données dans le pool de ressources afin de réduire la charge.
Celasignifie que les basesde données SQLreprésentent desdonnées sousla forme
de tables composéesde n nombre de lignes de données, tandis que les basesde
données NoSQLsont la collection de paires clé-valeur, de documents, de basesde
données graphiques, etc. qui ne possèdent2p3asde définitions de schéma standard.
23. Outils Software
Firebases’occuped’une
grande partie desservices
que normalement les
développeurs eux-mêmes
devraient les créer,
commepar exemple
l’authentification, les
basesdesdonnées, les
notifications,
l’hébergementdes
serveursetc.
Lesservicesofferts par Firebasesonthébergé dansle Cloud et elles sontscalablesavecpeu ou pasd’effort de la part du
développeur.Cesservicesont descomposantsbackendqui sont entièrementgéréeset maintenuespar Google.
Firebaseoffre desSDKclients qui interagissent aveccescomposants de façon directe sansbesoin de placer un
middlewareentre l’applicationet les services
24
24. Outils Software
SDK(Software DevelopementKit) désigneun ensembled’outilsutiliséespar les développeurspour le
développementd’un logiciel déstinéàune plateforme déterminée(Android,iOS,…).
Un SDKpeut avoir une seuleou plusieurscibles commeun systèmed’exploitation, une applicationweb, un
serveur web, jeu vidéo,etc.
PourdévelopperuneapplicationAndroid,il faut le SDKclientAndroidde Firebase.Pour développerune
applicationweb, il faut le SDKclient web de Firebase,etc.
25
25. Outils Software
LeSDKde Firebasequi permet
une interaction directe entre un
client et les services Firebase
importe une nouvelle notion de
développent qui diffère de la
méthode traditionnelle où une
partie backendet une partie
frontend doit être développée,
alors que dans lecasde Firebase
on contourne la partie backend
et donc la logique d’exécution
est placé chezle client
(frontend). Voir figure suivante.
L’accèsadministrateur est
fournie par l’espace « Firebase
console».
Comparaisonentre le développementclassiqueet le développementavec
Firebase
26
26. Outils Software
LesservicesdeFirebase
FirebaseRealtime Database etCloud
Firestore:
Cesont les deux basesdesdonnées
offertes par Firebase, elles sedécrit
commedesbasesde données tempsréel,
hébergéesdans le Cloud etNoSQL)
Lesclients de multi plateforme
partagentla mêmeressourcedansla
basedesdonnées. S’il aune
modification, tout les clients reçoit
automatiquement une mise àjour
instantanée.
Firebasestockentles donnéessousla formatJSONet elle utilise le type NoSQLpour sesbasesdesdonnées,cequi
nousdébrasedu contrainte destables de la basedesdonnéesrelationnelle(SQLpar exemple),permettantainside
créer et dimensionnerd’unefaçon pluslibre et facileune basedesdonnées.
27
27. Outils Software
FirebaseRealtimeDatabaseVSCloud Firestore
Cloud Storage fournit un stockage des
fichiers massivement scalable, il permet
auxclients(un client peut être un appareil
IoTaussi!)de publier et de téléchargerdes
fichiers (images, texte,etc.)
28
CloudFunctions:
Enutilisantle service CloudFunctions de Firebase,on peut
déployer un code exécutant sur les infrastructures serveur
de Googlequi répond automatiquement au événements
arrivantsd’autresservice de Firebase.
32. Démonstration
applicationSMART
Irrigation
Lasolution contientprincipalement
un kit de commandeà distancedes
vannesd’irrigation et des
motopompes via une application
mobile. Cetoutil permet à
l’agriculteur d’épargner le
déplacementsursite et il lui permet
de définir destemps d’irrigations
précis. Ladeuxième composante du
projet c’est de faire de
l’échantillonnage sur desdifférents
niveaux de solspourinformer
l’agriculteur sur lepourcentage
d’humidité du sol. Ceciafin de savoir
la quantité d’eau d’irrigation
nécessaire.
Elémentsdela solution: Agriculture
33
Technologie de connectivité : 2G,LoRa
36. Elémentsdela solution: Télémédecine
37
Objectifs :
Dépister les symptômes et signesévoquant de l’infection par covid-19 chezla population,
Suivre quotidiennement l’évolution clinique dessymptômes de l’infection chezles utilisateurs,
Permettre au staff médical de détecter les patients suspectsporteurs du covid-19,
Permettre au staff médical d’indiquer la pratique du test de diagnostic du covid-19,
Permettre au staff médical de sélectionner les patients àrisque de développer desformes graves,
Permettre au staff médical d’indiquer l’hospitalisation despatients,
Permettre au staff médical de vérifier le respect du confinement despatients suspectpar la
géolocalisation,
Permettre au ministère de la santé de générer desstatistiques de l’évolution de l’épidémie,
Sauvegarderet archiver tous les données et informations collectées desutilisateurs,
Plateforme WEBaccessiblepar plusieurs utilisateurs aveccontrôle d’accèssécurisé,
Séparerles informations àcaractère personnelles de celle àutilisation anonyme,
Dimensionner le serveur pour pouvoir gérer un nombre d’utilisateur simultané >10 millions
44. Outils Software
ApplicationAndroid avec Firebase
Il faut tout d’abordavoir un compte
Googlepour utiliser les service de
Firebase, il suffit juste de créer un
nouveau comptegratuitement.
Ensuite,visitezle site web de
Firebase:
https://firebase.google.com/
PourdévelopperuneapplicationsurAndroid,
il nous faut un logiciel d’environnement de
développement (IDE), nous allonsutiliser
l’IDEofficielde Google«AndroidStudio »
téléchargeable sur celien:
https://developer.android.com/studio
45
45. Cliquez sur Getstarted
Outils Software
Cliquez sur Createproject
46
Démarche de création d’une ApplicationAndroid avecFirebase
46. Entrezun nomde
votre projet
Outils Software
Acceptezlestermes
de servicesde
Firebase
Vousêtesmaintenant surl’interface « Firebaseconsole»
47
49. Attribuer un nom à votre projet et laissertout les autre champsintacte et cliquez sur « Finish»
Nomdu
projet
50
Outils Software
50. Votre projet est crée! L’interface doitêtre comme celle-ci:
Outils Software
51
51. Nousallons maintenant
exécuter notre première
application sur unSmartphone
Android, mais avant il faut
configurer son Smartphone en
modedéveloppeur.
Remarque:Onpeut aussi
utiliserle Smartphone virtuel
deAndroidStudio,maisil est
préférable de tester sur un
appareilréel.
52
Accédezaux paramètres de votre Smartphone, puisSystème>Aproposdetéléphone>Numérodebuild
Outils Software
52. • Appuyiezsuccessivementplusieursfois surle numérode build jusqu’à
que le systèmevousdit que la mode développeurest activée.
• Retournez au système>Optionspour lesdéveloppeurs,assurezvous
que les Optionspour développeuret le débogageUSBsontactivés.
Outils Software
Connectezvotre Smartphoneà votre PCatravers un câble
USB,siun dialogue estapparusurvotre téléphone,cliquer sur
« Toujoursautoriser » puis «OK».
53
53. Outils Software
54
Lenom de votre Smartphonedoit maintenant apparaitresurAndroidStudio.
Cliquezsur« Run», l’icône vert justeau coté du nom.
54. Outils Software
• Voici votre première application helloworld!
Supposonsqu’on veut contrôler uneporte à distancevia notre
application, pour arriver àcet objectif nous allons ajouter un
switch àl’interface.
Sion active le switch,la porte concernées’ouvrepar contre si
on le désactivela porte seferme.
55
55. Pour ajouter un switch dansl’interface graphiquede notre application,cliquer sur le dossier resdans
l’arborescencede projet àgauche,puis layoutet ensuiteactivity_main.xml
Outils Software
56
59. Pour que notre
application
connait les
événements
venant de
switch, il faut
créer une
instance de
switch dans le
fichier
MainActivity.jav
a. le fichierdoit
semblerà
l’imagesuivante
60
Outils Software
60. Cliquez surTools>Firebase
Outils Software
61
Maintenant,il faut associer
notre projet Android au
projet Firebasecrée
précédemment.
AndroidStudiofourni un outil
qui facilite l’association de
différentes services de
Firebase.
Nousallons suivre lesétapes
suivantes pour utiliser la
service FirebaseRealtime
Databasedans notre projet
Android
62. Votre navigateurva celancer,connectez vousau compte Googleque vousavezutilisé
lorsdu création du projet Firebase,puiscliquez sur autoriser.
Outils Software
63
68. Leprojet est maintenant associéàFirebase Realtime Database. Vous
pouvez exécuter l’application sur votre téléphone pour vérifier qu’il n’y
apasdes problèmes.
69
• Ajoutons une variable dans la basedesdonnées pour stockerla
variable duporte.
• Laporte a2 états, soit ouverte, soit fermée donc on l’associeavec
une variable booléenne:
true porte ouverte
false porte fermée
Outils Software
69. Dansla console de Firebase,choisir Realtime Databaseet cliquer sur Create Database.
Outils Software
70
71. Pour créer une variable porte dansla basedesdonnées,
cliquer sur « +», ensuite fournir le nom du variable (dans
notre casporte), attribuer une valeur booléene (true par
exemple) et valider.
Outils Software
72
72. Initialiser l’état de switch selon la valeur de la variable porte stockée dans Firebase. Justàla fin
de méthode Create dansle fichier MainActivity.java ajouter les lignes suivants:
Outils Software
73
73. Maintenant, lire l’événement activer et désactiver du
switch et l’enregistrer dansla basedesdonnées.Ajouter
ceslignes après le code de l’étape précédente:
Outils Software
74
74. • Exécutezvotre application. Remarquez que tout changement effectué sur le switch
semémorise immédiatement dansla basedesdonnées et vice-versa
• Ajoutons une autre variable nommée température ànotre basede donnée et
attribuer une variable numérique quelconque.
Outils Software
75
75. Ajouter deux « TextView » dans le fichier
activity_main.xml: la labelle Température et savaleur.
Glisser-déposer
76
Outils Software
76. • Notez l’id de la valeur de latempérature.
• Changerla taille du texte et le couleur selon votrechoix.
Outils Software
77
78. Afficher la valeur de la température enregistrée dansFirebaseen temps réel
en ajoutant ceslignes àla fin de la méthode onCreate.
Outils Software
79
79. Maintenant, si vous changezla température
dansFirebase Realtime Database elle sera
changé immédiatement sur l’interface de
l’application!
Outils Software
80