I.2.
CONCEPTE DE BASE
I.2.1.L'internet des objets (IOT)
IOT est l'acronyme de « Internet Of Things », ou
internet des objets en français. IOT est l'extension d'internet qui
n'était qu'un monde virtuel et qui n'interagissait pas ou peu avec le
monde physique à des entités et des emplacements existants sur
terre. Les données générées par ces entités
(objets) sont échangées via internet afin d'être
exploitées dans divers domaine ; la santé, la domotique,
l'agriculture...etc. Les géants de l'informatique parlent de maisons
connectées, de villes intelligentes, et de véhicules
autonomes.[14]
I.2.1.1.Objet connecté
Un objet connecté est un objet électronique
relié à internet et capable de communiquer des informations,
apportant ainsi un service ou une valeur ajoutée. Le premier objet
connecte était la lampe DAL, lancé en 2003 par RAFI Haladjan.
Sensible au toucher et au bruit, cette lampe communiquait des informations sur
la météo, la bourse, la pollution, des alertes Google et
même des messages grâce à neuf LED de couleur. Les fonctions
proposées aujourd'hui vont beaucoup plus loin que la simple annonce de
la météo. Prenons l'exemple du thermostat Qivivo, qui permet non
seulement de piloter son chauffage à distance, mais également
d'obtenir un diagnostic de sa consommation d'énergie, des conseils
d'optimisation et même d'être mis en relation avec des
professionnels afin d'étudier les possibilités
d'amélioration de son logement.[15]
Les usages ont donc su se développer et, aujourd'hui,
les objets connectés sont partout. Ils sont particulièrement
appropriés dans certains domaines.
Source :
https://www.journaldulapin.com/2010/08/10/les-produits-violet-la-lampe-dal
Figure 5:Lampe DAL
I.2.1.2. Composants d'un système IOT
L'internet des objets n'est pas une technologie à
part-entière mais plutôt un système intégrant
plusieurs autres systèmes. Lier un objet ou un lieu à Internet
est un processus plus complexe que la liaison de deux pages Web.[15] Divers
composant sont de mise, L'IOT en exige sept :
1. Une étiquette physique ou virtuelle pour identifier
les objets et les lieux.
2. Un moyen de lire les étiquettes physiques, ou de
localiser les étiquettes virtuelles.
3. Un dispositif mobile (Smartphone, tablette, ordinateur
portable).
4. Un logiciel additionnel pour le dispositif mobile.
5. Un réseau sans fil de type 2G, 3G ou 4G.
6. L'information sur chaque objet lié.
7. Un affichage pour regarder l'information sur l'objet
lié.
Le tableau suivant résume les principaux
systèmes technologiques nécessaires à l'implantation d'une
solution IOT.[15]
Type de système
|
Enjeux
|
Technologies employées
|
Identification
|
Reconnaître chaque objet de façon unique et
recueillir les données stockées au niveau de l'objet.
|
Code-barres, URI, GPS, radioidentification(RFID), ADN...etc.
|
Capteur
|
Recueillir des informations présentes dans l'environnement
pour enrichir les fonctionnalités du dispositif.
|
Luxmètre, capteur de proximité, thermomètre,
hydromètre, accéléromètre, gyroscope...etc.
|
Connexion
|
Connecter les systèmes entre eux.
|
Câbles, fréquences radio, Bluetooth, Wi-Fi, ZigBee,
ZWave, NFC...etc.
|
Intégration
|
Intégrer les systèmes pour que les données
soient transmises d'une couche à l'autre.
|
Middleware (simple et complexe), analyse décisionnelle des
systèmes complexe.
|
Traitement de données
|
Stocker et analyser les données pour lancer des actions ou
pour aider à la prise de décisions.
|
Tableur, base de données, entrepôt de
données, progiciel de gestion intégré(PGI).
|
Réseau
|
Transférer les données dans les mondes physiques et
virtuels.
|
Intérêt
|
Tableau 2:les principaux
systèmes technologiques nécessaires à l'implantation d'une
solution IOT
I.2.2. Notion sur la carte Arduino
Le système Arduino donne la possibilité
d'allier les performances de la programmation à celles de
l'électronique. Plus précisément, pour programmer des
systèmes électroniques. Le gros avantage de l'électronique
programmée c'est qu'elle simplifie grandement les schémas
électroniques et par conséquent, le coût de la
réalisation, mais aussi la charge de travail à la conception
d'une carte électronique.[16]
Arduino est un circuit imprimé en matériel libre
sur lequel se trouve un microcontrôleur qui peut être
programmé pour analyser et produire des signaux électriques, de
manière à effectuer des tâches très diverses comme
la domotique (le contrôle des appareils domestiques :
éclairage, chauffage...), le pilotage d'un robot, etc.
Le langage Arduino se distingue des langages utilisés
dans l'industrie de l'informatique embarquée de par sa
simplicité. En effet, beaucoup de librairies et de
fonctionnalités de base occulte certains aspects de la programmation de
logiciel embarquée afin de gagner en simplicité. Cela en fait un
langage parfait pour réaliser des prototypes ou des petites
applications.
Les possibilités des cartes Arduino sont
énormes, un grand nombre d'application adéjà
été réalisé et testé par bon nombre
d'internautes.
Dans cette partie nous allons voir une présentation
générale du système Arduino UNO, ses
caractéristiques et présentation des quelques shields et on
mettra la lumière sur le logiciel IDE Arduino.
I.2.2.1. Constitution de la carte
- Le microcontrôleur
C'est le cerveau de la carte. Il va recevoir le programme que
nous allons créer et va le stocker dans sa mémoire avant de
l'exécuter. Grâce à ce programme, il va savoir faire des
choses, qui peuvent être : faire clignoter une LED, afficher des
caractères sur un écran, envoyer des données à un
ordinateur...etc
Source :
Google /image
Figure6: Microcontrôleur
Le microcontrôleur utilise sur la carte Arduino UNO est
un microcontrôleur ATMega328. C'est un microcontrôleur ATMEL de la
famille AVR 8bits.
Source :
https://fr.slideshare.net/byorntandu/microcontroleur-arduino-uno-70539946
Figure 7:Microcontrôleur ATMega 328 avec ses
pattes
Les principales caractéristiques d'ATMega328
sont [16]:
- FLASH = mémoire programme de 32Ko.
- SRAM = données (volatiles) 2Ko.
- EEPROM = données (non volatiles) 1Ko.
- Digital I/O (entrées-sorties Tout Ou Rien) = 3 ports
Port B, Port C, Port D (soit 23 broches en tout I/O).
- Timers/Counters : Timer0 et Timer2 (comptage 8 bits), Timer1
(comptage 16 bits) Chaque trimer peut être utilise pour
générer deux signaux PWM. (6 broches OCxA/OCxB).
- Plusieurs broches multi-fonctions: certaines broches peuvent
avoir plusieurs fonctions différentes choisies par programmation.
- PWM = 6 broches OC0A(PD6), OC0B(PD5), 0C1A(PB1), OC1B(PB3),
OA(PB3), OB(PD3)
- Analog to Digital Converter (resolution 10 bits) = 6 entrees
multiplexes ADC0(PC0) à ADC5(PC5).
- Gestion bus I2C (TWI Two Wire Interface) = le bus
estexploite via les brochesSDA(PC5)/SCL(PC4).
- Port série (USART) = émission/réception
série via les broches TXD(PD1)/RXD(PD0)
- Comparateur Analogique = broches AIN0(PD6) et AIN1 (PD7)
peut déclencher interruption
- Watch dog Trimer programmable.
- Gestion d'interruptions (24 sources possibles (cf.
interruptif vecteurs)) : en résumé :
- Interruptions liées aux entrées INT0 (PD2) et
INT1 (PD3).
- Interruptions sur changement d'état des broches
PCINT0 a PCINT23.
- Interruptions liées aux Timers 0, 1 et 2 (plusieurs
causes configurables).
- Interruption liée au comparateur analogique.
- Interruption de fin de conversion ADC.
- Interruptions du port série USART.
- Interruption du bus TWI (I2C).
- L'alimentation
Pour fonctionner, une carte Arduino a besoin d'une
alimentation. Le microcontrôleur fonctionnant sous 5V, la carte peut
être alimentée en 5V par le port USB ou bien par une alimentation
externe qui est comprise entre 7V et 12V. Un régulateur se charge
ensuite de réduire la tension à 5V pour le bon fonctionnement de
la carte.
- La connectique
La carte Arduino ne possédant pas de composants
(résistances, diodes, moteurs...) qui peuvent être utilisés
pour un programme, il est nécessaire de les rajouter. Mais pour ce
faire, il faut les connecter à la carte. C'est là
qu'interviennent les connecteurs de la carte. Sur les Arduino et sur beaucoup
de cartes compatibles Arduino, les connecteurs se trouvent au même
endroit. Cela permet de fixer des cartes d'extension, appelée shield.
Source :https://www.generationrobots.com/fr/172-connectivite-et-accessoires-pour-arduino
Figure 8: Connectique de la carte arduinoUno
Les différents éléments de la carte de
commande sont regroupés dans le Tableau ci-dessous :
Tension de fonctionnement
|
5 V
|
Tension d'alimentation (recommandée)
|
7-16 V
|
Tension d'alimentation (limites)
|
6-20 V
|
Broches E/S numériques
|
14(dont 6 disposent d'une sortie PWM).
|
Broches d'entrées analogiques
|
6 (utilisables en broches E/S numériques).
|
Intensité maxi disponible par broche E/S (5 V)
|
40 mA (attention : 200 mA cumulé pour l'ensemble des
broches E/S ).
|
Intensité maxi disponible pour la sortie 3.3 V
|
50mA
|
Intensité maxi disponible pour la sortie 5 V
|
Fonction de l'alimentation utilisée - 500 mA max si port
USB utilisée seul
|
Mémoire programme flash
|
32 KB (ATmega328) dont 0.5 KB sont utilisés par le boot
loader (programme de base préprogrammé conçu pour
établir la communication entre l' ATmega et le logiciel Arduino).
|
Mémoire SRAM (mémoire volatile)
|
2 KB (ATmega).
|
Mémoire EEPROM (mémoire non volatile)
|
1 KB (ATmega).
|
Vitesse d'horloge
|
16 Mhz
|
Tableau 3:Les différents
éléments de la carte de commande
I.2.3. Les capteurs
Un capteur est un dispositif ayant pour tâche de
transformer une mesure physique observée en une mesure
généralement électrique qui sera à son tour
traduite en une donnée binaire exploitable et compréhensible par
un système d'information.[17]
I.2.3.1. Présentation des capteurs
Pour la plupart des projets, il est souvent nécessaire
d'ajouter des fonctionnalités aux cartes Arduino. Plutôt que
d'ajouter soit même des composants extérieurs (sur une platine
d'essai, circuit imprimé, etc.), il est possible d'ajouter des shields.
Un shield est une carte que l'on connecte directement sur la
carte Arduino qui a pour but d'ajouter des composants sur la carte. Ces shields
viennent généralement avec une librairie permettant de les
contrôler. On retrouve par exemple, des shields Ethernet, de
contrôle de moteur, lecteur de carte SD, etc.
Le principal avantage de ces shields est leurs
simplicités d'utilisation. Il suffit de les emboiter sur la carte
Arduino pour les connecter, les circuits électroniques et les logiciels
sont déjà faits et on peut en empiler plusieurs. C'est un atout
majeur pour ces cartes pour pouvoir tester facilement de nouvelles
fonctionnalités. Cependant il faut bien garder à l'esprit que les
shields ont un prix. Suivant les composants qu'ils apportent, leurs prix
peuvent aller de 2 à 100$.
Voici un tableau représentant certains shields que nous
pouvons trouver :
Nom de capteurs
|
Image de capteurs
|
Principales caractéristiques
|
Capteur de flamme
|
|
- haute sensibilité du récepteur IR
- extrêmement sensibles aux ondes entre 760-1100nm
- voyant d'alimentation
- voyant comparateur de sortie
- sortie analogique quantité
- seuil de renversement du niveau de sortie électrique
- seuil réglé par potentiomètre
- Gamme de détection d'angle: environ 60 degrés
- Alimentation: 0-15 V DC.
|
Capteur infrarouge
|
|
- VCC: alimentation 3v-12v (pouvant se connecter directement
à 5V ou 3,3V microcontrôleur)
- GND: Masse
- OUT: interface de sortie numérique de la carte (0 et
1).
|
Détecteur de niveau d'eau Grove 101020018
|
|
- Interface: compatible Grove
- Signal: digital ou analogique
- Faible consommation
- Dimensions: 40 x 20 x 12mm
- Température de service: 0°C à
+40°C
- Connectique non compatible avec Tinker Kit
- Référence Speede studio: 101020018 (remplace
SEN11304P).
|
Photosensible (module de capteur de luminosité
résistance)
|
|
- en utilisant capteur photosensible résistance sensible
type;
- tension de Fonctionnement: 3.5 V, 5 V;
- forme de sortie: numérique de commutation spectacle (0
et 1);
- trou de vis fixe, installation facile;
- petit PCB Taille: 3.2 cm * 1.7 cm;
- la sortie du comparateur, le signal propre, bonne vague, la
capacité de conduire est forte, pour plus que 15 mA;
- avec réglable potentiomètre pour régler la
luminosité de la lumière.
|
Capteur de
distance à ultrason SRF05
|
|
- tension d'entrée : 5v dc Courant de repos: < 2ma
- niveau (élevé) de sortie: 5v
- niveau de sortie (de bas): 0v
- angle induction: < 15 °
- distance de détection: 2cm - 450cm
- Précision: jusqu'à 0.3cm
- taches aveugles: 2cm.
|
Capteur
de Pression BMP18
|
|
- Vin: 3 V à 5 V.
- Plage de détection de pression: 30-110 KPa (9000 m
à -500 m audessus du niveau de la mer).
- Jusqu'à 0.003 KPa / 0.25 m de résolution.
- plage de mesure de -40 à + 85 ° C de, +-2 ° C
de précision de température
|
Capteur de Température (DHT)
|
|
- Alimenté avec une tension de +5V.
- Il possède 3 broches : Vcc (5v +), Out (vers Arduino),
Gnd (5v -).
- Il fonctionne sous une température allant de 0 à
50° avec erreur de +/- 2 et humidité de 20 - 90% avec une erreur de
5%.
|
Capteur le mouvement/ Présence (PIR)
|
|
- Son détecteur de mouvement est divisé en deux, la
raison est que nous voulons détecter un mouvement et non un rayonnement
IR, alors les deux moitiés sont câblées afin qu'ils
s'annulent mutuellement, si une moitié capte plus ou moins de
rayonnement que l'autre, la sortie basculera vers le haut ou vers le bas (HIGH/
LOW
- Il possède 3 broches : Vcc (5v +), Out (vers Arduino),
Gnd (5v -).
|
Tableau 4:shields
I.2.3.Communication
Le constructeur a suggéré qu'une telle carte
doit être dotée de plusieurs ports de
Communications; on peut éclaircir actuellement quelques
types.
I.2.3.1.Module Bluetooth
Le Module Microcontrôleur Arduino Bluetooth est la
plateforme populaire Arduino avec une connexion sérielle Bluetooth
à la place d'une connexion USB, très faible Consommation
d'énergie, très faible portée (sur un rayon de l'ordre
d'une dizaine de mètres), faible débit, très bon
marché et peu encombrant.
Figure 9: Module
Bluetooth
Source :https://www.generationrobots.com/fr/401926-module-bluetooth-v20-emetteur-recepteur-serie-33v.html
I.2.3.2. Module shield ArduinoWifi
Le module ShieldArduino Wifi permet de connecter une carte
Arduino à un réseau internet sans fil Wifi.
Source :https://store.arduino.cc/arduino-wifi-shield
Figure 10:Module shieldArduino Wifi
|