1
Conférences de la journée Pierre Ficheux (Open Wide), Introduction to IoT, protocols and OS Cedric Adjih (Inria, RIOT team), présentation du système RIOT Greg Kroah-Hartman (Linux Foundation), This is how the Linux Kernel is developed Jean-Marie Verdun (Splitted Desktop) Open Hardware's dev tools ; RuggedPOD & DaaP DEJEUNER (12:30 14:00) Nils Christian Roscher-Nielsen (The Qt Company), Designing cross-platform software for IoT systems Arnaud Lefèvre (LVM Agency - "La Vie Moderne"), Intégration d'une démarche IoT chez des grands comptes, le point de vue d'une agence en objets connectés Jacques Lepine (SlowControl), Baby Gigl Jordan Mc Rae (Octo23), le projet Ultrascope Jérôme Molière (UCare), UCare-Watches, a lightweight open source IoT device for e-health 2
(IoT) Pierre FICHEUX (pierre.ficheux@openwide.fr) Mars 2015 3
Agenda Généralités, définitions Protocoles Systèmes d'exploitation Matériel Démonstration 4
Généralités 5
Une présentation de l'iot Internet se limite habituellement au monde virtuel Internet fonctionne dans un mode actif «se connecter à Internet» IoT (Internet Of Things) Extension d'internet à des objets et à des lieux du monde physique Échanges d'informations et de données provenant de dispositifs présents dans le monde réel vers/depuis le réseau Internet Certains parlent pompeusement de systèmes «cyber physiques» (CPS) «Cyber-physical systems (CPS) enable the physical world to merge with the virtual leading to an Internet of things, data, and services.» 6
Topologie IoT IoT = un système embarqué intégré à un système d'information étendu de type «cloud» «Convergence little data / big data» Embedded system! système d'information IHM «déportée» 7
Nouveau concept? L'IoT n'est pas un nouveau concept au sens technologique du terme mais n'est pas uniquement un «buzz» marketing Utilise des technologies éprouvées (IP, RTOS, ) mais adaptées aux objets matériels connectés (taille, consommation, ) Conséquence de la généralisation des systèmes embarqués + l'omniprésence de la technologie et de la communication auprès du grand public Nécessite les technologies d'intégration actuelle des réseaux (IPv6, «cloud»,...) Au niveau industriel, évolution du M2M (machine to machine) vers des protocoles standards unification des réseaux...et des risques... 8
Déjà en 1995 En 1995, le chercheur français Christian HUITEMA (à l'origine d'ipv6) évoque l'évolution vers l'iot «Il y a déjà des microprocesseurs, en fait de tout petits ordinateurs dans bien d autres endroits [...]. D ici quelques années, le développement et les progrès de l électronique aidant, ces microprocesseurs deviendront sans doute de vrais ordinateurs élaborés et il sera tout à fait raisonnable de les connecter à Internet.» 9
Évolution de l'intelligence du réseau Actif l'utilisateur (client) connecte sa machine au réseau Internet et accède à un serveur PPP (modem), TELNET (telnet), FTP (ftp) 70's 80's HTTP (Lynx, Mosaic) 90's Semi auto smartphone (utilisateur moins averti) Intègre et «simplifie» les protocoles précédents + DHCP, Wi-Fi,... Publie des informations automatiquement (position) IoT Auto IoT Autonomie de l'objet, fonction(s) dédiée(s) «zeroconf» (utilisé dans WeIO) L'intelligence du réseau compense la moindre intelligence (et puissance CPU) de l'objet 10
Problèmes et verrous De nombreux produits concernent uniquement des «geeks» pas d'effet de masse, pas de marché On reste dans le «gadget» Nabaztag (2005) Spectre de la «domotique» nouvelle chance? Contexte économique difficile pour le grand public Problème de l'uniformité et du design (montres, lunettes) alliance Google / Ray-Ban Problème légal et sécurité des données L article 34 de la loi informatique et libertés oblige l organisme responsable du traitement des données à en préserver la sécurité. «L utilisateur doit pouvoir contrôler si les puces communiquent ou pas, et avec qui» 11
Projection économique Entre 2010 et 2012, les objets connectés sont passés de 4 milliards à 15 milliards selon Idate 2 fois plus que la population mondiale! En 2020, ces objets électroniques seront : 30 milliards selon Gartner 80 milliards d après Idate L' Europe à la recherche de nouveaux marchés! L' Europe a «peu» profité du marché de l'internet/telecom malgré les innovations techniques Soutien de l'état plan «objets connectés» «On a raté les smartphones, on a raté les tablettes, j espère qu on ne ratera pas l» (Anne Lauvergeon) Il reste à trouver un modèle économique...ou à se faire acheter par Google (nest) 12
Classification des objets Automobile Électroménager Appareils de mesure (santé, environnement,...) Composants élémentaires (ampoule) Montre, lunettes, vêtement Industrie (automates PLC) Certains sont connectés depuis longtemps, la nouveauté est l'autonomie et l'intégration La santé est le 1er véritable marché «grand public» Économies Disponibilité du personnel HealthGO par edevice 13
Quelques exemples «grand public» 14
Les protocoles 15
Protocoles pour l'iot L'IoT utilise un certain nombre de protocoles Permet d'assurer l'inter-opérabilités de systèmes très différents Protocoles classiques Wi-Fi / Ethernet Bluetooth Protocoles dédiées ZigBee 6LowPan Thread Zwave NFC 16
ZigBee Protocole propriétaire de la «Zigbee Alliance» Basé sur la norme 802.15.4 Beaucoup de chips compatibles Chip radio seuls Micro-contrôleur + Radio Coût de la licence dans les chips Basse consommation Bande des 2,4GHz Ne s'est jamais vraiment imposé 17
ZigBee dans le modèle OSI 18
6LowPan IPv6 pour les objets connectés Norme IETF (RFC4944) Basé sur le 802.15.4 Compression des entêtes IPv6 Trames courtes (128 octets) Supporté par Linux, Contiki, RIOT, FreeRTOS Une Adresse IPv6 pour chaque nœud Routage de type Mesh possible 19
6LowPan dans le modèle OSI 20
Les systèmes d'exploitation 21
L'IoT, un réseau d'os L'IoT associe «little data» et «big data» (bis) Les OS interviennent à plusieurs niveaux Serveurs UNIX/Linux, Windows? Terminaux (IHM déportée) Android, ios, Linux, Windows L'objet lui-même La nécessité de l'os dépend de la complexité de l'objet La fonction de communication (réseau) nécessite le plus souvent un OS Le lien entre les OS est la standardisation des protocoles et des formats de données 22
Contraintes des OS pour «objets» Principaux critères Empreinte mémoire Consommation Stabilité Prise en compte du temps réel Coût! (des milliards d'objets...) Mais également Évolutivité Portabilité API standards (POSIX, Web) maintenabilité, personnel Ces critères correspondent à des «RTOS open source» :-) 23
Quelques OS «libres» pour l'iot RTOS adaptés FreeRTOS Lepton RTEMS OS dédiés TinyOS Contiki RIOT parfois assez éloignés des standards (C/POSIX) OS classiques adaptés GNU/Linux Android (wear) libre? 24
Contiki Système d'exploitation développé par le Swedish Institute of Computer Science (SICS, 2002) Open source, licence BSD Ultra léger Flexible Plate-forme d'émulation et de simulation Cooja Couche réseau uip et uipv6 Optimisé pour la consommation Chargement dynamique de modules Bien adapté aux capteurs (quelque dizaines de Ko) à partir des 8 bits (8051 datant de 1980!) Bonne documentation et nombreux exemples API de programmation «spécifique» (et quelques mots clé C interdits?) 25
RIOT Démarré en 2008 et maintenu par l'inria Licence GNU LGPL (et non GPL) Peut fonctionner avec 1,5 Ko de RAM! Temps réel Multi-threading complet Support C/C++ «standard» très proche de la programmation classique API POSIX CPU 16 et 32 bits Présenté par ses concepteurs comme le «Linux de l'iot» 26
GNU/Linux Fonctionne uniquement sur 32 bits Fonctionnement sans MMU possible µclinux Très large communauté Extensions temps réel disponibles Empreinte mémoire importante plusieurs Mo Pas d'optimisation de la consommation d'énergie Toutes les API possibles sont disponibles Excellent connectivité réseau Fonctionne sur la plupart des SoC Excellents outils de construction de distribution (Yocto/OE, Buildroot) «build systems» Réservé aux objets «complexes»! 27
Android Basé sur un noyau Linux modifié par Google pour optimiser entre autres - la consommation Partiellement open source car contrôlé par Google développement non communautaire Certains composants importants sont propriétaires...et coûteux (market) Empreinte mémoire importante, largement supérieure à celle de GNU/Linux (plusieurs centaines de Mo) IHM «obligatoire» Existe déjà sur certains objets (montres,...) Version spécifique «wear» pour les objets plus légers (montres, lunettes) Le téléphone est aujourd'hui au centre de l'iot 28
Hello Android wear! 29
Le matériel 30
IoT et smartphone L'IoT est pour l'instant lié à l'explosion du smartphone Plus de 50% dans les pays industrialisés Globalement 2 milliards de smartphones en 2015 A ce jour le marché naissant de l'iot est lié à celui du smartphone et dérivés (tablettes, liseuses, ) Le smartphone est l'interface privilégiée de l'objet connecté L'objet lui même est lié à la disponibilité de matériel et logiciel «bon marché» effet de masse 31
(R)évolution du matériel Évolution du x86 vers ARM Création d'un marché autour des «hobbyistes» en électronique Arduino, Raspberry Pi & friends Adafruit, Snootlab & friends Les professionnels utilisent parfois ces plate-formes ou du moins profitent de la baisse des coûts Développement et conception simplifiés généralisation de l' open hardware (partiel mais pragmatique) utilisation de modules CPU nouveaux langages (HTML5, Python) Nouveaux canaux de distribution et plate-formes de financement (kickstarter,...) 32
Versatile PB and sons! < 20 < 15 < 30! < 25 33
Cependant... Certaines plate-formes génériques permettent de créer une «maquette» mais difficilement la version définitive on reste dans le mode «hobby»! La connectivité nécessaire n'est pas toujours disponible Wi-Fi BT Capteurs divers Un créateur d'objet n'est PAS un développeur logiciel et encore moins un intégrateur système «fusion» art / design / technologie Quelques plates-forme dédiées sont - juste- disponibles WeIO (démo?) «Un objet connecté doit être aussi simple à programmer qu'un site web» (WeIO team) 34
Module WeIO 35
Conclusions L'IoT est aujourd'hui au début de son histoire (les micros ordinateurs en 1970/80) De nombreux problèmes restent à résoudre Modèle économique Législation Sécurité L'oT ne peut que favoriser le marché de l'embarqué :-) 36
Bibliographie http://www.internet-of-things-research.eu/about_iot.htm http://www.entreprises.gouv.fr/politique-et-enjeux/nouvelle-france-industrielle/objets-connectes http://www.idate.org http://www.frandroid.com/actualites-generales/209531_5-choses-devez-savoir-les-google-glass http://www.stuffi.fr/categorie/domotique http://www.edevice.com/products/healthgo-plus http://www.huffingtonpost.fr/2014/03/25/google-glass-ray-ban-lunettes-connectees_n_5025752.html https://github.com/owf/slides-2013/tree/master/code/internet-of-things https://sen.se/store/mother http://article.wn.com/view/2014/01/30/techtopia_mother_20_here_comes_the_internet_of_things/ http://www.toshiba-components.com/flashair «Et Dieu créa l'internet» par Christian HUITEMA (Eyrolles, 1995) http://www.withings.com/fr/solutions/weight-management.html http://www.kolibree.com/fr/product/ http://www.chacon.be/ http://www.toshiba-components.com/flashair http://www.we-io.net/ http://www.contiki-os.org/start.html http://contiki-os.blogspot.fr/2014/02/thingsquares-contiki-iot-workshop.html http://www.inria.fr/centre/saclay/actualites/riot-un-os-open-source-pour-l-internet-des-objets http://www.android.com/wear 37