Académique Documents
Professionnel Documents
Culture Documents
Iot v22
Iot v22
1.1 Introduction 4
1.6.1 Avantages10
1.6.2 Désavantages 12
2 Domotique 17
2.1 INTRODUCTION 17
2.5 Conclusion 21
3.1 Introduction 22
3.2 Concept 22
3.5.2 Capteurs..............................................................................................................................................25
3.7 Conclusion..................................................................................................................................................29
4.4 Conclusion..................................................................................................................................................32
5 Analyse et Conception..............................................................................................................................34
5.1 Introduction................................................................................................................................................34
5.4 Conclusion..................................................................................................................................................40
6 Implémentation.........................................................................................................................................41
6.1 Introduction................................................................................................................................................41
6.2.7 Bouton.................................................................................................................................................44
Des capteurs d’humidité du sol utilisés pour optimiser les rendements des
agriculteurs aux thermostats et thermomètres, l’Internet des objets (technologies
IoT) transforme notre façon de vivre et de travailler.
Des milliards d’objets physiques « intelligents » en réseau dans le monde entier,
dans les rues des villes, dans les maisons et les hôpitaux, collectent et partagent
constamment des données sur Internet, ce qui leur donne un niveau d’intelligence
numérique et d’autonomie.
Environ un quart des entreprises utilisaient les technologies IoT en 2019, selon
McKinsey, contre 13% en 2014.
Et déjà, il y a plus d’appareils connectés que d’habitants dans le monde, selon le
rapport State of the Connected World du Forum économique mondial, et il est
prévu que d’ici 2025, 41,6 milliards d’appareils captureront des données sur la
façon dont nous vivons, travaillons, nous déplaçons dans nos villes et exploitons et
entretenons les machines dont nous dépendons.
La transformation numérique qui a lieu en raison des technologies émergentes, y
compris la robotique, l’IdO et l’intelligence artificielle, est connue sous le nom de
quatrième révolution industrielle – et COVID-19 a accéléré l’utilisation de ces
technologies.
1.2 Un bref historique des technologies IoT
« Les applications IoT telles que les caméras thermiques connectées, les
dispositifs de traçage des contacts et les dispositifs portables de surveillance de
la santé fournissent des données essentielles nécessaires pour aider à lutter
contre la maladie, tandis que les capteurs de température et le suivi des colis
contribueront à garantir que les vaccins sensibles contre la COVID-19 sont
distribués en toute sécurité », selon le rapport du forum sur l’état du monde
connecté.
Au-delà des soins de santé, l’IoT a contribué à rendre les chaînes
d’approvisionnement perturbées par la COVID plus résiliente, les activités
automatisées dans les entrepôts et les usines pour aider à promouvoir la
distanciation sociale et fournir un accès à distance sécurisé aux machines
industrielles
1.4 L’avenir de l’IoT
Janeiro.
1.5 Peser les risques des technologies IoT
Mais malgré tous les avantages, les technologies IoT peuvent également être
utilisées à mauvais escient et les risques incluent les problèmes de sécurité et
de confidentialité, la cybercriminalité, la surveillance au travail, à la maison ou
dans les espaces publics et le contrôle de la mobilité et de l’expression.
Le rapport du Forum sur l’état du monde connecté identifie un « fossé de
gouvernance
» qui doit être comblé entre les risques potentiels et les efforts de la société pour
s’en prémunir par le biais de lois, de normes industrielles et d’approches
d’autogouvernance.
« Une gouvernance technologique efficace atténue les risques et réduit les
préjudices potentiels pour la société tout en aidant à maximiser les impacts
positifs de la technologie. »
Les leaders de l’industrie se réuniront les 6 et 7 avril pour le Sommet mondial
sur la gouvernance technologique du Forum économique mondial, qui vise à
assurer la conception et le déploiement responsables des technologies
émergentes grâce à la collaboration public-privé.
Cet article a été initialement publié sur Forum économique mondial sous
licence Creative Commons.
Les points de vue et opinions exprimés dans cet article sont ceux de l’auteur et
ne reflètent pas nécessairement les points de vue de Vision of Humanity.
Lire la suite : Croissance explosive des technologies et conflits
1.6 Les avantages et les inconvénients de l'Internet des objets (IoT)
1.6.1 Avantages
Communication
L'IoT encourage la communication entre les appareils, également connue sous le nom
de communication Machine-to-Machine (M2M). De ce fait, les appareils physiques
peuvent rester connectés et, par conséquent, la transparence totale
est disponible avec moins d'inefficacités et une meilleure qualité.
Automatisation et contrôle
En raison des objets physiques connectés et contrôlés numériquement et de manière
centralisée avec une infrastructure sans fil, il y a une grande quantité d'automatisation
et de contrôle dans le fonctionnement. Sans intervention humaine, les machines sont
capables de communiquer entre elles, ce qui permet une sortie plus rapide et
opportune.
Information
Il est évident qu'avoir plus d'informations aide à prendre de meilleures décisions. Qu'il
s'agisse de décisions banales comme la nécessité de savoir quoi acheter à l'épicerie ou
si votre entreprise dispose de suffisamment de widgets et de fournitures, la
connaissance est le pouvoir et plus de connaissances, c'est mieux.
Moniteur
Temps
Comme indiqué dans les exemples précédents, le gain de temps grâce à l'IoT pourrait
être assez important. Et dans la vie moderne d'aujourd'hui, nous pourrions tous utiliser
plus de temps.
Argent
Économise de l'argent
Une utilisation optimale de l'énergie et des ressources peut être obtenue en adoptant
cette technologie et en gardant les appareils sous surveillance. Nous pouvons être
alertés en cas d'éventuels goulots d'étranglement, pannes et dommages au système. Par
conséquent, nous pouvons économiser de l'argent en utilisant cette technologie.
1.6.2 Désavantages
Compatibilité :
Actuellement, il n'existe aucune norme internationale de compatibilité pour
l'équipement de marquage et de surveillance. Je crois que cet inconvénient est le plus
facile à surmonter. Les fabricants de ces équipements n'ont qu'à se mettre d'accord sur
une norme, telle que Bluetooth, USB, etc. Il n'y a rien de nouveau ou d'innovant
nécessaire.
Complexité :
Comme pour tous les systèmes complexes, les possibilités d'échec sont plus
nombreuses. Avec l'Internet des objets, les échecs pourraient monter en flèche. Par
exemple, supposons que vous et votre conjoint receviez chacun un message indiquant
que votre lait est périmé, et que vous vous arrêtiez tous les deux dans un magasin en
rentrant chez vous et que vous achetiez tous les deux du lait. En conséquence, vous et
votre conjoint avez acheté le double du montant dont vous avez tous les deux
besoins. Ou peut-être qu'un bogue dans le logiciel finit par commander
automatiquement une nouvelle cartouche d'encre pour votre imprimante toutes les
heures pendant quelques jours, ou au moins après chaque panne de courant, lorsque
vous n'avez besoin que d'un seul remplacement.
Confidentialité/Sécurité :
Avec la transmission de toutes ces données IoT, le risque de perte de confidentialité
augmente. Par exemple, dans quelle mesure les données seront-elles conservées et
transmises ? Souhaitez-vous que vos voisins ou vos employeurs sachent quels
médicaments vous prenez ou votre situation financière ?
Sécurité :
Imaginez si un pirate informatique notoire modifie votre prescription. Ou si un
magasin vous expédie automatiquement un produit équivalent auquel vous êtes
allergique, ou une saveur que vous n'aimez pas, ou un produit déjà périmé. En
conséquence, la sécurité est finalement entre les mains du consommateur pour vérifier
toute automatisation.
Comme tous les appareils électroménagers, les machines industrielles, les services du
secteur public comme l'approvisionnement en eau et le transport, et de nombreux autres
appareils sont tous connectés à Internet, de nombreuses informations y sont
disponibles. Ces informations sont susceptibles d'être attaquées par des pirates. Il serait
très désastreux que des intrus non autorisés accèdent à des informations privées et
confidentielles.
Compatibilité :
Comme les appareils de différents fabricants seront interconnectés, la question de la
compatibilité dans le marquage et la surveillance se pose. Bien que cet inconvénient
puisse disparaître si tous les fabricants s'entendent sur une norme commune, même
après cela, des problèmes techniques persisteront. Aujourd'hui, nous avons des appareils
compatibles Bluetooth et des problèmes de compatibilité existent même dans cette
technologie ! Des problèmes de compatibilité peuvent amener les gens à acheter des
appareils auprès d'un certain fabricant, ce qui entraîne son monopole sur le marché.
Complexité :
L'IoT est un réseau diversifié et complexe. Toute panne ou bogue dans le logiciel ou le
matériel aura de graves conséquences. Même une panne de courant peut causer
beaucoup de désagréments.
Emploi moindre de personnel subalterne
Les travailleurs non qualifiés et les aides peuvent finir par perdre leur emploi sous l'effet
de l'automatisation des activités quotidiennes. Cela peut entraîner des problèmes de
chômage dans la société. C'est un problème avec l'avènement de toute technologie et
peut être surmonté avec l'éducation. Avec l'automatisation des activités quotidiennes, il
y aura naturellement moins de besoins en ressources humaines, principalement des
travailleurs et du personnel moins instruit. Cela peut créer un problème de chômage
dans la société.
La technologie prend le contrôle de la vie
Nos vies seront de plus en plus contrôlées par la technologie et en dépendront. La jeune
génération est déjà accro à la technologie pour chaque petite chose. Nous devons
décider quelle partie de notre vie quotidienne sommes-nous prêts à mécaniser et à
contrôler par la technologie.
L'IoT peut être utilisé pour contrôler et programmer à distance les appareils de votre
maison. Il peut être utile pour détecter et éviter les vols.
L'automatisation industrielle
Surveillance de la santé
Nous pouvons utiliser cette technologie pour identifier les problèmes de santé. Les
schémas de fréquence cardiaque, de pouls, de système digestif et de tension artérielle
peuvent être surveillés et diagnostiqués pour des anomalies. Les informations peuvent
être envoyées au médecin pour analyse. L'hôpital peut également être contacté en cas
d'urgence. Ce système sera très utile aux seniors et aux personnes handicapées qui
vivent de manière autonome.
Environnement intelligent
2 Conclusion
15
2 Domotique
2.1 INTRODUCTION
L’évolution des technologies et des automatismes du bâtiment ont permis à la
domotique de faire ses premiers pas.
16
Assurer la protection des personnes et des biens en domotique de sécurité.
Veiller au confort de vie quotidien des personnes âgées, entre autres, en installant une
domotique pour les personnes à mobilité réduite.
17
2.4 Présentation des fonctions de domotique
18
tablette tactile ou un Smartphone depuis le bureau, et la température du salon augmente
ou diminue selon les besoins. Par ailleurs, la plupart des capteurs de température
domotiques contrôlent également l’humidité dans une maison.
2.4.3 Fonction de Contrôle de climatiseur
La domotique est la solution idéale pour gérer vos appareils électriques et améliorer
votre confort de vie. Grâce à elle, vous avez le contrôle sur votre climatiseur et vous
pouvez le programmer, l’allumer ou l’éteindre à distance. Vous pouvez choisir une
température de jour, une température de nuit ou régler deux températures différentes
dans une même pièce lorsqu’elle est équipée de deux unités. La domotique permet aussi
de mettre au point des programmes qui s’adaptent à votre style de vie, offre aussi la
possibilité de contrôler la consommation énergétique quotidienne, hebdomadaire,
mensuelle ou annuelle de votre climatiseur.
2.4.4 Fonction de contrôle d’accès
Le contrôle d'accès est une technique de sécurité employée pour déterminer les
utilisateurs ou les programmes autorisés à voir ou à utiliser les ressources d'un
environnement informatique. Cette autorisation d’accès a pour but de protéger des
personnes, des biens ou des informations. Elle peut s’adresser :
Au personnel de l’entreprise ou seulement aux visiteurs et fournisseurs.
A certains membres du personnel pour certains lieux sensibles (bureaux, études, salles
informatiques……).
Il existe trois façons de prouver l’identité face à un système informatique pour
l’autorisation d’accès: Montrer ce que nous savons (un mot de passe ou code).
Montrer ce que nous possédons (un objet, telle une carte à puce, un badge).
Prouver qui nous sommes grâce à une caractéristique physique propre (biométrie).
2.4.5 Fonction de détection de fuite de gaz ou de fumée
Cette fonction permet de détecter les fuites de gaz via un capteur de gaz MQ-2. Il est
apte à détecter le GPL, le butane, le propane, le méthane, l'alcool, l'hydrogène, la fumée.
2.4.6 Fonction de sécurité
20
des caméras invisibles, des champs magnétiques, des détecteurs de fumées assurent
aussi une grande sécurité s’ils sont judicieusement positionnés
Le système d’alarme peut être directement lié à votre système de domotique. Cela vous
permettra d’avoir accès aux contrôles de votre système d’alarme-intrusion à distance et
d’obtenir des fonctions plus avancées avec votre système de sécurité domiciliaire.
2.4.8 Fonction de gestion d’ouverture des volets des fenêtres
L’utilisateur peut contrôler plus alaise l’ouverture des fenêtres tout en appuient sur un
simple bouton sur l’application de commande avec son Smart phone ou sur tablette
etc…
2.5 Conclusion
Dans cette partie on a présenté une vue globale de la technologie de la domotique
automatisée et intelligente. On a terminé l'étude par les différents types des fonctions de
smart home. Dans les chapitres qui vont suivre on va détailler petite à petit la
conception, réalisation et intégration des différentes composantes de notre maison
intelligente.
21
3 Système de gestion de l’énergie d’une maison intelligente
3.1 Introduction
Dans ce chapitre, on présente le système de gestion de l’énergie d’une maison
intelligente (SGEMI).
D’abord, on commence par définir les concepts de maison intelligente et de SGEMI.
Après, on évoque les évolutions, les fonctionnalités et les composants de SGEMI.
Ensuite on présente une revue de la littérature portant sur le sujet de SGEMI basé sur
l’IdO.
3.2 Concept
3.2.1 Maison intelligente
Les maisons intelligentes ("domotiques") peuvent être présentées comme l’amélioration
de l'environnement domestique à l’aide des technologies pour offrir confort, qualité,
sécurité et efficacité énergétique à leurs occupants [29].
La maison intelligente est une technologie qui peut tout (les appareils ménagers, les
dispositifs de sécurité…) connecter aux réseaux pour les surveiller et les contrôler dans
divers domaines [30].
Plusieurs avantages sont attribués aux maisons intelligentes.
Sur le plan médical, une maison intelligente peut être conçue pour améliorer la détection
et la prévention précoces des problèmes de santé et des problèmes médicaux. De plus,
en raison du vieillissement de la population, ces maisons offrent aux personnes âgées et
aux personnes handicapées la possibilité de vivre seules et de répondre à leurs besoins
potentiels en utilisant des capteurs et des technologies de surveillance avancée. Elles
offrent aussi une solution pratique pour aux occupants, permettant de surveiller et de
contrôler de nombreuses activités quotidiennes à partir de l'ordinateur et/ou du
téléphone intelligent.
Sur le plan économique, les maisons intelligentes peuvent permettre de réaliser des
économies sur les factures d’énergie en surveillant et en gérant efficacement la demande
énergétique des maisons. Une maison intelligente utilise des technologies de domotique
pour surveiller et/ou contrôler des appareils résidentiels afin d'améliorer le confort, la
commodité, la sécurité et réduire les coûts. Les systèmes automatisés libèrent les
habitants des tâches routinières telles qu’éteindre toutes les lumières ou sécuriser toutes
les entrées de la maison [31].
3.2.2 Système de gestion d’énergie dans la maison intelligente
Le système de gestion d’énergie dans la maison intelligente (SGEMI) est défini comme
un système fournissant des services de gestion de l'énergie dans le but de contrôler et de
22
gérer la production, le stockage et la consommation d'électricité dans les maisons
intelligentes [32] [33].
23
3.5 Composants du SGEMI
Le SGEMI comprend cinq composants.
Fonctionnalité Description
Service de surveillance de condition de fonctionnement.
Il offre un accès facile aux informations en temps réel
Surveillance
sur la consommation d'énergie et permet aux utilisateurs
de se concentrer sur les économies d'électricité.
Service d’affichage de l’état d’énergie (modes de
fonctionnement et le statut énergétique de chaque
appareil électroménager).
Les appareils de comptage sont importants pour SGEMI (ce qui peut être mesuré peut-
être contrôler). Les compteurs de gaz, d'eau et d'électricité sont les principaux appareils
de comptage.
Le relevé automatique des compteurs (RAC), « automatic meter reading », est apparu au
milieu des années 80 comme un moyen automatisé de collecte des relevés des
24
compteurs. La technologie RAC est une solution unidirectionnelle automatisée de relevé
de compteurs, qui collecte des données sur les compteurs (d'eau ou d'énergie) et les
envoie à une base de données centrale pour facturation, dépannage et analyse [39].
Cependant, les systèmes RAC sont uniquement des systèmes de collecte.
L’infrastructure de comptage avancé (ICA), vers 2005, offre des systèmes de
communication "bidirectionnels" et crée un lien entre les compteurs et les systèmes
d'information externes facilitant le relevé des compteurs à distance, l'activation des
compteurs et des appareils à distance, et l'utilisation de tarifs dynamiques [31].
3.5.2 Capteurs
Aujourd'hui, On trouve les capteurs dans presque tous les appareils, les voiures, les
téléphones portables, les magasins et les autoroutes. La technologie des capteurs permet
aux utilisateurs d'activer les systèmes de sécurité, d'allumer et d'éteindre les lumières, de
fermer et d'ouvrir les stores des fenêtres et de contrôler le thermostat. La plupart des
capteurs sont spécialement conçus pour des raisons de santé, de sécurité et de sûreté
(telles que capteur de fumée et capteur d'épilepsie) [31].
Les capteurs qui sont importants pour la gestion de l'énergie sont pour la détection de
voltage, tension, température, mouvement, lumière et occupation [40]. Ils détectent les
paramètres à différents endroits et les envoient à un système centralisé permettant aux
utilisateurs de suivre la consommation d'énergie ou de recevoir des alertes lorsque
certains seuils sont atteints. Ainsi, les appareils deviennent intelligents, programmables
et capables d'interagir avec les occupants. Les capteurs ont des contraintes, notamment
calcul, stockage et communication limités, pile une courte durée [41].
3.5.3 Réseau de communication
Les systèmes TIC relient des capteurs, des compteurs et des appareils aux unités de
surveillance ou de contrôle. Le réseau local (HAN), réseau de communication d'une
maison (bâtiment), permet aux appareils de communiquer entre eux. Ce type de réseau
se caractérise par un faible débit requis et fournit l'infrastructure de communication pour
permettre la surveillance à distance.
Les appareils reliés dans le réseau local sont souvent des thermostats, des afficheurs
d'énergie, électroménagers intelligents, chauffe-eau, éclairage, stations de recharge pour
véhicules électriques...
Le réseau local utilise des technologies de communication filaires, sans fil ou une
combinaison des deux pour obtenir une connectivité complète. Le tableau 2.2 cite
25
Moyen de Débit Couverture
Technologie
transmission
Fibre optique 0.1 - 10 Gbps jusqu'à 100 km
Ethernet 10 Mbps - 10 Gbps 100 m
Filaire Cable coaxial 172 Mpbs 30 km
Courants porteurs en 0.1 - 200 Mbps jusqu'à 200 m
ligne (CPL)
Zigbee 20 - 250 kbps 70 - 100 m
WiFi 1 - 600 Mbps 70 - 100 m
Sans fil Bluetooth 700 Mbps 70 - 100 m
Z-Wave 40 kbps 10 - 30 m
6LoWPAN 20 – 250 kbps 10 - 30 m
Pour les maisons intelligente, des technologies de communication qui fournissent des
débits allant jusqu'à 100 kbps avec une couverture allant jusqu'à 100m sont jugées
suffisantes [42].
En général, les réseaux sans fil sont préférés parce qu'ils offrent plus de flexibilité dans
l'environnement domestique.
Distance de couverture
26
Sécurité : La sécurité couvre des aspects tels qu’authentification, autorisation, contrôle
d'accès, le cryptage, …
Consommation d'énergie
Coût total : les technologies doivent être facile à installer, à utiliser, à entretenir et
consomme peu d'énergie.
Les technologies Zigbee, WiFi et Courants porteurs en ligne (HomePlug) sont
comparées dans la figure 2.1 La comparaison indique qu'aucune technologie ne domine.
27
cycle de dégivrage aux heures de nuit [31]
3.5.5 Le contrôleur du SGEMI
Le centre du SGEMI est appareil situé dans la maison. Ces principales fonctions sont les
suivantes [45] :
Recevoir des données envoyées par des compteurs intelligents… Les commandes de
contrôle sont envoyées aux équipements de la maison. Par conséquent, la réponse
automatisée à la demande peut être obtenue.
Fournir une interface homme-machine et permettre la navigation en temps réel, la
surveillance en ligne, la configuration des tâches afin d’organiser l'utilisation de
l’électricité ;
Intégrer et contrôler les ressources d’énergie distribuée (décentralisée)
3.6 Revue de la littérature
En 1982, un algorithme d'optimisation a été mis en place pour réduire la consommation
d'électricité en réduisant la demande et le temps d'utilisation. En 1999, des technologies
telles que la fréquence radio, la vidéo et les capteurs ultrasons ont été utilisées pour
suivre la trajectoire des clients et localiser les objets manquants. En 2003, un système de
contrôle d'énergie a été installé pour gérer les entrées/sorties d'énergie de 20 résidences
au Japon en utilisant une passerelle pour chacune des résidences. L'architecture des
réseaux et CPL ont également été utilisées pour contrôler et surveiller les appareils. En
2006, un système intelligent basé sur la théorie des jeux a été introduit dans l'algorithme
d'optimisation pour suivre l'activité d'un seul occupant et localiser le comportement des
différents occupants dans un environnement. En 2011, un SGEM utilisant la commande
infrarouge a été développé pour contrôler l'éclairage et les prises de courant dans une
chambre.
En 2012, quatre appareils ménagers ont été contrôlés en fonction des priorités et des
niveaux de confort. En 2013, des algorithmes d'optimisation avancés ont été utilisés
pour l'ordonnancement des tâches en tenant compte de la disponibilité d'un système de
stockage, de ressources renouvelables et d'électricité à prix dynamique pour réduire le
coût total de l'électricité. En Turquie, un SGEMI a été proposé pour ordonnancer les
appareils électroménagers en utilisant des sources d'énergie renouvelables. En 2014, un
système permettant aux appareils de participer au contrôle de l'énergie en temps réel a
été mis en place.
En 2015, un réseau neuronal associatif a été utilisé pour déterminer l'efficacité
énergétique optimale. Plusieurs entreprises ont conçu des SGEMI pour maîtriser la
consommation d'énergie, notamment General Electric qui a conçu un système qui
contrôle les appareils électroménagers à l'aide de smartphones, et Honda qui a
28
implémenté un système pour contrôler, surveiller et optimiser la production d'électricité
et l'utilisation des appareils à la maison en utilisant l'énergie solaire et les batteries pour
stocker l'énergie qui peut être utilisée pendant les heures de pointe
3.7 Conclusion
Ce chapitre a permis d’abord de détailler SGEMI. Il a présenté ses évolutions, ses
fonctionnalités typiques et ses cinq composants. Ensuite, il a présenté une revue de la
littérature sur les travaux existants portant sur le SGEMI et l’IdO.
Ce chapitre est la dernière étape avant de passer au chapitre suivant qui va détailler la
conception de notre architecture proposée.
29
Ce système présente les caractéristiques et les avantages suivants :
Efficacité :
Le réseau sans fil utilisé est basé sur le protocole de communication ouvert ZigBee. Il
communique 50 fois plus vite qu'un système filaire grâce à l'utilisation de 16 canaux de
communication, tous dotés de la bande passante maximale.
Fiabilité :
La fonctionnalité de maillage adoptée permet au réseau de trouver le meilleur chemin de
transmission. Le système surmonte automatiquement les éventuels soucis de réseau
pour toujours transmettre l'information. Même dans le pire des cas, le taux de
transmission des données reste dix fois supérieur à un système par câble exempt de la
moindre interférence.
Liberté :
le réseau est basé sur un protocole ouvert permet à tout moment d'incorporer de nouvelles
fonctionnalités et de nouveaux luminaires. Il est donc aisé de créer de
nouveaux scénarios lumière en fonction de changements de configuration des lieux ou
du réseau.
Evolutivité :
Le réseau peut évoluer avec, par exemple, l'ajout de nouvelles fonctionnalités. Grâce au
protocole de communication sans fil ZigBee, il peut aussi être élargi indépendamment
du câblage électrique.
Accessibilité :
Le scénario de variation d'intensité peut être adapté à tout moment en communiquant
simplement avec un luminaire via un PC portable et une connexion sans fil.
Reconfigurer l'installation ne requiert donc aucun outil ni aucune intervention lourde.
Une fois la modification envoyée au luminaire choisi comme point d'entrée, celle-ci se
propage instantanément à l'ensemble du Réseau.
4.2 Le système CIRLAMP
CIRCUTOR a développé un système d'éclairage appelé, CirLAMP [42]. Il permet la
gestion intelligente de l'éclairage, en augmentant l'efficacité à travers la diminution de la
consommation d'énergie, et en élaborant des outils qui aident l'utilisateur au diagnostic
des problèmes et à la maintenance de l’éclairage [42]
Principe de Fonctionnement :
CirLAMP Manager utilise la technologie PLC (Power Line Communications) en mettant à
profit la ligne électrique existante de l'installation pour sa communication avec les
CirLAMP Nodo, installés sur chaque point de lumière [42].
Avantage :
ce système présente les avantages suivant :
30
— Economies d'énergie.
- Coûts de maintenance réduits
— Réduction des émissions de CO2.
— Une meilleure gestion de l'éclairage dans la prestation de l'utilisateur.
4.3 le système Philips
Les systèmes d'éclairage Philips offrent confort, productivité et sécurité. Ils embellissent
les espaces et transforment les environnements. Ce système d'éclairage associe des
luminaires DEL traditionnels à des commandes analogiques et numériques qui créent
exactement les bonnes ambiances d'éclairage quand et où nous en avons besoin [43].
En tant que leader de la révolution technologique des DEL, ces systèmes d'éclairage
accordent la priorité à l'efficacité énergétique, la durabilité et la réduction des coûts
d'exploitation. Il aide à spécifier et exécuter des solutions parfaites, en fournissant tout
ce qui est nécessaire, de l'éclairage général fonctionnel à des expériences
impressionnantes de changement de couleurs qui encouragent les interactions sociales et
revitalisent les communautés.
Avantage :
ce système présente les avantages suivant :
— Economies d'énergie.
— Coûts de maintenance réduits.
— Gestion facile d'éclairage.
4.4 Conclusion
Dans ce chapitre, nous avons présenté le concept des villes intelligentes, leurs objectifs,
ainsi que leurs domaines d'application avec quelques exemples de ces villes. Ainsi, nous
avons étudié le concept de Smart Lighting afin de pouvoir analyser tous les besoins
nécessaires pour la mise en œuvre d'un système d'éclairage intelligent.
31
Analyse et Conception
32
5 Analyse et Conception
5.1 Introduction
On va présenter, dans ce chapitre, un modèle de SGEMI basé sur l'IdO pour améliorer
l'efficacité énergétique des maisons intelligentes. Ensuite, on entame le développement
de notre système, qui consiste en un système d’IdO pour la gestion d’éclairage d’une
maison. Pour ce faire, on va suivre une démarche génie logiciel (UML) en procédant par
l’analyse des besoins et la conception de notre système.
5.2 Architecture générale de notre système
L’objectif d’amélioration de l'efficacité énergétique peut être réalisé en contrôlant et en
surveillant les différents appareils ménagers d'une maison. Pour cela, un
microcontrôleur gère les appareils électroménagers pour éviter le gaspillage d'énergie en
diminuant la consommation ou en éteignant les appareils lorsqu'ils ne sont pas utilisés.
La figure 3.1 montre l’architecture matérielle proposée.
Les capteurs, qui sont des dispositifs à des objets ou à un espace, Ils sont responsables
de la détection et de la mesure des données environnementales (température, éclairage,
humidité, gaz, fumée, ultrasons, courant, flamme, etc.), et ensuite transfèrent les
données en temps réel au microcontrôleur qui est le composant principal de cette
architecture.
Le microcontrôleur (cartes Arduino, Raspberry PI …) est relié aux différents
composants (serveur Web, capteurs, actionneurs …) de notre architecture grâce aux
différentes technologies (communication sans fil (Zigbee, X-bee shield ...), connectivité
Internet (Ethernet shield, ESP8266 module WIFI ...)), le rôle de microcontrôleur est :
Il acquiert, interprète et traite les données provenant de différents capteurs.
Il envoie des signaux de commande à des appareils ou à des actionneurs.
Il envoie également les informations environnementales en temps réel au Web
serveur.
Il traite les demandes envoyées par des utilisateurs distants via le serveur Web.
Le serveur cloud/web surveille le système de gestion de l’énergie, il est utilisé pour
stocker et analyser des données volumineuses.
En effet, le serveur cloud/web analyse les données et agit (en conséquence) pour réaliser
des économies d’énergie. Il peut également générer des statistiques et des graphiques
pour aider les utilisateurs à agir (à prendre une décision) dans le but d’éviter le
gaspillage d’électricité.
33
utilisant n'importe quel terminal numérique (téléphone intelligent, tablette, iPod, etc.)
3G/4G ou WIFI, ce qui peut minimiser la consommation d’énergie et améliorer le
confort et la qualité de la vie.
34
Contrôler à distance l’éclairage
Microcontrôleur
Acquérir les données
Plateforme d’IdO Authentifier
Tableau 3. 1 Liste des acteurs et leurs cas d’utilisation
35
Figure 3. 2 Diagramme de cas d’utilisation
36
Figure 3. 5 Diagramme de séquence «Gérer la clé de connexion»
37
5.3.2.3 Diagrammes de séquence : Paramétrer l’accès à distance Déroulement :
38
Figure 3. 8 Diagramme de séquence «Contrôler lampe automatique»
5.4 Conclusion
Ce chapitre a été consacré, d’abord à la proposition d’une architecture (matérielle et logicielle) du
système de gestion d’énergie d’une maison et par la suite, on a fait une étude de cas sur la gestion
éclairage. Cette étude a été menée pour l’analyse et la spécification des besoins d’une application de
gestion d’éclairage d’une maison. On a décrit toutes les fonctionnalités du futur système.
Dans le prochain chapitre on va décrire les outils permettant la réalisation de notre système et un
aperçu sur les fonctionnalités réalisées.
39
6 Implémentation
6.1 Introduction
Après avoir terminé la conception d’un système IdO pour le contrôle d’éclairage d’une
maison, on passe maintenant à son implémentation.
Ce chapitre décrit les différents outils (matériels et logiciels) et les langages de
programmation utilisés, ainsi que la manière dont le système IdO est implémenté.
6.2 Matériels utilisés
6.2.1 Schéma fonctionnel de notre système
40
41
6.2.2 Choix de la carte de programmation
Notre application est un système embarqué dans un projet. Il est donc primordial de
bien choisir la carte électronique convenable, pour cela on a effectué plusieurs
recherches sur ces dernières pour avoir le bon choix.
GPIO 34 40
Dans notre projet nous avons retenu la carte ESP32 comme carte de contrôle au lieu de
Raspberry Pi car elle est moins chère et elle obéit au fonctionnement de notre système.
42
6.2.3 Relais 4 canaux
Le relais à 4 canaux peut être utilisé pour contrôler divers appareils et équipements avec
un courant important. Il est équipé de relais à haut courant (AC250V 10A ou DC30V
10A). Il possède une interface standard qui peut être contrôlée directement par un
microcontrôleur [74].
Il fonctionne sur une alimentation de 5V à 12V. La sortie du signal numérique est 3,3V
haut/bas.
43
travers la photorésistance augmente lorsque l'intensité de la lumière augmente. Les
photorésistances sont aussi parfois appelées LDR « Light Dependent Resistor »
(Résistance Dépendant de la Lumière), photorésistance à semi-conducteur,
photoconducteur ou cellule photoélectrique. La photorésistance ne change de résistance
6.2.7 Bouton
Des boutons ou des commutateurs connectent deux points d’un circuit lorsqu’on les
appuie [79].
44
Figure 4. 8 Bouton
On est besoin de quelques logiciels informatiques pour nous aider à réaliser notre projet
tel que :
Blynk : pour la création de l’application mobile
45
6.4.1 Schéma de circuit : ESP32 Domotique
Le schéma de circuit pour la domotique utilisant Blynk 2.0 & ESP32 avec
rétroaction en temps réel est très simple. Voyons le schéma de circuit de ce projet.
46
6.4.3 Création de nouveaux flux de données Blynk
Dans notre projet, nous surveillons huit paramètres. Vous pouvez donc donner des noms
à ces paramètres. Dans mon cas, la température, l’humidité, la lumière, 4
commutateurs et tous les interrupteurs d’arrêt sont huit DataStream.
47
6.4.4 Concevoir le tableau de bord Web Blynk 2.0
Après cela, passez au tableau de bord Web. Dans cette section, vous pourrez voir
quelques widgets pour créer votre tableau de bord Web cool. Maintenant, ajoutez
simplement des widgets de jauge 3 et des widgets à 5 boutons à votre écran principal.
Vous devez les configurer en fournissant un nom et en sélectionnant flux de données
dans la liste. Cliquez sur Enregistrer et appliquer pour apporter des modifications à la
configuration effectuée jusqu’à présent.
Votre tableau de bord Web est enfin prêt. À l’aide de ce tableau de bord Web, vous
pouvez contrôler vos appareils électroménagers.
48
Permet d’ajouter un nouvel appareil. Sélectionnez la première option, c’est-à-dire À
partir du modèle. Choisissez votre modèle et donnez un nom d’appareil, puis cliquez sur
Créer.
Un nouvel appareil sera créé. Une capture du fichier d’en-tête de code apparaîtra sur le
tableau de bord. Copiez et enregistrez ce code tel qu’il sera utilisé dans le code du
programme.
49
En outre, vous pouvez organiser et redimensionner les widgets après quoi le tableau de
bord de l’application mobile ressemble à ceci.
Bibliothèque Blynk
Bibliothèque DHT
Vous devez entrer l’ID du modèle, le nom de l’appareil et le jeton
d’authentification. Vous pouvez les trouver sous Informations sur l’appareil.
En dehors de cela, mettez à jour le SSID WiFi et le mot de passe à partir des lignes
suivantes.
char ssid[] = "HANI";
char pass[] = "11112222";
Maintenant, si vous avez suivi le même circuit, après avoir effectué toutes ces
modifications, vous pouvez copier le code fourni ci-dessous et télécharger directement
le code sur ESP32. Pour cela, allez dans Outils, sélectionnez la carte en tant que kit de
développement DoIT ESP32 V1, puis sélectionnez le port approprié et appuyez sur le
bouton de téléchargement.
50
#define BLYNK_TEMPLATE_ID "TMPLfrC_S4Un" byte t2[8]={B00111, B00111, B00111, B01111,B11111, B11111, B01111,
#define BLYNK_TEMPLATE_NAME "Quickstart Template" B00011,};
#define BLYNK_AUTH_TOKEN byte t3[8]={B00000, B10000, B01011, B00100, B00111, B00100, B00111,
"KAz_lDwglhD5qP5LFBRk7jSDjaBs8jlL" B11100,};
byte t4[8]={B11111, B11100, B11100, B11110,B11111, B11111, B11110,
// Your WiFi credentials. B11000,};
// Set password to "" for open networks.
char auth[] = BLYNK_AUTH_TOKEN; //humidity symbol
byte hum1[8]={B00000, B00001, B00011, B00011,B00111, B01111,
char ssid[] = "hani"; B01111, B11111,};
char pass[] = "11112222"; byte hum2[8]={B11111, B11111, B11111, B01111,B00011, B00000,
B00000, B00000,};
byte hum3[8]={B00000, B10000, B11000, B11000, B11100, B11110,
//#define BLYNK_PRINT Serial B11110, B11111,};
#include <WiFi.h> byte hum4[8]={B11111, B11111, B11111, B11110, B11100, B00000,
#include <WiFiClient.h> B00000, B00000,};
#include <BlynkSimpleEsp32.h>
#include <Preferences.h> //Home Symbol
#include "DHTesp.h" byte house1[8]={B00000, B00001, B00011, B00011, B00111, B01111,
#include <LiquidCrystal_I2C.h> B01111, B11111,};
LiquidCrystal_I2C lcd(0x27, 20, 4); byte house2[8]={B11111, B11111, B11100, B11100, B11100, B11100,
Preferences pref; B11100, B11100,};
byte house3[8]={B00000, B10010, B11010, B11010, B11110, B11110,
// define the GPIO connected with Relays and switches B11110, B11111,};
#define RelayPin1 5 //D5 byte house4[8]={B11111, B11111, B11111, B10001, B10001, B10001,
#define RelayPin2 18 //D18 B11111, B11111,};
#define RelayPin3 19 //D19
#define RelayPin4 4 //D4 byte d[8] = {
0b00011,0b00011,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000 };
#define SwitchPin1 13 //D13
#define SwitchPin2 12 //D12 byte Lck[] = { B01110, B10001, B10001, B11111, B11011, B11011, B11111,
#define SwitchPin3 14 //D14 B00000 };
#define SwitchPin4 26 //D26
DHTesp temps;
#define wifiLed 2 //D2
#define DHTPIN 15 //D15 pin connected with DHT // When App button is pushed - switch the state
BLYNK_WRITE(VPIN_BUTTON_1) {
toggleState_1 = param.asInt();
//Change the virtual pins according yours digitalWrite(RelayPin1, !toggleState_1);
#define VPIN_BUTTON_1 V1 pref.putBool("Relay1", toggleState_1);
#define VPIN_BUTTON_2 V2 }
#define VPIN_BUTTON_3 V3
#define VPIN_BUTTON_4 V4 BLYNK_WRITE(VPIN_BUTTON_2) {
#define VPIN_BUTTON_C V0 toggleState_2 = param.asInt();
digitalWrite(RelayPin2, !toggleState_2);
pref.putBool("Relay2", toggleState_2);
// Uncomment whatever type you're using! }
#define DHTTYPE DHT22 // DHT 122
BLYNK_WRITE(VPIN_BUTTON_3) {
toggleState_3 = param.asInt();
digitalWrite(RelayPin3, !toggleState_3);
pref.putBool("Relay3", toggleState_3);
// Relay State }
bool toggleState_1 = LOW; //Define integer to remember the toggle state for
relay 1 BLYNK_WRITE(VPIN_BUTTON_4) {
bool toggleState_2 = LOW; //Define integer to remember the toggle state for toggleState_4 = param.asInt();
relay 2 digitalWrite(RelayPin4, !toggleState_4);
bool toggleState_3 = LOW; //Define integer to remember the toggle state for pref.putBool("Relay4", toggleState_4);
relay 3 }
bool toggleState_4 = LOW; //Define integer to remember the toggle state for BLYNK_WRITE(V5) {
relay 4 pirState = param.asInt();
if(pirState == 0){
// Switch State digitalWrite(ledPin, LOW);
bool SwitchState_1 = LOW; k = 1;
bool SwitchState_2 = LOW; ge = 0;
bool SwitchState_3 = LOW; }
bool SwitchState_4 = LOW; else {
digitalWrite(ledPin, HIGH);
k= 0;
BlynkTimer timer; ge = 1;
int val = 0,va5, ge, t =15 ; }
float tmp,hum = 0; }
BLYNK_WRITE(VPIN_BUTTON_C) {
int wifiFlag = 0; all_SwitchOff();
int ledPin = 33; }
int inputPin = 27;
int pirState,k; void myTimer()
int v = 0; {
//temp symbol Blynk.virtualWrite(V7,tmp);
byte t1[8]={B00000, B00001, B00010, B00100, B00100, B00100, B00100, Blynk.virtualWrite(V6,hum);
B00111,}; }
Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4);
void checkBlynkStatus() { // called every 3 seconds by SimpleTimer Serial.println("Switch-4 on");
}
bool isconnected = Blynk.connected(); if (digitalRead(SwitchPin4) == HIGH && SwitchState_4 == HIGH) {
if (isconnected == false) { digitalWrite(RelayPin4, HIGH);
wifiFlag = 1; toggleState_4 = LOW;
digitalWrite(wifiLed, LOW); SwitchState_4 = LOW;
Serial.println("Blynk Not Connected"); pref.putBool("Relay4", toggleState_4);
} Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4);
if (isconnected == true) { Serial.println("Switch-4 off");
wifiFlag = 0; }
digitalWrite(wifiLed, HIGH); }
Serial.println("Blynk Connected");
}
} void all_SwitchOff() {
toggleState_1 = 0; digitalWrite(RelayPin1, HIGH); pref.putBool("Relay1",
BLYNK_CONNECTED() { toggleState_1); Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1);
// update the latest state to the server delay(100);
Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1); toggleState_2 = 0; digitalWrite(RelayPin2, HIGH); pref.putBool("Relay2",
Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2); toggleState_2); Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2);
Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3); delay(100);
Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4); toggleState_3 = 0; digitalWrite(RelayPin3, HIGH); pref.putBool("Relay3",
toggleState_3); Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3);
} delay(100);
toggleState_4 = 0; digitalWrite(RelayPin4, HIGH); pref.putBool("Relay4",
toggleState_4); Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4);
delay(100);
Blynk.virtualWrite(V7,tmp);
void manual_control() Blynk.virtualWrite(V6,hum);
{
if (digitalRead(SwitchPin1) == LOW && SwitchState_1 == LOW) { }
digitalWrite(RelayPin1, LOW);
toggleState_1 = HIGH; void getRelayState()
SwitchState_1 = HIGH; {
pref.putBool("Relay1", toggleState_1); //Serial.println("reading data from NVS");
Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1); toggleState_1 = pref.getBool("Relay1", 0);
Serial.println("Switch-1 on"); digitalWrite(RelayPin1, !toggleState_1);
} Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1);
if (digitalRead(SwitchPin1) == HIGH && SwitchState_1 == HIGH) { delay(200);
digitalWrite(RelayPin1, HIGH); toggleState_2 = pref.getBool("Relay2", 0);
toggleState_1 = LOW; digitalWrite(RelayPin2, !toggleState_2);
SwitchState_1 = LOW; Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2);
pref.putBool("Relay1", toggleState_1); delay(200);
Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1); toggleState_3 = pref.getBool("Relay3", 0);
Serial.println("Switch-1 off"); digitalWrite(RelayPin3, !toggleState_3);
} Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3);
if (digitalRead(SwitchPin2) == LOW && SwitchState_2 == LOW) { delay(200);
digitalWrite(RelayPin2, LOW); toggleState_4 = pref.getBool("Relay4", 0);
toggleState_2 = HIGH; digitalWrite(RelayPin4, !toggleState_4);
SwitchState_2 = HIGH; Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4);
pref.putBool("Relay2", toggleState_2); delay(200);
Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2); }
Serial.println("Switch-2 on");
} void setup()
if (digitalRead(SwitchPin2) == HIGH && SwitchState_2 == HIGH) { {
digitalWrite(RelayPin2, HIGH); Serial.begin(115200);;
toggleState_2 = LOW; //Open namespace in read-write mode
SwitchState_2 = LOW; pref.begin("Relay_State", false);
pref.putBool("Relay2", toggleState_2);
Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2); pinMode(RelayPin1, OUTPUT);
Serial.println("Switch-2 off"); pinMode(RelayPin2, OUTPUT);
} pinMode(RelayPin3, OUTPUT);
if (digitalRead(SwitchPin3) == LOW && SwitchState_3 == LOW) { pinMode(RelayPin4, OUTPUT);
digitalWrite(RelayPin3, LOW);
toggleState_3 = HIGH; pinMode(wifiLed, OUTPUT);
SwitchState_3 = HIGH;
pref.putBool("Relay3", toggleState_3); pinMode(SwitchPin1, INPUT_PULLUP);
Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3); pinMode(SwitchPin2, INPUT_PULLUP);
Serial.println("Switch-3 on"); pinMode(SwitchPin3, INPUT_PULLUP);
} pinMode(SwitchPin4, INPUT_PULLUP);
if (digitalRead(SwitchPin3) == HIGH && SwitchState_3 == HIGH) { temps.setup(t, DHTesp::DHT22);
digitalWrite(RelayPin3, HIGH); pinMode(ledPin, OUTPUT);
toggleState_3 = LOW; pinMode(inputPin, INPUT_PULLUP);
SwitchState_3 = LOW;
pref.putBool("Relay3", toggleState_3); lcd.init();
Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3); lcd.backlight();
Serial.println("Switch-3 off");
} //During Starting all Relays should TURN OFF
if (digitalRead(SwitchPin4) == LOW && SwitchState_4 == LOW) { digitalWrite(RelayPin1, !toggleState_1);
digitalWrite(RelayPin4, LOW); digitalWrite(RelayPin2, !toggleState_2);
toggleState_4 = HIGH; digitalWrite(RelayPin3, !toggleState_3);
SwitchState_4 = HIGH; digitalWrite(RelayPin4, !toggleState_4);
pref.putBool("Relay4", toggleState_4);
digitalWrite(wifiLed, LOW); digitalWrite(ledPin, LOW);
k=0;
lcd.setCursor(0,0); ge = 0;
lcd.print("EPI POLYTECHNIQUE"); }
lcd.setCursor(8,1); else if (k == 0) {
lcd.print("2023"); digitalWrite(ledPin, HIGH);
lcd.setCursor(0,2); k = 1;
lcd.print("--------------------"); ge = 1;
lcd.setCursor(9,3); }
lcd.print("- 4 EM A"); }
delay(3000);
lcd.clear();
lcd.createChar(6, Lck); if (RelayPin1 == 1){
lcd.createChar(1,house1); lcd.clear();
lcd.createChar(2,house2); lcd.setCursor(19,0);
lcd.createChar(3,house3); lcd.write(6);
lcd.createChar(4,house4); lcd.setCursor(0, 1);
lcd.setCursor(1,2); lcd.print("SW_1= ");
lcd.write(1); lcd.print("ON ");
lcd.setCursor(1,3); }
lcd.write(2); else{
lcd.setCursor(2,2); lcd.clear();
lcd.write(3); lcd.setCursor(19,0);
lcd.setCursor(2,3); lcd.write(6);
lcd.write(4); lcd.setCursor(0, 1);
lcd.print("SW_1= ");
lcd.setCursor(17,2); lcd.print("OFF");
lcd.write(1); }
lcd.setCursor(17,3); if (RelayPin2 == 1){
lcd.write(2);
lcd.setCursor(18,2);
lcd.write(3); lcd.setCursor(11, 1);
lcd.setCursor(18,3); lcd.print("SW_2= ");
lcd.write(4); lcd.print("ON ");
}
else{
lcd.setCursor(19,0); lcd.setCursor(11, 1);
lcd.write(6); lcd.print("SW_2= ");
lcd.setCursor(9,0); lcd.print("OFF");
lcd.print("connected-"); }
lcd.setCursor(2,1); if (RelayPin3 == 1){
lcd.print("maison intelligente ");
lcd.setCursor(6,2); lcd.setCursor(0, 2);
lcd.print("USING IOT"); lcd.print("SW_3= ");
delay(3000); lcd.print("ON ");
}
Blynk.virtualWrite(V7, pirState); else{
timer.setInterval(1000L, myTimer);
lcd.setCursor(0, 2);
WiFi.begin(ssid, pass); lcd.print("SW_3= ");
timer.setInterval(2000L, checkBlynkStatus); // check if Blynk server is lcd.print("OFF");
connected every 2 seconds }
Blynk.config(auth); if (RelayPin4 == 1){
delay(1000);
lcd.setCursor(11, 2);
getRelayState(); //fetch data from NVS Flash Memory lcd.print("SW_4= ");
// delay(1000); lcd.print("ON ");
} }
else{
void loop()
{ lcd.setCursor(11, 2);
Blynk.run(); lcd.print("SW_4= ");
timer.run(); // Initiates SimpleTimer lcd.print("OFF");
}
manual_control(); if (va5 == 1){
val = digitalRead(23);
if(val == 1) lcd.setCursor(0, 3);
{ lcd.print("OD_L= ");
digitalWrite(2,va5); lcd.print("ON ");
} }
else{
else{
digitalWrite(2,LOW); lcd.setCursor(0, 3);
} lcd.print("OD_L= ");
lcd.print("OFF");
TempAndHumidity x = temps.getTempAndHumidity(); }
tmp = x.temperature;
hum = x.humidity;
lcd.clear();
lcd.createChar(1,t1);
v = digitalRead(inputPin); lcd.createChar(2,t2);
if (v == HIGH) { lcd.createChar(3,t3);
if (k == 1) { lcd.createChar(4,t4);
lcd.createChar(5, d); lcd.createChar(1,hum1);
lcd.createChar(6, Lck); lcd.createChar(2,hum2);
lcd.createChar(3,hum3);
lcd.setCursor(19,0); lcd.createChar(4,hum4);
lcd.write(6);
lcd.setCursor(1,1); lcd.setCursor(19,0);
lcd.write(1); lcd.write(6);
lcd.setCursor(1,2); lcd.setCursor(3,1);
lcd.write(2); lcd.write(1);
lcd.setCursor(2,1); lcd.setCursor(3,2);
lcd.write(3); lcd.write(2);
lcd.setCursor(2,2); lcd.setCursor(4,1);
lcd.write(4); lcd.write(3);
lcd.setCursor(4,1); lcd.setCursor(4,2);
lcd.print("Temperature :"); lcd.write(4);
lcd.setCursor(7,2); lcd.setCursor(6,1);
lcd.print(tmp); lcd.print("Humidity :");
lcd.setCursor(11,2); lcd.setCursor(7,2);
lcd.write(5); lcd.print(hum);
lcd.setCursor(12,2); lcd.setCursor(12,2);
lcd.print("C"); lcd.print("%");
delay(750);
delay(750);
lcd.clear(); }