12
NSI – Informaque embarquée et objets connectés Référenel : Architectures matérielles et systèmes d’exploitaon Contenu Capacités aendus Commentaires Périphériques d’entrée et de sore Idenfier le rôle des capteurs et aconneurs. Les acvités peuvent être développées sur des objets connectés, des systèmes embarqués ou robots. Langages et programmaon Contenu Capacités aendus Commentaires Diversité et unité des langages de programmaon Interface Homme-Machine (IHM) Repérer, dans un nouveau langage de programmaon les traits communs et les traits parculiers à ce langage. Réaliser par programmaon une IHM répondant à un cahier des charges donné. Les manières dont un même programme simple s’écrit dans différents langages sont comparées. Ulisaon de bibliothèques Uliser la documentaon d’une bibliothèque. Aucune connaissance exhausve d’une bibliothèque parculière n’est exigible. Table des matières 1 Présentaon de quelques objets..........................................................................................................................2 2 Les systèmes informaques embarqués.............................................................................................................. 2 2.1 Présentaon..................................................................................................................................................2 2.2 Représentaon fonconnelle d'un objet......................................................................................................3 2.3 La carte programmable.................................................................................................................................4 2.4 Les capteurs.................................................................................................................................................. 4 2.5 Les aconneurs............................................................................................................................................. 6 2.6 La communicaon.........................................................................................................................................6 3 Programmaon des systèmes embarquée...........................................................................................................7 3.1 Les langages de programmaon................................................................................................................... 7 3.2 Les étapes du développement......................................................................................................................7 3.3 Programmaon par diagramme d'états-transions..................................................................................... 7 4 IHM..................................................................................................................................................................... 11 5 Les objets connectés.......................................................................................................................................... 11 5.1 Présentaon................................................................................................................................................11 5.2 Complexité : l'empilement technologique................................................................................................. 12 5.3 Protocole MQTT..........................................................................................................................................12 Cours_info_embarquee.odt Page 1/12

NSI – Informatique embarquée et objets connectés

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NSI – Informatique embarquée et objets connectés

NSI – Informatique embarquée et objets connectésRéférentiel :

• Architectures matérielles et systèmes d’exploitation

Contenu Capacités attendus Commentaires

Périphériques d’entrée et de sortie Identifier le rôle des capteurs et actionneurs. Les activités peuvent être développées sur des objets connectés, des systèmes embarqués ou robots.

• Langages et programmation

Contenu Capacités attendus Commentaires

Diversité et unité des langages de programmation

Interface Homme-Machine (IHM)

Repérer, dans un nouveau langage de programmation les traits communs et les traits particuliers à ce langage.

Réaliser par programmation uneIHM répondant à un cahier descharges donné.

Les manières dont un même programme simple s’écrit dans différents langages sont comparées.

Utilisation de bibliothèques Utiliser la documentation d’une bibliothèque. Aucune connaissance exhaustive d’une bibliothèque particulière n’est exigible.

Table des matières1 Présentation de quelques objets..........................................................................................................................22 Les systèmes informatiques embarqués..............................................................................................................2

2.1 Présentation..................................................................................................................................................22.2 Représentation fonctionnelle d'un objet......................................................................................................32.3 La carte programmable.................................................................................................................................42.4 Les capteurs..................................................................................................................................................42.5 Les actionneurs.............................................................................................................................................62.6 La communication.........................................................................................................................................6

3 Programmation des systèmes embarquée...........................................................................................................73.1 Les langages de programmation...................................................................................................................73.2 Les étapes du développement......................................................................................................................73.3 Programmation par diagramme d'états-transitions.....................................................................................7

4 IHM.....................................................................................................................................................................115 Les objets connectés..........................................................................................................................................11

5.1 Présentation................................................................................................................................................115.2 Complexité : l'empilement technologique.................................................................................................125.3 Protocole MQTT..........................................................................................................................................12

Cours_info_embarquee.odt Page 1/12

Page 2: NSI – Informatique embarquée et objets connectés

1 Présentation de quelques objets

2 Les systèmes informatiques embarqués

2.1 Présentation

Un système informatique embarqué est un ensemble de composants (cartes programmables, capteurs, actionneurs et moyens de communication) intégrés à un objet (maison, voiture, vélo, robot, drone, enceinte, montre …). C'est le système informatique embarqué qui permet de piloter les objets à distance ou de manière autonome.

Cours_info_embarquee.odt Page 2/12

Page 3: NSI – Informatique embarquée et objets connectés

2.2 Représentation fonctionnelle d'un objet

Lorsque les objets sont complexes onreprésente le système à l'aide d'un schémafonctionnel.Le schéma peut comporter des niveauxhiérarchiques.

Les flèches représentent :

• de la matière ;• de l'énergie ;• des contraintes ;• des informations (booléen, valeur,

fichier …).

Une fonction peut être :• matérielle (mécanique ou

électronique) ;• logicielle.

On peut donc distinguer deux parties au sein des systèmes :• l'une agissant sur les flux de données appelées chaîne d'information ;• l'autre agissant sur le flux de matière et d'énergie appelée chaîne d'énergie.

Cours_info_embarquee.odt Page 3/12

Page 4: NSI – Informatique embarquée et objets connectés

2.3 La carte programmable

Une carte programmable intègre :- un microcontrôleur (microprocesseur + mémoire + périphériques E/S) ;- des liaisons vers les capteurs (bouton poussoir, température, localisation …) ;- des liaisons vers les actionneurs (moteur, lumière, afficheur, chauffage …) ;- des liaisons pour la communication vers l'extérieur (Wifi, Bluetooth, usb, série, Zigbee, Z-Wave …) ;- des liaisons pour l'alimentation.

Exemples de cartes :

Carte Arduino Carte Raspberry (micro-ordinateur avec un OS)

Carte ESP32 Carte Raspberry Zéro (micro-ordinateur avec un OS)

2.4 Les capteurs

Les capteurs sont des composants qui convertissent une gradeur physique en une information numérique exploitable par un programme : bouton poussoir , mesure de distance, température, localisation, lumière , pression atmosphérique, accélération, mouvement …Les capteurs sont reliés aux entrées de la carte programmable.

Cours_info_embarquee.odt Page 4/12

Page 5: NSI – Informatique embarquée et objets connectés

Remarque :

Lorsqu'on appuie ou relâche un bouton, il se produit des micro-coupures que l'on appelle rebonds.

Les diagrammes ci-dessous montrent que du point de vue électrique c'est comme si on appuyait plusieurs fois assez rapidement entre 10 ms et 20 ms.

Dans certains programmes il faudra ajouter l'instruction delay(20) ou wait(20) pour attendre la stabilisation du signal et éviter la prise en compte des rebonds. C'est le cas par exemple si l'on doit compter le nombre de foisque l'on appuie sur un bouton poussoir.

Cours_info_embarquee.odt Page 5/12

Page 6: NSI – Informatique embarquée et objets connectés

2.5 Les actionneurs

Les actionneurs font le contraire des capteurs. Leur rôle est de transformer une information dans le programme en une grandeur physique avec suffisamment d'énergie : LED, buzzer, haut parleur, moteur, afficheur, chauffage ...Les actionneurs sont reliés aux sorties de la carte programmable.

LED rouge Servomoteur Buzzer

2.6 La communication

On distingue deux types de communications :• entre le système embarqué et l'extérieur (smartphone, ordinateur, internet ...) ;• entre les composants du systèmes embarqué.

Protocoles pour la communication vers l'extérieur :• Bluetooth ;• WIFI ;• Ethernet ;• Bus série.

Protocoles de communication entre les composants :• I2C (entre circuits électroniques) ;• Bus série (rs232, ISP …, entre cartes électroniques)• Zigbee, Z-Wave (en domotique, liaisons sans fil entre objets) ;• CAN dans les voitures ;• ...

Cours_info_embarquee.odt Page 6/12

Page 7: NSI – Informatique embarquée et objets connectés

3 Programmation des systèmes embarquée

3.1 Les langages de programmation

Le langage de programmation dépend de la carte utilisé et des contraintes physiques.• Le langage C/C++ est privilégié pour les systèmes avec une forte contrainte de temps de réaction

(contrôle, asservissement …) ;• Java et python sont très utilisés avec les objets connectés.

3.2 Les étapes du développement

Exemple de liaison entre le PC et la carte :

Liaison PC – Carte Arduino Liaison PC – Carte ESP32

3.3 Programmation par diagramme d'états-transitions

Pour avoir une vue globale du fonctionnement on utilise une représentation schématique. Il existe différentes représentations que l'on choisit en fonction du domaine d'application et du type de programmation.

Nous allons aborder une représentation simple : le diagramme d'états-transitions.

Exemple 1 :

Allumer éteindre une LED avec deux boutons (effet mémoire).

Cours_info_embarquee.odt Page 7/12

Écriture et mise point

à partir d'un logiciel (IDE)

Téléversementdu programme

dans la mémoire de la carte

Connexion à la carte (par fils ou par ondes)

Observation et test de l'objet

Page 8: NSI – Informatique embarquée et objets connectés

Programmation : classique Programmation : diagramme d'états-transitions

Description avec un algorithme :

Si bouton1 = 1 alors allumer ledRougeSi bouton2 = 1 alors éteindre ledRouge

Description avec un diagramme d'états-transitions :

Programme Arduinoint bouton1 = 2;int bouton2 = 3;int ledRouge = 13;

void setup(){ pinMode(bouton1, INPUT); pinMode(bouton2, INPUT); pinMode(ledRouge, OUTPUT);}

void loop(){ if (digitalRead(bouton1) == HIGH) { // Allumer digitalWrite(ledRouge, HIGH); } if (digitalRead(bouton2) == HIGH) { // Éteindre digitalWrite(ledRouge, LOW); }}

Programme Arduinoint bouton1 = 2;int bouton2 = 3;int ledRouge = 13;int etat = 0;

void setup(){ pinMode(bouton1, INPUT); pinMode(bouton2, INPUT); pinMode(ledRouge, OUTPUT); Serial.begin(9600); // Moniteur à 9600 bauds}

void loop(){ // Gestion des transitions if ((etat == 0) && (digitalRead(bouton1) == HIGH)) { etat = 1; } if (etat == 1) && (digitalRead(bouton2) == HIGH)) { etat = 0; } // Gestion des états if (etat == 0) { // Eteindre digitalWrite(ledRouge, LOW); } if (etat == 1) { // Allumer digitalWrite(ledRouge, HIGH); } Serial.println(etat);}

Cours_info_embarquee.odt Page 8/12

Page 9: NSI – Informatique embarquée et objets connectés

Exemple 2

Nous allons réaliser un chenillard avec trois LED.

Câblage de la carte

Diagramme d'états-transitions

Cours_info_embarquee.odt Page 9/12

État 0----

LED1 = 0LED2 = 0LED3 = 0

Init

État 1----

LED1 = 1LED3 = 0

BP1

BP2

État 2----

LED2 = 1LED1 = 0

État 3----

LED3 = 1LED2 = 0

BP2

BP2

BP2

BP2

BP2

Page 10: NSI – Informatique embarquée et objets connectés

Programme Arduino avec un switch/case

int BP1 = 2;int BP2 = 3;int LED1 = 11;int LED2 = 12;int LED3 = 13;int etat = 0;

void setup(){ pinMode(BP1, INPUT); pinMode(BP2, INPUT); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); Serial.begin(9600); // Moniteur à 9600 bauds}

void loop(){ switch (etat) { case 0: // Action digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); // Transition if (digitalRead(BP1) == HIGH) {etat = 1;} break; case 1: // Action digitalWrite(LED3, LOW); digitalWrite(LED1, HIGH); delay(1000); // Transition if (digitalRead(BP2) == HIGH) {etat = 0;} else {etat = 2;} break; case 2: // Action digitalWrite(LED1, LOW); digitalWrite(LED2, HIGH); delay(1000); // Transition if (digitalRead(BP2) == HIGH) {etat = 0;} else {etat = 3;} break; case 3: // Action digitalWrite(LED2, LOW); digitalWrite(LED3, HIGH); delay(1000);

Cours_info_embarquee.odt Page 10/12

Page 11: NSI – Informatique embarquée et objets connectés

// Transition if (digitalRead(BP2) == HIGH) {etat = 0;} else {etat = 1;} break; default: etat = 0; break;} Serial.println(etat);}

4 IHM

Les interfaces homme-machine ou IHM (interface personne-machine ou IPM, human-machine interfaces ou HMI) sont les moyens et outils mis en œuvre afin qu'un humain puisse contrôler et communiquer avec une machine.

Exemples : Écran, manette, commande vocale, casque de réalité virtuelle ...

5 Les objets connectés

5.1 Présentation

Lorsque les objets communiquent à travers un réseau entre eux ou avec des ordinateurs, des tablettes ou encore des téléphones on parle d'objets connectés. Les communications peuvent se faire sans fil (Wifi et Bluetooth mais aussi Zigbee, Z-Wave ...) et par câble avec le réseau internet.

L'Internet des objets ou IoT (Internet of Things) est l'interconnexion des objets à travers le réseau internet.

Cours_info_embarquee.odt Page 11/12

Page 12: NSI – Informatique embarquée et objets connectés

5.2 Complexité : l'empilement technologique

5.3 Protocole MQTT

MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie publication- souscription (publish-subscribe) basé sur le protocole TCP/IP. Depuis novembre 2014, MQTT est devenue un standard international pour la communication entre machines (M2M, machine to machine) et les objets (IoT, Internet Of things).

De nombreuses bibliothèques existent :• sur ordinateur (Linux, Windows et Mac) ;• sur tablette et smartphone ;• pour les cartes (Arduino, ESP32, Raspberry …) ;• pour les objets (capteurs de température …).

MQTT et plus adapté aux objets que HTTP :• consomme 11 fois moins pour envoyer un message ;• consomme 170 fois moins pour recevoir un message ;• est 93 fois plus rapide que le protocole HTTP.

Le principe :• un client (capteur) a pour rôle la publication

(publish), il envoie des données ;• un client (actionneur ou écran de visualisation) a

pour rôle la souscription (subscribe), il reçoitdes données ;

• un serveur appelé Broker, gère lacommunication et le stockage des données.

On peut spécifier une qualité de service QoS (Quality of Service, qualité de service) :• QoS0 : Le message envoyé n’est pas stocké par le Broker. Il n’y a pas d’accusé de réception. Le message

sera perdu en cas d’arrêt du serveur ou du client. C’est le mode par défaut ;• QoS1. Le message sera livré au moins une fois. Le client renvoie le message jusqu’à ce que le broker

envoi en retour un accusé de réception.• QoS2. Le broker sauvegarde le message et le transmettra jusqu’à ce qu’il soit reçu par tous les

souscripteurs connectés.Mosquitto est une des implémentations open source du broker MQTT.

Cours_info_embarquee.odt Page 12/12