3. 3Prototypage IoT
Différents types d'objets
● Objet simple type capteur
– Micro-contrôleur
– Logiciel « bare metal » ou OS léger type Contiki ou
RIOT
● Objets complexes
– CPU avec MMU
– OS Linux ou Android
Parrot flower power (µC) Eccelenza touch (Yocto)
4. 4Prototypage IoT
Distribution Linux
● Linux peut être utilisé sur les objets « complexes »
● La plupart des utilisateurs connaissent les distributions
– Ubuntu, Debian, Fedora, etc.
● Environnement connu, simple à aborder, idéal pour
débuter mais :
– Empreinte mémoire importante
– Temps de démarrage
– Reste un environnement de développement avant tout
– Faible traçabilité
– Multi-plateforme limité
– Bref, peu adapté à l'IoT
● Solution alternative → le « build system » !
5. 5Prototypage IoT
Outils de « build system »
● Outil de création de distribution
● Crée la distribution à partir des sources des
composants en utilisant un « moteur »
● L'outil ne fournit pas les sources mais les règles de
production et prend en compte les dépendances
● L'outil produit les différents éléments de la distribution
– Bootloader
– Noyau Linux
– Images du root-filesystem + applications intégrées
● Meilleure solution au niveau empreinte mémoire,
consommation, traçabilité, sécurité
6. 6Prototypage IoT
Les principaux outils disponibles
● Yocto/OpenEmbedded
– Moteur écrit en Python
– Très puissant mais lourd
– Basé sur des fichiers de configuration
● Buildroot
– Basé sur la commande « make »
– Au départ un démonstrateur pour uClibc
● OpenWrt
– Dérivé de BR
– Gère les paquets binaires
– Utilisé sur WeIO (IoT)
7. 7Prototypage IoT
Buildroot
● Initialement un démonstrateur de uClibc (Micro-C-libC)
● Une version officielle tous les 3 mois depuis 2009.02
● Outil de configuration graphique identique à celui du
noyau
● Léger, rapide, basé sur des fichiers Makefile
● Pas de système de paquets → « firmware Linux »
10. 10Prototypage IoT
Matériel libre
● Généralisation dans embarqué + IoT
● Approche similaire au logiciel libre
– Développement par communauté / fondation
– Schéma, BOM, etc. disponibles
– Dérivation du composant initial
● Utilisation chez des grands comptes
● Versions « pros » de certains produits (BBB Industrial)
● Exemples de communautés
– Beagleboard (ARM)
– Minnowboard (x86)
– Raspberry Pi foundation (pas entièrement libre !)
– WeIO (ARM)
14. 14Prototypage IoT
Conclusions
● Le logiciel/matériel libre est un excellent choix pour le
prototypage
● Par « dérivation » on peut l'utiliser sur un projet final
● Un OS comme TIZEN (Linux) est déjà utilisé sur de
nombreux projets (SAMSUNG)
● Les outils propriétaires utilisent souvent des API et des
outils non standards
● Les industries sensibles (aéronautique, spatial,
militaire, énergie) utilisent des standards (POSIX) et
des logiciels libres