Découverte d'Arduino
Ce mercredi 26 avril, 18h15, RDV était donné à Cobalt, le nouvel espace de Co-Work à Poitiers pour une découverte de ce qu'est un Arduino.
A l'initiative d'Andy, cette présentation faite par Anthony accompagné de Mickaël, nous a permis de découvrir les possibilités de cette petite carte électronique et de découvrir son usage dans l'IoT.
La démo nous a été faite par HL2Group qui est une startup poitevine de l'IoT.
IoT est l'internet des objets. C'est le domaine qui monte en ce moment. Cela permet de connecter n'importe quel objet et de récupérer les données pour les analyser.
HL2Group developpe ses propres firmwares (ils ont d'ailleur un encart dans le Canard PC d'Avril-Mai) !
Mais c'est quoi un Arduino ?
En résumé, c'est un matériel open source visant à simplifier le prototypage !Voici le contenu d'un kit basic pour commancé, dispo sur le site officiel d'Arduino :
Avec ce Kit, vous serez en mesure de "jouer" avec 15 projets décrits dans les docs fournis, à savoir :
- 01
GET TO KNOW YOUR TOOLS
: une intro aux bases du dev Arduino - 02
SPACESHIP INTERFACE
: construisez une interface de controle pour un vaisseau spacial - 03
LOVE-O-METER
: Mesurez votre niveau d'amour - 04
COLOR MIXING LAMP
: produisez n'importe quelle couleur avec une lampe qui utilise la lumière comme source d'entrée - 05
MOOD CUE
: Afficher vos émotions - 06
LIGHT THEREMIN
: créer un instrument qui joue de la musique en fonction de vos mouvements de mains - 07
KEYBOARD INSTRUMENT
: jouez de la musique et faite du bruit avec ce clavier - 08
DIGITAL HOURGLASS
: une alarme lumineuse qui vous dira quand faire une pause - 09
MOTORIZED PINWHEEL
: une roue colorée qui vous fera tourner la tête - 10
ZOETROPE
: créez une animation mécanique qui peut avancer ou reculer - 11
CRYSTAL BALL
: une application qui répondra à vos questions les plus mystiques - 12
KNOCK LOCK
: entrez le code secret pour dévérouiller une porte - 13
TOUCHY-FEEL LAMP
: une lampe qui répond à votre touché - 14
TWEAK THE ARDUINO LOGO
: controllez votre ordinateur personnel avec votre Arduino - 15
HACKING BUTTONS
: créer un bouton magique pour toutes vos machines
Enfin bref, malgré la traduction approximative, vous voyez qu'avec un kit basic vous pouvez vous amuser ! (source arduino.cc)
Découverte
Pour débuter nous avons vu ce qu'était une carte arduino, on en trouve partout pour des prix défiants toute concurrence :
- ici par exemple avec un kit de démarrage complet
- ici avec toutes les configuration possible
- ici également avec un kit funduino (qui est un dérivé de l'arduino)
Nous avons découvert une funduino :
Elle coute aux alentoure de 8€ et dispose des caractéristiques suivantes :
- Atmega16U2 instead 8U2.
- Le coeur du système, un microcontrolleur ATmega328
- 14 pin d'I/O digitales (dont 6 pour les sorties)
- 6 pin pour les entrées analogiques
- 32 Ko de mémoire flash (dont 0.5 Ko utilisé par le bootloader)
- 2 Ko de SRAM
- 1 Ko d'EEPROM
- Vitesse d'horloge de 16MHz
A noter qu'il est possible d'ajouter des cartes filles pour aller encore plus loin dans le developpement !
L'environnement de developpement
Ceux qui connaissent ce genre de produit se doutent qu'il arrive avec un langage particulier. Ici on parle de C++. Un langage plutôt simple d'accès, surtout qu'il existe plusieurs cours OpenClassRooms sur ce sujet :
L'IDE disponible sur le site officiel est plutôt simple d'usage, il permet de gérer l'arduino et ses clones ultra simplement, on branche en usb, on code, on valide et on envoi sur le microcontroleur ! Rien de plus simple !
C'est ce que vous aurez au premier lancement de l'ide !
rien de bien méchant, une 'zone' de configuration (setup)et une 'zone' de code (loop).
Pour parfaire le tableau, l'ide apporte un lots impressionnants de code prêt à l'emploi :
Ici c'est un des exemples préparé qui fait clignoter une led présente sur la carte électronique !
Si on lance la compilation de cet exemple on obtient cela :
Le croquis utilise 928 octets (2%) de l'espace de stockage de programmes. Le maximum est de 32256 octets. Les variables globales utilisent 9 octets (0%) de mémoire dynamique, ce qui laisse 2039 octets pour les variables locales. Le maximum est de 2048 octets.
Le programme est ainsi près à être déposé sur le microcontrolleur !
A noter qu'il exite de nombreuses bibliothèque de composants logiciels déjà existant :
Je vous laisse découvrir les innombrables possibilités de ce nouveau "jouet" qui risque d'attérir rapidement chez moi :)
Arduino en résumé
On à une idée, on souhaite la prototyper à moindre cout, on achète un kit de démarrage pour 20€, on se met sur openclassrooms pour apprendre la logique de developpement, on code en C++ sur l'Arduino en passant par un éditeur et on a fait le job !
Génial !
HL2Group
Je ne peux pas terminer sans parler de nos intervenants qui ont pris sur leur temps pour venir faire cette démo. Ils proposent via leur start-up un 'kit' complet fonctionnant sur n'importe quel réseau opérateur IoT de récupérer des données de toutes sortes. Il suffit de connecter des capteurs sur l'Arduino embarqué et le tour est joué, pas mal non ?
Ils partent d'un principe tout bête, mais il fallait y penser : s'affranchir des opérateurs (qui vont devenir de plus en plus nombreux) et permettre à l'utilisateur via une interface super didactique de récupérer les données et de faire des scénarii comme par exemple : remonter la température de l'eau d'un bassin et recevoir une alerte sur son téléphone !
Peut importe l'opérateur, HL2 s'occupe de tout !
Simple comme bonjour, l'interface Panorama HL2 permet de récupérer ses données peut importe l'opérateur !
Ce n'est pas sans me rappeler la plateforme IoT OVH qui permettait à l'aide d'un boitier intégrant un capteur d'humidité, un acceleromètre et un bouton de récupérer des données. Seule différence de taille, le réseau opérateur est limité à SigFox.
Cette expérience menée il y a quelques temps par OVH s'est tranformé en une plateforme de stockage des données issues des appareils IoT.
Nos amis de HL2 vont donc plus loin en permettant à l'utilisateur de ne s'occuper que de gérer ses données hébergé sur les serveurs d'HL2 (via une API rest) et même de gérer des micro-cellules. Ils sont sur le point de publier une campagne Kickstarter !
Je vous laisse avec une petite démo présente sur leur site :
C'est clairement une solution très pertinente car tous les opérateurs vont s'engoufrer dans cet IoT et il sera difficile de s'y retrouver, avec la solution d'HL2, il n'y a plus de questions à se poser, si ce n'est : quelle problème cela va-t-il me résoudre :)
Voilà, vous savez tout !
A+
Tony B.