Conrad 10217 Operation Manual [fr]

Page 1
1435475-an-01-fr-Calendrier de l’Avent Avant de commencer...
... quelques informations importantes pour un travail fructueux et sans stress avec le calendrier. Ce manuel est complémentaire au site Internet www.iot.fkainka.de, sur lequel vous trouverez également le logiciel nécessaire. Le manuel donne un premier aperçu de chaque expérience. Comme l’Internet des Choses est un sujet complexe, vous trouverez sur ce site des informations complémentaires pour vous aider à réussir vos expériences.
La page offre une fonction de commentaire. Si vous rencontrez des difficultés sur un projet, vous pouvez interroger la communauté. Vous pouvez également écrire des commentaires sur chaque article, poser des questions, proposer des améliorations ou aider d’autres personnes.
Un autre avantage du site Web est le facteur de surprise. Le charme d’un calendrier de l’Avent réside dans la découverte ce qui se cache derrière chaque porte. Avec un manuel, vous pouvez
anticiper la lecture de la page des jours suivants.... Sur la page Web, seul le chapitre
correspondant à la date du jour s’affiche. C’est pourquoi je vous conseille de ne plus utiliser ce
manuel après avoir lu le paragraphe correspondant au jour 1. Allez plutôt sur le site www.iot.fkainka.de et insérez un marque-page dans le navigateur. Ensuite, vous pourrez lire chaque jour le chapitre correspondant à l’expérience du jour, où que vous soyez, et passer ensuite à la réalisation concrète du projet.
Gardez le livret à la main si vous préférez un support papier. Avoir un appareil numérique dans
les mains peut être gênant lorsqu’on veut avoir un premier aperçu de l’expérience du jour. Cependant, une visite du site s’impose pour télécharger le programme correspondant. Vous le trouverez sous l’onglet « Le programme ».
Je vous souhaite beaucoup de plaisir avec votre calendrier de l’Avent !
Fabian Kainka
Jour 1 : La carte NanoESP
Nous sommes le 1er décembre et le moment est venu d’ouvrir la première porte. Derrière cette porte se trouve l’élément le plus important du calendrier : la carte NanoESP. Ce contrôleur
compatible Arduino avec fonction WiFi est au cœur des 24 expériences.
Pour résumer, on peut dire que la carte est plutôt un croisement entre une carte similaire à Arduino-Nano et un module WiFi appelé ESP8266. La communication entre les deux éléments a lieu par une interface sérielle générée par le logiciel qui est connectée aux broches D11 et D12. Evitez donc d’utiliser ces broches dans vos propres projets.
Pour pouvoir programmer votre carte, vous devez d’abord installer le pilote ; celui-ci est disponible sur la page http://iot.fkainka.de/driver. Il existe des versions pour différents
Page 2
systèmes d’exploitation. Dans la version pour Windows, le dossier ZIP contient un fichier Setup.exe que vous devez exécuter. Dans la fenêtre qui apparaît, cliquez sur « Install ».
Après l’installation, il est possible de connecter la carte pour la première fois à l’ordinateur. Le PC détecte automatiquement le pilote, et les deux LED d’alimentation (D6 et D2) s’allument. La troisième LED (D3) clignote d’abord. Si les LED s’allument, mais que le PC ne reconnaît pas le
nouveau matériel, vérifiez que vous utilisez un câble de données USB. Certains câbles permettent de charger des Smartphones par exemple, mais ne permettent pas la transmission de données. Vérifiez dans le gestionnaire de périphériques que l’appareil a été correctement détecté et installé.
Le pilote est maintenant installé, et la troisième LED doit cesser de clignoter et rester allumée en permanence. C’est le signe que l’initialisation de la carte a réussi. Vous pouvez dès lors accéder à un nouveau réseau WiFi. Ce réseau WiFi s’appelle NanoESP. Pour l’exercice pratique
d’aujourd'hui, connectez-vous à ce réseau. Quand le PC vous demande de choisir le type de connexion, choisissez l’option « Réseau domestique ». Ainsi, la communication avec d’autres
appareils ne sera pas bloquée. Une fois que vous êtes raccordé au réseau WiFi, ouvrez un navigateur de votre choix et entrez 192.168.4.1 dans la barre d’adresse. Il s’agit de l’adresse IP de votre carte. La page que vous voyez est une petite page Web qui est envoyée par la carte vers
votre PC. C’est un Easter Egg, donc une fonction cachée. La première tentative est un test de
fonctionnement ; elle donne en même temps un aperçu de l’utilisation possible de la carte en tant que serveur Web. Mais nous y reviendrons plus tard.
Jour 2 : L’IDE Arduino
La porte cache une matrice. Il est possible d’y assembler rapidement et facilement le matériel de logiciel du calendrier de l’Avent. Jusqu'à présent, vous disposez uniquement du NanoESP. Placez
le contrôleur de manière à laisser une place suffisante pour les autres composants à venir (le module WiFi peut dépasser de la carte). Placez le câble micro-USB entre les côtés de contact, de manière à ce qu’il ne gêne pas. La carte doit être enfoncée doucement dans les contacts jusqu'à la butée.
Aujourd’hui, nous allons évoquer le logiciel permettant de programmer la carte. Il s’agit de l’environnement de développement Arduino (abrégé IDE Arduino). La dernière version peut être
téléchargée sur http://www.arduino.cc/en/Main/software, puis installée. Utilisez la version Arduino 1.6.5 ou une version ultérieure.
La programmation se fait simplement avec C/C++. Vous pouvez maintenant ouvrir un premier programme d’exemple dans l’IDE en cliquant sur Données > Exemples > 01.Basics > Blink. La LED L3 clignote (une fois par seconde). Pour pouvoir exécuter le programme sur le NanoESP, vous devez tout d’abord de le transférer sur la carte via l’interface USB. Sélectionnez auparavant la bonne carte et le port de communication correct (COM) dans le logiciel :
1. Dans Tools > Board, sélectionnez « Arduino Nano ».
2. Dans Tools > Processor, sélectionnez « ATmega328 ».
3. Dans Tools > Serail Port, sélectionnez le port COM approprié. Cliquez ensuite sur le bouton Upload. Le programme est maintenant compilé et transféré sur la NanoESP. Vous pouvez suivre la progression dans la barre située en bas. Pendant le téléchargement, les deux LED du milieu (TX1 et RX1) clignotent. Si le transfert a réussi, la LED
Page 3
D3 commence à clignoter sur la carte (une fois par seconde). Vous avez ainsi téléchargé votre premier programme Arduino avec succès.
Il s’agissait jusqu’ici d’un test permettant de voir si la carte fonctionne correctement. La partie
IoT de l’expérience d’aujourd'hui commence maintenant. Téléchargez d’abord la bibliothèque, qui facilite grandement la manipulation de la carte. La dernière version est disponible sur
http://iot.fkainka.de/library. Ajoutez ce fichier ZIP dans Arduino, en les associant
Dans Sketch > ajouter Bibliothèque > ajouter bibliothèque ZIP. Il peut être nécessaire de
redémarrer l’IDE Arduino, en ouvrant le programme-exemple sous
Fichier > Exemples > NanoESP > Basics > Wifi_Scanner. Téléchargez ce programme. Ensuite, allumez le moniteur série et réglez le débit en bauds sur 19200. Après un court instant, des informations sur le micrologiciel s’affichent, ainsi que la liste de tous les réseaux WiFi à portée de votre carte NanoESP.
Jour 3 : Le NanoESP en mode Access-Point
La troisième porte cache l’élément qui sera le fil conducteur de nombreuses expériences. En guise de préparation pour les futures expériences, vous pouvez poser les câbles d’alimentation
GND et VCC sur les bandes extérieures. Ainsi, vous aurez plus tard un meilleur accès à ces câbles.
Le projet d’aujourd’hui vous permettra d’effectuer des modifications dans un programme. Le
programme-exemple suivant sert de base :
Fichier > Exemples > NanoESP > Basics > AccessPoint
Après avoir téléchargé ce programme, vous ne constaterez d’abord aucune modification. Une
connexion WiFi ouverte avec le nom NanoESP est accessible. Si vous modifiez la ligne 16 dans le programme avec la commande configWifi, les paramètres du point d’accès changent également. Vous pouvez remplacer le « NanoESP » entre guillemets par un autre nom de WiFi ou même choisir un mot de passe pour le réseau en ajustant le dernier paramètre de la fonction. Le mot de passe doit comporter au moins huit caractères, par exemple :
nanoesp.configWifi(ACCESSPOINT, « MyNanoESP », « Mot de passe ») ;
Vous devez alors télécharger à nouveau le programme. Si la configuration a été effectuée avec
succès, la LED D3 clignote. Si une erreur est survenue, la LED ne s’allume pas ; vérifiez alors les paramètres. Il n’a jamais été aussi facile de créer sa propre connexion WiFi.
Jour 4 : Etablir une connexion à Internet
La porte d’aujourd’hui cache une résistance de 1 kOhm. On n’en a pas besoin aujourd’hui mais on l’utilisera demain. Dans l’expérience du jour, nous allons créer une première connexion à
votre réseau WiFi domestique. Pour ce faire, vous devez saisir vos données de connexion WiFi dans le programme.
Téléchargez d’abord le programme du jour depuis le site Web www.iot.fkainka.de. Si vous avez ouvert le programme dans l’IDE Arduino, vous voyez dès le début deux DEFINES. À ce stade,
entrez le nom de votre réseau WiFi et le mot de passe avant de télécharger le programme. Dans le
moniteur de série, vous pouvez vérifier l’état de la connexion WiFi. Normalement, l’indication «
Page 4
WLAN Connected » s’affiche et la LED D3 s’allume. En cas de problème, consultez l’aide sur la page Web.
Une fois la connexion établie, d’autres messages s’affichent sur le moniteur de série. L’adresse IP de la carte apparaît d’abord. Elle a été transmise au NanoESP par le routeur, il s’agit de l’adresse
du routeur dans le réseau local. Puis la carte se connecte à un serveur sur Internet, pour vérifier
qu’elle y est bien connectée. Dans ce cas, un message apparaît sur le moniteur sériel et le temps de réponse (en millisecondes) écoulé entre l’envoi du ping et la réception de la réponse s’affiche.
La connexion à Internet est maintenant disponible.
Jour 5 : Blynk
Vous avez déjà établi une première connexion de la carte à Internet. Dans les prochains jours,
cette connexion sera beaucoup utilisée. Aujourd’hui, nous nous occupons de la plate-forme en ligne Blynk qui permet d’échanger de brèves commandes, des données de mesure ou des
messages entre votre Smartphone et la carte NanoESP.
Blynk permet de commander facilement les différentes cartes IoT comme la Raspberry Pi ou
notre NanoESP via une application. Vous pouvez établir l’interface graphique de manière
complètement indépendante et la programmation est elle aussi très facile. La carte peut être
commandée depuis n’importe quel endroit dans le monde. Tout à fait dans l’esprit de l’Internet
des choses.
Pour votre première tentative, vous avez besoin de la LED située derrière la porte d’aujourd’hui
et de la résistance d’hier. Il s’agit d’allumer la LED via un Smartphone ou une tablette. Construisez le circuit représenté sur le schéma ci-dessous. Respectez la polarité de la LED (pattes courtes à la terre).
Installez ensuite la bibliothèque Blynk. Une version adaptée à l’expérience du jour est disponible sur http://iot.fkainka.de/day5-2016).
L’installation de cette bibliothèque est relativement complexe dans la mesure où le dossier ZIP
contient plusieurs fichiers bibliothèque. Il faudra donc l’installer manuellement : ouvrez le dossier Sketch (si vous ne savez pas où il se trouve, regardez dans Fichier > Préréglages).
Le dossier Sketch contient un dossier appelé « Bibliothèques ». Copiez le dossier contenu dans le
fichier ZIP. Il s’agit des étapes effectuées par l’IDE Arduino le deuxième jour, lors de l’installation de la bibliothèque NanoESP. C’est pourquoi le dossier Bibliothèques comprend
Page 5
également un sous-dossier appelé NanoESP. Les dossiers provenant de l’archive téléchargée doivent figurer également à cet emplacement.
Blynk est maintenant intégré à votre IDE Arduino (quoi qu’il en soit, vous avez toujours l’application correspondante sur votre Smartphone). Pour effectuer une modification, téléchargez l’application depuis l’App Store correspondant à votre système d’exploitation, ou allez sur
http://www.blynk.cc/getting-started/ et suivez le lien. La LED doit être raccordée en D9.
Ouvrez l’application. Les deux options « Login » et « Create New Account » s’affichent. Créez un nouveau compte ; il vous suffit d’indiquer une adresse mail et un mot de passe, puis de vous connecter.
Une fonction de l’application vous permet de visualiser sur votre Smartphone l’interface d’aujourd’hui. Effleurez le symbole placé entre le i et le plus, en haut à droite. Un scanner de code QR s’ouvre ; scannez le code ci-dessous, l’interface s’affiche sur votre appareil.
Effleurez ensuite le symbole hexagonal en haut à droite et notez le code figurant sous AUTH TOKEN, ou envoyez-le par mail à votre adresse mail. Ce code fait partie du programme Arduino.
Le programme Arduino d’aujourd’hui doit d’abord être téléchargé depuis le site
www.iot.fkainka.de et ouvert dans l’IDE Arduino. Comme hier, vous devez ensuite saisir les
données WiFi dans « SSID » et « PASSWORD », puis le code mentionné plus haut dans le champ « token ». Il est alors possible de charger le programme sur le NanoESP. Effectuez quelques essais dans le moniteur sériel pour vérifier que la connexion est établie.
Reprenez ensuite la tablette ou le Smartphone. Ouvrez l’interface en effleurant le bouton Play en haut à droite. Appuyez sur le bouton situé au milieu de l’interface pour allumer la LED de la platine. La LED s’allume à chaque fois que l’on appuie sur ce bouton. Vous pouvez modifier le type de bouton en mettant fin au programme à l’aide du bouton Stop et en appuyant brièvement
sur le bouton. Modifiez le type de bouton (de Push à Switch) puis appuyez à nouveau sur Play dans la vue interface. Il suffit alors d’un simple effleurement pour que la LED s’allume en continu.
Jour 6 : le bouton Hardware
Jusqu’ici, nous avons appris comment commander la LED via l’application Blynk. Nous allons voir aujourd’hui que la commande fonctionne dans les deux sens. Pour cela, nous avons besoin
du bouton-poussoir caché derrière la porte du sixième jour. Installez-le dans le circuit (en D7). Scannez le code ci-dessous pour visualiser l’interface d’aujourd’hui :
Page 6
Dans l’application Blynk, il n’est pas possible d’utiliser simultanément des projets très
volumineux ou un grand nombre de petits projets. Ainsi, il vous faudra effacer les anciens projets dès le huitième jour. Vous pourrez cependant sauvegarder votre projet en créant un code QR et en
l’enregistrant.
Le programme d’aujourd’hui est toujours disponible sur le site Internet. Vous devez saisir à
nouveau les données WiFi et le code AUTH TOKEN du projet dans le programme. Chaque projet a son propre code Token, c’est pourquoi il est indispensable de renvoyer le code ou de le saisir manuellement dans le programme. Après avoir lancé l’interface à l’aide du bouton Play, effleurez le bouton pour allumer la LED sur la platine. Si vous manipulez le bouton sur la platine,
vous constaterez une modification dans l’application. La connexion fonctionne donc dans les
deux sens.
Jour 7 : Analog Write
La porte d’aujourd’hui cache un potentiomètre. Il permet de transférer des mesures analogiques à l’application Blynk. Le potentiomètre utilise la ligne du bas pour le raccordement en A0.
Si le câble micro-USB gêne l’installation, débranchez-le de la platine puis aplatissez le plus possible les fils de liaison. Vérifiez que le VCC n’est pas sur la partie réservée au raccordement
avec la broche A0.
L’interface Blynk peut être importée comme les jours précédents à l’aide du code QR ci-dessous. Le programme figure sur le site Internet. N’oubliez pas de saisir le nouveau code Token et les
données WiFi avant de télécharger le programme sur la carte NanoESP.
Les données de mesure sont reçues toutes les secondes et affichées sous forme de graphiques. Tournez le potentiomètre pour modifier les valeurs de mesure. La valeur maximale est de 1023. En effet, le NanoESP lit la tension avec une résolution de 10 bits. Les données sont affichées sur une plage de tension comprise entre 0 et +5 V. Le potentiomètre sert ici de répartiteur de tension, il permet de régler la tension entre 0 et 5 V sur la broche du milieu.
Jour 8 : LED virtuelles
Page 7
Nous avons vu au sixième jour comment configurer un bouton-poussoir à l’aide d’un bouton dans l’application. Cependant, le widget LED est mieux adapté dans ce cas. L’expérience d’aujourd’hui vous permettra d’apprendre à l’utiliser et de découvrir ses possibilités.
La porte d’aujourd’hui cache une nouvelle résistance 1 kOhm, qui sera utilisée pour des expériences ultérieures. Le circuit d’hier comportera un bouton de plus.
Scannez le code QR pour insérer l’interface.
Il est possible que l’application Blynk vous indique que l’énergie est insuffisante. Comme indiqué au jour 6, il suffit de supprimer des anciens projets pour résoudre ce problème.
Le programme du jour est disponible sur la page Internet. Saisissez les données WiFi et le code Token puis téléchargez le programme. Le programme réunit plusieurs acteurs matériels et logiciels ainsi que des boutons. Appuyez par exemple sur le premier bouton de l’application, la LED en D9 s’allume. Le deuxième bouton
permet d’allumer la LED D3. Le bouton sur la carte modifie l’état de la première LED de l’application. Le potentiomètre permet de modifier la luminosité de la deuxième LED. Il existe
donc de nombreuses possibilités de commande pour de nombreux éléments différents.
Jour 9 : Luminosité de la LED réelle
La porte d’aujourd’hui cache une nouvelle résistance 1 kOhm. Le montage ne doit pas être modifié aujourd’hui, il suffira d’effectuer une légère modification sur l’interface.
Il n’est pas indispensable de télécharger à nouveau le programme, il suffit d’adapter l’interface d’hier. Si vous souhaitez cependant charger une nouvelle fois l’application, utilisez le code QR
ci-dessous. Dans tous les cas, il est nécessaire de saisir le code Token dans votre programme.
Pour effectuer les modifications manuellement, commencez d’abord par effacer le bouton qui
servait pour la LED en D9. Pour cela, effleurez brièvement le bouton (avec l’interface fermée),
puis le point « delete ». L’énergie « recyclée » s’affiche. Insérez un curseur à la place du bouton : effleurez le Plus en haut à droite et sélectionnez « Slider_L ». Le curseur apparaît. Effleurez l’élément pour accéder aux réglages. Réglez «Digital D9 » sur « Output ». Vérifiez que la mention « PWM3 figure en rouge derrière « D9 ». Une fois ces modifications effectuées, vous pouvez démarrer l’interface à l’aide du bouton Play en haut à droite.
Page 8
Ce qui était possible uniquement avec la LED virtuelle devient possible avec les objets réels. Tout changement de la position du curseur modifie la luminosité de la LED en D9. Ainsi, vous
pouvez par exemple créer une lampe de salon, gérée via l’application. Le terme à retenir ici est PWM (modulation de largeur d’impulsion). En effet, il n’est pas facile de faire varier une LED
avec une tension faible, contrairement à une lampe à incandescence. Le processus est plus complexe et requiert une mise en marche et une coupure rapide du port. Les durées de mise en
marche et d’arrêt varient de sorte que l’on a l’impression que les LED sont plus claires ou plus
foncées. Plus la durée de mise en marche est longue par rapport au temps d’arrêt, plus la LED semble claire. Le clignotement de la LED est imperceptible à cause de la vitesse de commutation élevée du port. Ce procédé permet également de générer des signaux audio ou de commander des moteurs.
Jour 10 : Mélange de couleurs
La porte d’aujourd’hui cache une LED RVG (rouge-vert-bleu), qui permettra d’utiliser les résistances 1 kOhm. Cette LED est en réalité composée de 3 LED raccordées à une cathode commune. En variant la luminosité des LED individuellement par PWM, il est possible de générer presque toutes les couleurs imaginables.
Installez la LED RVB sur la platine. Veillez à insérer les pattes plus longues (la cathode) dans la bande de contact GND.
Aujourd’hui, il faudra utiliser un nouvel élément dans l’application Blynk : l’élément ZeRGba (contraction de Zebra et RGB). Vous pouvez ajouter l’élément à votre propre projet et régler les broches manuellement (rouge sur D3, vert sur D5 et bleu sur D3), ou télécharger comme
d’habitude l’interface via le code QR. Dans tous les cas, n’oubliez pas s’insérer le nouveau code Token dans le programme, après l’avoir téléchargé comme d’habitude depuis la page web.
Une fois le programme téléchargé avec vos données et l’interface ouverte, il est possible de
déplacer le cercle dans le widget ZeRGBa. La couleur du cercle change, ainsi que le couleur de la LED RVG sur la carte. Vous pouvez vous amuser à essayer toutes les couleurs. Pour obtenir du blanc, déplacez le cercle en haut à gauche dans le coin. Les trois chiffres en haut correspondent à
la valeur PWM des broches D3, D5 et D6. Il est possible là encore de l’utiliser pour une lampe de salon avec lumière d’ambiance, qui pourra être commandée via l’application.
Jour 11 : Lumière diurne et nocturne
La porte de ce onzième jour cache une résistance 10 kOhm, que nous n’utiliserons pas aujourd’hui. Nous allons réutiliser le circuit construit hier. Le projet du jour permet de construire
une lampe jour-nuit, dont la couleur change à certaines heures déterminées. Elle peut par exemple diffuser une lumière claire pendant la journée et une lumière rouge sombre la nuit pour servir
d’éclairage d’urgence ou faciliter l’orientation dans l’obscurité.
Téléchargez d’abord l’interface Blynk grâce au code QR ci-dessous, puis téléchargez, modifiez et
chargez le programme du jour sur le contrôleur.
Page 9
Deux éléments ZeRGBa apparaissent sur l’interface Blynk, avec les indications « DayLight » et « NightLight ». Les boutons externes permettent de passer du mode jour au mode nuit, et la couleur correspondante de l’élément ZeRGBa s’affiche. Le passage du mode jour au mode nuit peut également être automatisé. Pour cela, effleurez l’un des deux éléments de minuteur situés directement sous les éléments de choix de la couleur. Lorsque l’interface est éteinte, vous pouvez choisir un délai au bout duquel le changement de mode doit avoir lieu. Adaptez l’horaire de mise en marche. Effectuez la même démarche avec l’autre élément de minuteur. Le changement de mode se fait à l’heure choisie : la LED passe de la couleur « jour » à la couleur « nuit » ou vice­versa, à condition que l’application ne soit pas ouverte aux horaires programmés. Le serveur Blynk règle le changement de mode automatiquement.
Jour 12 : Moniteur lumineux
La porte d’aujourd’hui cache un phototransistor. Il s’agit d’un capteur de mesure de la luminosité. Le projet du jour permet de réaliser cette mesure et d’installer une alarme en cas de dépassement des valeurs limites déterminées au préalable via l’application. Pour cela, raccordez le capteur à la broche A0 avec un circuit de division de tension. Respectez la polarité du phototransistor (les pattes plus courtes sur VCC). En cas d’inversion de polarité, le système fonctionne quand même, mais est moins sensible.
L’interface Blynk est maintenant complète. De nombreuses fonctions différentes sont prises en charge par des widgets. L’un de ces widgets, symbolisé par l’oiseau Twitter, permet de connecter votre projet à votre compte Twitter. C’est un des moyens permettant de recevoir des messages
d’avertissement.
Aujourd’hui, vous devez également intervenir sur le programme Arduino. En plus des données WiFi et du code Token, vous pouvez saisir une adresse mail. Il s’agit de la deuxième solution pour recevoir des messages d’avertissement.
Lorsque vous démarrez l’interface, vous pouvez visualiser une série de valeurs de mesure. Il est possible de suivre l’évolution de ces valeurs. Si vous passez la main sur le capteur, les valeurs
diminuent sensiblement. Le curseur situé sous les valeurs de mesure permet de régler la valeur seuil et la valeur limite. Un bouton bleu et un bouton blanc sont placés un peu plus bas : ils
permettent d’activer ou de désactiver les avertissements par mail ou sur Twitter. La LED à côté de chaque symbole indique l’état. Si une valeur de mesure n’est pas dans la plage autorisée, le
Page 10
système passe en mode alarme et envoie un message d’avertissement. De plus, un terminal au
milieu indique les événements en cours ; il permet également de saisir un nouveau texte pour le
message d’avertissement. Ainsi, vous pouvez par exemple savoir à tout moment si votre plante dispose d’une luminosité suffisante.
Jour 13 : Système d’alarme avec messages Push
Le projet d’aujourd’hui vous permettra de mettre au point un système d’alarme simple et silencieux, avec mot de passe pour la réinitialisation. La platine envoie un message Push sur le
Smartphone. Le capteur placé derrière la porte d’aujourd’hui sert de détecteur de mouvement. Il détecte les vibrations et signale que quelqu’un touche à la carte NanoESP.
L’interface Blynk du projet du jour ne change pas. Les informations importantes transitent par le
terminal, qui sert également à la saisie du mot de passe. Le mot de passe peut être configuré dans
le programme. S’il n’a pas été modifié, le mot de passe est « password ». Le widget Push permet l’envoi de messages Push sur le Smartphone. Ce message apparaît directement sous forme de message d’alerte sur le téléphone. Il est possible de choisir « Normal » ou « High Priority » (priorité élevée). Dans ce deuxième cas, le message s’affiche immédiatement, mais la
consommation électrique est plus importante. A partir de maintenant, vous recevrez un message d’alerte sur votre portable si quelqu’un tente de s’emparer de votre NanoESP.
Jour 14 : Mesure de la température sur le long terme
La porte d’aujourd’hui cache un capteur NTC (Negative Temperature Coefficient, thermistor). Sa conductibilité varie en fonction de la température. Le capteur d’aujourd’hui permet une mesure de la température sur le long terme. Il est également possible de recevoir un résumé par mail.
Ce NTC est indispensable au montage d’aujourd’hui, ainsi que le potentiomètre et une résistance
1 kOhm. Le potentiomètre permet un réglage précis de la température.
Le code QR permet de télécharger l’interface dans votre application Blynk. Téléchargez le
programme depuis la page Internet puis saisissez le code Token actuel et les données WiFi, ainsi que l’adresse mail à laquelle le résumé devra être envoyé.
L’élément central de l’interface Blynk est le History Graph. Il permet de visualiser la température minimale et maximale. L’espace en-dessous permet de sélectionner l’emplacement des données à
visualiser. Pour effacer les données enregistrées, effleurez le widget vers la gauche lorsque
Page 11
l’interface est active. La température du moment est affichée sous le graphique. Les éléments en bas à gauche permettent de régler les paramètres pour l’envoi automatique du résumé. Il est
possible cependant de recevoir un résumé à tout moment en utilisant le bouton sur la droite.
Jour 15 : Serveur Web
Nous changeons aujourd’hui de thématique : nous allons utiliser le NanoESP comme serveur web.
Derrière la porte d’aujourd’hui se cache un câble spécial à 3 fils, qui permet également de raccorder par exemple des LED ou des capteurs en dehors d’une platine. Pour l’expérience d’aujourd’hui, aucun montage n’est nécessaire, vous avez besoin uniquement du programme et d’un navigateur.
Téléchargez le programme et programmez-le sur la carte. Vous n’aurez pas aujourd’hui à saisir les données WiFi, car la carte (ou plus précisément la puce WiFi) a mémorisé vos données WiFi lors de votre précédente connexion. Une nouvelle fonction de la bibliothèque requiert un redémarrage pour établir une connexion au réseau WiFi connu. Si vous utilisez un nouveau réseau WiFi, décommentez la ligne
nanoesp.configWifi(DUAL, SSID, PASSWORD);
afin que les nouvelles données puissent être paramétrées. Ceci reste valable pour les expériences de tous les jours suivants. Aujourd’hui, la carte sera utilisée en mode dual, ce qui constitue également une nouveauté : elle pourra aussi bien être raccordée à votre réseau WiFi domestique
que générer un point d’accès propre. Vous pouvez donc accéder à la carte de deux façons.
Une fois le téléchargement terminé, deux adresses IP s’affichent sur le moniteur. L’adresse qui figure après +CIFST:APIP est celle de la carte dans le WiFi en point d’accès. Celle qui figure après +CIFST:STAIP correspond à l’adresse qui a été attribuée à la carte par le routeur. Il est fort probable que votre ordinateur soit encore raccordé à votre réseau domestique ; c’est donc la deuxième adresse IP qui doit être saisie dans le navigateur. La page principale s’affiche, elle vous permet d’accéder à d’autres pages, mémorisées sur la carte, grâce à des liens.
Si vous raccordez maintenant votre PC au réseau WiFi propre à la NanoESP, saisissez l’adresse IP du point d’accès dans le navigateur. Les pages sont les mêmes, mais les images ne s’affichent pas. En effet, le PC n’a pas de connexion Internet dans ce cas, et les images considérées comme ressources externes ne peuvent pas être chargées. L’avantage de ce mode de réseau réside dans le fait qu’il ne requiert pas de routeur servant de station intermédiaire : l’accès se fait directement
sur la carte. Les deux méthodes ont donc chacune leurs avantages et leurs inconvénients.
Jour 16 : Serveur Web piano
La porte d’aujourd’hui cache un transducteur acoustique piezo. Il permet de générer des sons, comme dans l’expérience d’aujourd’hui. Nous allons fabriquer une espèce de piano, utilisable via
une page Internet.
Après avoir téléchargé le programme, ouvrez la page web de la carte via l’adresse IP dans le
navigateur. Vous pouvez vous connecter à la carte via le réseau domestique ou via le point d’accès ; ce choix n’a pas d’importance, puisqu’il ne s’agit pas de télécharger des données
Page 12
externes. La page web présente plusieurs boutons permettant de déclencher un son. La transmission est très rapide, mais il est préférable d’attendre que le son ait été émis avant d’en envoyer un autre.
Jour 17 : Simulateur d’aube
Le projet d’aujourd’hui s’inspire d’une célèbre lampe de Philips : le simulateur d’aube. Au lieu d’émettre une sonnerie forte, l’appareil augmente progressivement la luminosité, comme un lever
de soleil, pour un réveil en douceur.
La porte d’aujourd’hui cache un nouveau potentiomètre. Installez-le sur la carte puis téléchargez le programme. Ouvrez ensuite le navigateur et entrez l’adresse IP de la carte dans le navigateur. Sur la page qui s’affiche, il est possible d’indiquer l’heure de démarrage du processus de réveil, ainsi que sa durée (le réglage par défaut est de 30 minutes). A l’heure indiquée, la LED s’allume
en rouge et brille faiblement. Elle devient de plus en plus claire et se mêle à la LED verte, pour
donner une couleur jaune. La LED bleue s’allume en dernier, on obtient alors une lumière
blanche qui éclaire toute la chambre.
Jour 18 : Surveillance du climat
La porte d’aujourd’hui cache un composant un peu particulier : un capteur d’humidité. Associé au phototransistor et au NTC, il permet de construire une station météo pour un usage domestique.
Le montage du jour est un peu délicat, notamment à l’endroit où le premier potentiomètre touche le NanoESP. Ceci n’est cependant pas problématiquee tant que le contact reste bien fixé sur la carte.
Ouvrez la page web après avoir téléchargé le programme. Trois valeurs s’affichent, sous forme de texte et de barres. Le potentiomètre permet d’ajuster les valeurs. Il est important de mesurer la
température à l’aide d’un thermomètre et de l’ajuster, afin de garantir que les données figurant
sur la page Web sont exactes.
Jour 19 : Page de configuration pour la carte NanoESP
La porte d’aujourd’hui cache un nouveau câble. Les deux câbles permettent de placer la LED RVB par exemple en dehors de la platine. Nous allons utiliser les LED RVB pour le projet du jour : il s’agit d’une page web permettant de régler les couleurs. Ce n’est cependant pas l’aspect le plus important : pour configurer facilement la carte NanoESP, il existe une page de configuration permettant de paramétrer les données WiFi du module.
Après avoir téléchargé le programme dans la carte, ouvrez la page web du module. Nous allons faire comme si la carte ne connaissait pas encore vos données WiFi, il est donc nécessaire d’utiliser le point d’accès. Connectez-vous au réseau NanoESP, puis saisissez l’adresse IP
192.168.4.1 dans le navigateur. Vous accédez alors à la page principale de la carte, qui permet de régler la couleur des LED RVB. Suivez le lien vers la page de configuration.
Page 13
Une boîte de teste s’affiche sur la page de configuration, puis le message « Scanning… » apparaît dans cette boîte. La carte recherche les réseaux disponibles à proximité et transmet les réseaux les plus puissants à la page web. Le message « Done » s’affiche ensuite dans la boîte de texte. Vous pouvez alors choisir le réseau dans le champ « SSID ». Si le réseau n’a pas été trouvé, il est possible de saisir manuellement le nom du réseau. Le mot de passe du réseau doit être saisi dans la zone de texte du bas.
Dans les boîtes du bas de la page, il est possible d’entrer un autre nom pour le réseau point d’accès ainsi qu’un mot de passe (huit caractères minimum). Mais attention : ce procédé peut
poser problème si les données du réseau domestique saisies sont fausses, et que vous avez oublié
le mot de passe pour le réseau point d’accès. Dans ce cas, téléchargez d’abord un autre
programme avec les données réseau correctes ou un point d’accès ouvert pour avoir à nouveau accès au serveur web de la carte.
Jour 20 : MQTT (Message Queue Telemetry Transport)
Les derniers jours de ce calendrier sont consacrés à la découverte d’une thématique qui joue un grand rôle dans l’Internet des Choses : il s’agit du protocole de message MQTT, qui permet la
communication entre machines (M2M), par exemple l’échange de données de commande, données de mesure ou textes. L’overhead (données transmisses en plus des données utiles) est bien plus faible qu’avec le HTTP et peut être pris en charge par des appareils intégrés, c’est-à-
dire des microcontrôleurs comme notre NanoESP. De plus, le contrôleur ne doit pas créer une connexion à chaque fois et demander si une modification a été effectuée : la connexion est maintenue durablement et le client est informé automatiquement des modifications.
L’élément de base pour la communication est le broker. Un broker est une application serveur qui prend en charge toutes les données. Il est possible de raccorder un appareil au broker et de « publier » les messages, c’est-à-dire de les envoyer au broker. Un autre appareil peut «souscrire un abonnement » à certains sujets (topics) et ainsi recevoir du broker les nouveaux messages publiés en rapport avec ce sujet. Un broker public est disponible à l’adresse broker.fkainka.de.
Les topics sont classés de manière hiérarchique, les sous-topics sont séparés par une barre oblique. Des « jokers » y figurent également. Le « + » ou le « # » permettent de s’abonner à plusieurs topics simultanément. Les jokers « + » ou « # » ne permettent cependant pas de publier. Les messages concernant les sujets
MyHome/Kitchen/Temperature MyHome/Bathroom/Temperature
peuvent par exemple être reçus après un abonnement au topic
MyHome/+/Temperature
Le plus remplace toujours une seule catégorie de topics. Le # les remplace tous. Avec le topic
MyHome/#
vous recevez ainsi tous les messages publiés dans tous les sous-topics de MyHome. Les données publiées dans un topic peuvent avoir des formes très différentes : texte pur, valeurs de mesure ou commandes 1/0 simples pour allumer la lumière.
La porte d’aujourd’hui cache un bouton-poussoir. L’expérience du jour se compose essentiellement d’exercices sur le thème MQTT. Téléchargez le programme du jour dans la carte
et ouvrez le moniteur sériel.
Page 14
La carte s’est d’abord connectée au réseau WiFi puis au Broker online. Pour éviter que les
différents utilisateurs ne se gênent mutuellement, il convient de garder une structure particulière. Vous pouvez donc écrire uniquement dans les sous-thèmes de la forme NanoESP/MyMQTTiD/…, en remplaçant MyMQTTiD par l’ID affichée par la carte sur le moniteur sériel. Pour aujourd’hui, écrivez dans le topic NanoESP/MyMQTTiD/test. Pour que vous puissiez visualiser ce que vous écrivez dans un topic, nous utilisons sur l’ordinateur un outil en ligne de l’entreprise HiveMQ. Cet outil permet d’établir une connexion avec le broker, de souscrire des abonnements à des topics personnels ou de les écrire. Allez sur le site www.hivemq.com/try-out/ et cliquez sur « Try the websocket client ». Vous devez ensuite établir une connexion avec le broker : pour cela, saisissez l’adresse broker.fkainka.de dans le point « Connection » sous « Host ». Le port, lID Client et les autres paramètres sont corrects. Cliquez sur « Connect ». Normalement, le message « connected » s’affiche en haut à droite à côté d’un point vert ; vous avez alors la possibilité de publier ou de vous abonner à un topic.
Cliquez ensuite sur « Add New Topic Subscription » et entrez dans le champ Topic NanoESP/myMQTTiD/test ; remplacez MyMQTTiD par l’ID donnée par le moniteur sériel. Appuyez sur le bouton Reset sur la carte pour réinitialiser le NanoESP. Normalement, le message « Hello from my NanoESP » s’affiche dans le navigateur sous le point « Messages ». Vous pouvez également envoyer un message à la carte : pour cela, entrez NanoESP/myMQTTiD/test sous « Publish » dans le champ Topic, puis écrivez le message de votre choix, par exemple « Hello from my browser ». Le message doit s’afficher sur le moniteur sériel. La communication est donc bien établie.
Jour 21 : Domotique
Aujourd’hui, nous allons étudier les propriétés du MQTT et les possibilités qu’il offre à l’aide un scénario pratique. Dans notre exemple, nous considérons un bâtiment de deux pièces avec
chacune un interrupteur, une lampe et un capteur d’alarme. Les interrupteurs permettent d’allumer et d’éteindre la lumière dans chaque pièce. Les capteurs activent une alarme à l’échelle
du bâtiment.
En théorie, il faudrait utiliser ici sept appareils différents, reliés les uns aux autres par un Broker MQTT. Un NanoESP suffit, qui simule tous ces appareils. C’est pourquoi le montage d’aujourd’hui est un peu plus complexe. La LED D3 est utilisée comme deuxième lampe et non plus comme indication de la connexion au WiFi. Les capteurs tilt sur les câbles de raccordement sont utilisés comme capteurs d’alarme. Il est possible par exemple de les fixer sur des portes ou
des fenêtres, afin qu’ils déclenchent l’alarme lorsque la porte s’ouvre. La porte d’aujourd’hui
dissimule le deuxième capteur.
Le programme s’abonne aux topics suivants, MyMQTTiD est remplacé par votre ID :
NanoESP/MyMQTTiD/room1/light NanoESP/MyMQTTiD/room2/light NanoESP/MyMQTTiD/+/alarm
Les boutons permettent d’activer la lumière dans la pièce concernée. L’alarme se déclenche si vous basculez un capteur Tilt. Elle s’arrête au bout de 20 secondes, ou peut être désactivée en envoyant 0 au topic alarme via le site http://www.hivemq.com/try-out/. Toutes les modifications s’affichent sur le moniteur sériel.
Page 15
Jour 22 : MQTT-Cheerlights
L’expérience d’aujourd’hui s’articule autour du MQTT et d’un projet présenté l’an dernier : le projet Cheerlights de Hans Schaaler. Il s’agit de lumières multicolores raccordées dans le monde entier, qui peuvent être commandées via Twitter.
La porte d’aujourd’hui dissimule une résistance de 1 kOhm. Le montage se compose d’une LED RVB avec prérésistances et d’un bouton-poussoir.
Téléchargez le programme du jour. Avant de transférer le programme sur la NanoESP, installez la bibliothèque Crossfade de Radek Wierzbiecki (sur
https://github.com/radekw/Arduino/tree/5f24ce7c8db9dfbb5252b59824c3217d851b3a3c). Pour
simplifier l’installation, une copie de la version de bibliothèque utilisée est disponible dans le
dossier Sketch sous forme de fichier ZIP. Elle peut être insérée dans l’IDE Arduino via le gestionnaire de bibliothèque : pour cela, sélectionnez le répertoire ZIP dans le dossier Sketch sous Sketch > Intégrer bibliothèque > Intégrer bibliothèque.ZIP. Le programme est alors compilé et peut être téléchargé sur la NanoESP.
Une fois que le programme est chargé, retournez sur la page www.hivemq.com/try-out/ et établissez une connexion avec le Broker broker.fkainka.de. Le topic
NanoESP/MyMQTTiD/rgb/mode
permet de changer le mode (Cheerlights ou couleur personnalisée), en publiant 1 ou 0. Pour tous les messages, il est important de cocher la case « Retain » avant d’envoyer le message à l’aide du bouton « Publish ». « Retain » signifie que le broker enregistre le message. A partir de
maintenant, dès qu’un appareil s’abonne au topic, le message enregistré est immédiatement envoyé à l’appareil. Le bouton-poussoir sur la platine permet également de changer le mode via
un message avec Retain-Flag. Il n’est donc pas indispensable de retourner sur la page Try-Out pour changer de mode.
En mode personnel (mode 0), il est possible d’associer une couleur à la LED RVB en publiant dans le topic
NanoESP/MyMQTTiD/rgb/color
un message de la forme
rgb(X,X,X)
Le X représente une valeur PWM comprise entre 0 et 255. L’ordre des couleurs est rouge, vert, bleu. Pour une couleur verte avec une luminosité maximale, vous devez donc publier
rgb(0,255,0)
N’oubliez pas de cocher la case Retain.
En mode Cheerlights (mode 1), la carte est abonnée à un topic qui publie la couleur Cheerlights du moment. Pour modifier cette couleur, rédigez un message Twitter qui permettra de modifier la couleur de votre LED et de celle de tous les autres utilisateurs Cheerlights. Le message doit contenir #Cheerlights, @Cheerlights ou simplement le mot Cheerlights, suivi d’une des couleurs prédéfinies : red, green, blue, cyan, white, warmwhite, purple, magenta, yellow, orange, pink par exemple : Testing my #cheerlights #MQTT project on my #NanoESP with the color blue
Page 16
Votre LED et les autres LED raccordées partout dans le monde prennent cette couleur. Si vous souhaitez garder votre couleur et que personne ne puisse la modifier, revenez au mode personnel ; la LED reprend la couleur prédéfinie.
Jour 23 : MQTT Climate
La porte d’aujourd’hui cache un clip pour pile 9 V qui permet de rendre l’ensemble du système
mobile. Il est également possible d’utiliser une Power Bank (pack d’accus conçu pour les téléphones portables).
Le montage du jour permet de saisir à nouveau des données climatiques. Cette fois, elles seront publiées via le Broker MQTT et peuvent être consultées dans le monde entier. Les données peuvent être consultées via un plugin et enregistrées dans une banque de données.
Téléchargez le programme du jour et programmez votre NanoESP. La carte est alors raccordée au WiFi et au Broken et commence à envoyer les données de mesure. Allez sur la page
http://www.hivemq.com/tryout/ et connectez-vous au Broken. Abonnez-vous à ces topics :
NanoESP/MyMQTTiD/climate/temp NanoESP/MyMQTTiD/climate/light NanoESP/MyMQTTiD/climate/hum
Remplacez comme d’habitude MyMQTTiD par votre ID personnel. Les données s’affichent dans le navigateur à un rythme rapide. Abonnez-vous ensuite au topic suivant :
NanoESP/MyMQTTiD/climate/status
Vous devez recevoir le message « online ». Débranchez la platine de l’alimentation électrique. Vous ne devez alors plus recevoir de données de température. Au bout de 10 secondes, le statut passe de « online » à « offline ». Comment cela se fait-il, puisque la carte ne peut plus envoyer aucun message ? La réponse à cette question réside dans le message Last-Will défini lors de la connexion avec le broker. Ce message est envoyé en cas de coupure soudaine de la connexion. Il faut cependant un certain temps avant que le broker ne remarque la coupure de la connexion. Cette durée est définie lors de l’établissement de la connexion (durée Keep-Alive). Si aucun message n’est envoyé par la carte au broker dans le temps imparti, le broker considère que la connexion a été rompue. Par
défaut, cette durée est fixée dans la bibliothèque à 120 secondes. Pour l’expérience d’aujourd’hui,
elle est en revanche de 10 secondes. Pour éviter toute interruption de la connexion à cause d’une absence de message sur la NanoESP, utilisez la commande stayConnected. Sauf indication
contraire, cette commande permet l’envoi d’un Ping au Broker dès que la moitié de la durée
Keep-Alive est écoulée ; ainsi, le Broker sait que la connexion est toujours active.
Jour 24 : Boîte cadeau
En ce dernier jour, nous allons construire une boîte cadeau réutilisable. A chaque fois que quelqu’un ouvre le cadeau, le contenu s’éclaire d’une couleur personnalisée et une chanson de Noël retentit.
La porte d’aujourd’hui cache une barrière photoélectrique reflex. Il s’agit en fait de deux composants, une diode émettrice IR et un phototransistor. Respectez la polarité de ces éléments lors du montage.
Page 17
Le montage du jour peut sembler confus car il contient de nombreux composants. En plus de la
Topic
Value
Retain NanoESP/MyMQTTiD/present/maman/color
rgb(255,255,0)
X
NanoESP/MyMQTTiD/present/maman/song
2 X NanoESP/MyMQTTiD/present/papa/color
rgb(0,0,255)
X
NanoESP/MyMQTTiD/present/papa/song
1 X NanoESP/MyMQTTiD/present/soeur/color
rgb(255,0,255)
X
NanoESP/MyMQTTiD/present/soeur/song
4
X
barrière photoélectrique reflex (qui sert de capteur pour détecter l’ouverture du paquet), nous
allons utiliser la LED RVB et le transducteur acoustique piezo.
Après avoir chargé le programme du jour sur le contrôleur, retournez sur la page
http://hivemq.com/try-out/ et connectez-vous au broker broker.fkainka.de. Vous pourrez alors
attribuer un topic à chacune des personnes à qui vous voulez offrir un cadeau. Respectez le schéma suivant :
NanoESP/MyMQTTiD/present/person/color NanoESP/MyMQTTiD/present/person/song
Remplacez « MyMQTTiD » par votre ID personnel et « person » par le nom de la personne qui recevra le cadeau. Dans le topic « color », publiez une couleur selon le schéma rgb(X,X,X), et dans le topic « song », saisissez un chiffre compris entre 0 et 5 (correspondant à une chanson prédéfinie). Ces deux messages doivent être signalés par le drapeau Retain. Pour trois personnes, on aurait par exemple :
Pour passer d’une personne à l’autre, publiez le nom de la personne dans le topic
NanoESP/MyMQTTiD/present
Par exemple, si vous saisissez « sœur » (respectez l’orthographe), les paramètres pour cette personne sont chargés et utilisés lors de l’ouverture de la boîte. Une fois que le cadeau a été retiré de la boîte, refermez-la et chargez les paramètres suivants en publiant le nom de la personne suivante. Pour effectuer un test, tenez une feuille blanche devant le capteur afin de simuler la
fermeture de la boîte (la feuille permet d’occulter la lumière du jour). Lorsque vous enlevez la
feuille, le système considère que la boîte a été ouverte.
Loading...