Étape 3: Programmation Lei
Afin de contrôler notre lampe, nous avons utilisé Lelylan (http://dev.lelylan.com/) qui offre, entre autres, un tableau de bord qui nous permettent d’interagir avec notre lampe via un navigateur.
La lampe fonctionne comme ça :
-Quand est allumé, il se connecte à Lelylan et s’abonne à un sujet qui représente le mieux le dispositif, pratiquement.
-Lorsque nous interagissons avec la lampe à travers le tableau de bord, le courtier de mqtt lelylan envoie une mise à jour à tous les abonnés de sujet, dans ce cas que le physique de lampe.
Afin d’obtenir la cc3200 travailler avec lelylan, nous avons besoin pour pouvoir se connecter et interagir avec un courtier mqtt écrire et analyser les données JSON. Donc 3 bibliothèques doivent être inclus dans l’esquisse
-PubSubClient (qui devrait être déjà inclus dans l’IDE de Energia, vous devrez régler le MAX_PACKET_SIZE de 512 octets (nécessaires pour les Lelylan de travailler).)
-ArduinoJSON (qui peut être téléchargé ici)
-Wifi (qui devrait être déjà inclus dans Energia IDE)
Œuvres de Lelylan de rappresenting des périphériques physiques comme des objets virtuels, alors il faut créer un périphérique virtuel dans le tableau de bord et obtenir le DEVICE_ID relative et la DEVICE_SECRET nécessaires dans l’esquisse (voir ce guide pour l’yun arduino pour avoir un aperçu sur la façon de vous configurer Lelylan appareil). Chaque périphérique virtuel a un type qui définit quelles propriétés et méthodes peuvent servir à ce sujet. Nous avons créé un type de lumière personnalisé appelé « Lei » http://lelylan.github.io/types-dashboard-ng/#/types/54986532bbd5a4c34c000001/
Après avoir configuré le périphérique id et secret là sont quelques autres paramètres nécessaires :
#define WIFI_SSID « XXX »
#define WIFI_PWD « XXXXX »
#define DEVICE_IN_TOPIC « dispositifs/___YOUR_DEVICE_ID___/get »
#define DEVICE_OUT_TOPIC « dispositifs/___YOUR_DEVICE_ID___/set »
Le croquis permet simplement notre lampe écouter et appliquer les mises à jour reçues depuis le tableau de bord Lelylan.
Le code (qui doit être embarqué) est commenté et devrait être assez simple, avant de suivre, en tout cas si vous avez n’importe quelle question n’hésitez pas à nous contacter. En raison de certains problèmes de mise en retrait je vous suggère de consulter le code sur ma gist https://gist.github.com/bugduino/6e33999e53c5c98d87d5.
Il y a une partie encore inachevée (comme le mode arc-en-ciel, qui utilise la fonction setFade) si vous voulez envoyer le patch je serais heureux de mettre à jour le code.