View
291
Download
2
Category
Preview:
Citation preview
EE3C Gestion des périphériques
Séance 8
Internet of Thingssystème connecté et distant
Sébastien Combéfis 28 mars 2017
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative CommonsAttribution – Pas d’Utilisation Commerciale – Pas de Modification 4.0 International.
Objectifs
Découverte des objets connectés
Qu’est-ce-que l’Internet of Things ?
Différence avec l’internet traditionnel
Monitoring et disaster recovery pour système embarqué
Comment faire du monitoring et contrôle à distance
Relier un système embarqué à un réseau physique
Architecture et connexion WiFi de la BBB
3
Internet of Thing
Explosion de machines (1)
Tsunami d’interconnexions machine à machine
Production d’une grande quantité de données et connaissances
Libération de l’emprise ou du contrôle humain sur les machines
Communautés autonomes de machines communicantes
Pas ou peu d’intervention humaine, reporting vers l’humain
Difficultés techniques de connexion des machines
Assez d’adresses IPv6, mais lourdeur du protocole IP
Échange de données brutes, de senseur vers serveur
5
Explosion de machines (2)
Difficultés à réagir en temps-réel pour le système
Sensing et boucles de réponse doivent être en temps-réel
Abonnement aux données produites circulant dans le réseau
Au lieu du traditionnel système peer-to-peer actuel
Quelques systèmes sur Terre qui ont même échelle et taille
Distribution du pollen dans les fleurs,
Colonies de fourmi,
Forêts de redwoods...
6
Internet of Thing
Extension du web et d’Internet au monde des objets physiques
Internet of Thing (IoT) ou Cyber-Physical Systems (CPS)
Communication entre senseurs entre eux et avec Internet
Construction d’un réseau d’humains et machines
Possibilité de concevoir des “smart homes”
Système de chauffage intelligent qui utilise les prévisions météo
Gestion complète de la sécurité de l’habitation
7
Histoire
Combiner capacité communication avec transmission données
Electronic Product Code (EPC), EAN.UCC...
8
Définition ITU de 2005
International Telecommunication Unit (ITU) définit IoT
Ajout d’un troisième axe “any thing” de connectivité
9
Question
Nouvelles sources de données ajoutées au réseau
Possibilité d’offrir de nouveaux services sur base de cela
Plusieurs questions soulevées par l’IoT
Type de connectivité et interopérabilité pour les objets
Modèle de communication utilisé avec les objets
Interaction possible avec les modèles existants (Internet)
Modèle de transport, identification, adressage et nom
Sécurité et vie privée
Impact économique
10
Plus qu’un réseau
Architecture actuelle d’internet dépassée pour l’IoT
Nécessité solution organique car on joue sur les frontières
Objets dits de type low fidelity
Vitesse peu élevée, pertes, atténuation et intermittence
Communication plutôt machine à machine de petites quantités
Complètement éloigné de l’internet « traditionnel »
11
Protocole IP et TCP
Objets connectés avec très peu de ressources
Ne peuvent pas implémenter de très lourds protocoles
Pas nécessaire d’avoir connexions fiables avec garanties TCP
Connexion permanente, pas de pertes, désordonnement...
Nécessité de pouvoir gérer un grand nombre de connexions
Plusieurs milliard d’objets pouvant être connectés
12
Donnée individuelle
Moins d’importance des données individuelles
Messages collectés et interprétés ailleurs dans le réseau
13
Objet plus « con »
Aller vers des objets simples dans l’esprit “dumber safer”
Moins de hacking et mauvaise configuration si très simple
14
Ubiquitous networking
15
Network of things
Web permet d’accéder aux nœuds connectés sur Internet
Nœuds identifiés uniquement par une adresse IP via DNS
IoT permet d’accéder aux objets connectés
Objets identifiés uniquement par un ID via ONS
IoT constitués d’atomes plus petit objet possible
Combinaison d’un réseau d’atomes avec un réseau de bits
Exécution de nouveaux services pour créer “smart world”
16
Classification d’objets
17
Interaction avec le Web
Appel de services web par des objets connectés
Par exemple sur plateformes PaaS, BaaS, FaaS...
Interaction avec le cloud computing
Offre de services hardware et software par dessus Internet
Envoi de SMS automatiquement grâce su service cloud Twilio
API permet notamment l’envoi de SMS, compte gratuit possible
18
IFTTT (1)
Service If This Then That (IFTTT) de connexions de channels
Associer une action à un trigger (e.g. if new post, send by email)
Possibilité de déclencher un évènement par l’envoi d’un e-mail
Format particulier de l’adresse, avec des paramètres
Trigger possibles sur d’autres systèmes physiques
Nest devices, WeMo switches, SmartThings devices...
19
IFTTT (2)
20
IFTTT (3)
21
Thingspeak
Service Thingspeak de récolte de données de senseurs
Application open source pour l’IoT et API d’analyse
22
DR et monitoring
Gérer système distant
Difficultés de gérer un système distant tombé en panne
Pas toujours accès physique possible, envoi d’une équipe couteux
SSH et redémarrage si système embarqué relié à Internet
Consultation de logs, redémarrage application/système complet
Deux approches de gestion à distance
Monitoring manuel à distance basé sur le web
Surveillance semi-automatique par watchdog Linux
24
Monitoring
Installation du service de monitoring à distance Linux Dash
https://github.com/afaqurk/ linux-dash
Déploiement très facile sur sa BBB sur un Apache
$ sudo apt -get install apache2 apache2 - utils$ sudo apt -get install php5 curl php5 -curl php5 -json$ sudo service apache2 restart$ cd /var/www$ sudo git clone https :// github .com/ afaqurk /linux -dash.git
Connexion au service de monitoring directement sur la BBB
https://xxx.xxx.xxx.xxx/ linux-dash
25
Watchdog Linux
Disponibilité de watchdog timers (WDT) sous Linux
Timer hardware qui reset le système automatiquement
Première écriture dans le watchdog l’active
Doit être ensuite régulièrement fourni sinon reset système
$ ls -l /dev/ watchdogcrw ------- 1 root root 10, 130 Mar 27 20:02 /dev/ watchdog
$ cat > /dev/ watchdogThis will reboot the BBB 50 seconds after I hit Return . Now!Even if I type really slowly on this line but don ’t hit Return
26
Watchdog en C (1)
Taper le chien ou dire bonjour, sinon redémarrage système
Comme dans les trains où le conducteur donne signe vie
1 # include < stdio .h>2 # include < fcntl .h>3 # include < linux / watchdog .h>45 # define WATCHDOG "/dev/ watchdog "67 int main () {8 int fd , interval = 30, state ;9 if (( fd = open (WATCHDOG , O_RDWR )) < 0) {
10 perror (" Watchdog : Failed to open watchdog device \n");11 return 1;12 }1314 if ( ioctl (fd , WDIOC_SETTIMEOUT , & interval ) != 0) {15 perror (" Watchdog : Failed to set the watchdog interval \n");16 return 1;17 }
27
Watchdog en C (2)
1 printf (" Press k to kick the dog , h to say hello and q to quit :\n");
2 do {3 state = getchar ();4 switch ( state ) {5 case ’k’:6 printf ("[kick !]\n");7 ioctl (fd , WDIOC_KEEPALIVE , NULL);8 break ;9 case ’h’:
10 printf ("[ hello ]\n");11 break ;12 }13 } while ( state != ’q’);1415 printf (" Closing down the application ...\n");16 close (fd);17 return 0;18 }
28
Mise à jour
Mise à jour d’un système embarqué distant risquée
Garantie de connexion durant toute la mise à jour
Faire face aux corruptions de données
Encore plus de risques pour mettre à jour Linux embarqué
Mise à jour partielle par coupure de connexion
Redémarrage pas possible hardware non reconnu
29
Réseau physique
Architecture
Plusieurs possibilités d’architecture pour l’IoT ou le CPS
Diffèrent en fonction des composants et du type de connexions
Combinaisons de BBBs et serveurs « classique »
Une BBB avec serveur web, afficher mesures de senseurs
Une BBB se connecte à un serveur distant, envoie mesures
Deux BBBs dans une relation client/serveur
Des BBBs avec senseurs appellent services web PaaS
31
Serveur web
La BBB héberge un serveur web en son sein
Des clients s’y connectent pour consulter les informations...
Nécessité d’être en permanence connectée à Internet
Exécution du serveur web consomme de l’énergie
32
Client
La BBB agit comme un client et se connecte à un serveur
Envoie des données au serveur lorsque disponibles
Ne se connecte à Internet que lorsque c’est nécessaire
Doit implémenter le protocole de communication avec le serveur
33
Interconnexion
Réseau de BBBs interconnectées entre elles
Échange d’informations au sein d’un réseau de senseurs
Connexions permanentes ou non, client/serveur ou P2P
Possibilité d’exécuter un algorithme distribué ou données
34
Service web
Connexions des BBBs à un serveur fournisseur de services
Le monde physique est connecté au cloud
BBB envoie données à un service web hébergé sur le PaaS
Un autre service sur le PaaS présente et analyse les données
35
Connexion
Nécessité d’avoir un système embarqué connecté pour l’IoT
Sans quoi ce dernier ne pourra communiquer avec le monde
Plusieurs types de connexion avec infrastructure existante
RFID et identification, PCL et accès domestique
Deux choix technologiques principaux pour la BBB
Connexion câblée Ethernet ou sans fil WiFi
36
Standard sans fil
Plusieurs standards sans fil existants sur le marché
Avec différentes caractéristiques de portée, puissance, débit...
Deux choix principaux pour connecter la BBB sans fil
Possibilité d’un module ZigBee sur UART sur la BBB
Adaptateur réseau WiFi sur dongle USB
Bluetooth Zigbee WiFi Custom
Standard IEEE 802.15.1 IEEE 802.15.4 IEEE 802.11 2.4GHz customPortée 10m à 100m ∼100m 10m à 100m 10m à 100mPuissance basse très basse haute très basseDébit <2.1Mb/s <250 kb/s 10 à 300Mb/s 250 kb/sTopologie Étoile Mesh/étoile Étoile ÉtoileOrganisation Bluetooth SIG ZigBee Alliance WiFi Alliance —
37
Dongle USB WiFi (1)
Branchement du dongle USB et chargement driver par kernel
Vérification du bon chargement par dmesg ou lsusb
Interface réseau pour le périphérique WiFi chargée également
Adresse physique MAC et autres statistiques avec ifconfig
$ lsusbBus 001 Device 002: ID 7392:7811 Edimax Technology Co., Ltd EW -7811 Un802.11 n Wireless Adapter [ Realtek RTL8188CUS ]Bus 001 Device 001: ID 1d6b :0002 Linux Foundation 2.0 root hub
$ ifconfig -a...wlan0 Link encap : Ethernet HWaddr 74: da :38:2 e:1f:bc
UP BROADCAST MULTICAST DYNAMIC MTU :1500 Metric :1RX packets :0 errors :0 dropped :0 overruns :0 frame :0TX packets :0 errors :0 dropped :0 overruns :0 carrier :0collisions :0 txqueuelen :1000RX bytes :0 (0.0 B) TX bytes :0 (0.0 B)
38
Dongle USB WiFi (2)
Configurer interface WiFi dans /etc/network/interfaces
Ajouter la ligne iface wlan0 inet dhcp
Configuration de base du réseau WiFi avec ifup
$ ifup wlan0Internet Systems Consortium DHCP Client 4.3.1Copyright 2004 -2014 Internet Systems Consortium .All rights reserved .For info , please visit https :// www.isc.org/ software /dhcp/
Listening on LPF/ wlan0 /74: da :38:2 e:1f:bcSending on LPF/ wlan0 /74: da :38:2 e:1f:bcSending on Socket / fallbackDHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 19No DHCPOFFERS received .No working leases in persistent database - sleeping .
39
Dongle USB WiFi (3)
Générer l’authentification par WPA
Ajouter la ligne iface wlan0 inet dhcp
Configuration de base du réseau WiFi avec ifup
$ ifup wlan0Internet Systems Consortium DHCP Client 4.3.1Copyright 2004 -2014 Internet Systems Consortium .All rights reserved .For info , please visit https :// www.isc.org/ software /dhcp/
Listening on LPF/ wlan0 /74: da :38:2 e:1f:bcSending on LPF/ wlan0 /74: da :38:2 e:1f:bcSending on Socket / fallbackDHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 19No DHCPOFFERS received .No working leases in persistent database - sleeping .
40
Rechercher un réseau
Rechercher un réseau sur lequel se connecter avec iwlist
Scan complet interface et caractéristiques des réseaux trouvés
$ iwlist wlan0 scanwlan0 Scan completed :
Cell 01 - Address : 30: D3 :2D:0A :62:88Channel :1Frequency :2.412 GHz ( Channel 1)Quality =38/70 Signal level = -72 dBmEncryption key:onESSID :" WiFi -2.4 - AE32"Bit Rates :1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/sBit Rates :24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/sMode: MasterExtra :tsf =00000556 f13fd214Extra : Last beacon : 944 ms ago
...
41
Livres de référence
ISBN978-1-848-21140-7
ISBN978-1-430-25740-0
ISBN978-1-118-93512-5
42
Crédits
Photos des livres depuis Amazonhttps://www.flickr.com/photos/madlabuk/7032244561https://www.flickr.com/photos/basicgov/4029724029https://www.flickr.com/photos/jennifer-stylls/8012538039
43
Recommended