Stap 3: Programmering Lei
We gebruikten om te controleren onze lamp Lelylan (http://dev.lelylan.com/) die biedt, onder andere, een dashboard waarmee ons om te interageren met onze lamp via een browser.
De lamp werkt als dat:
-Wanneer is ingeschakeld, het verbindt met Lelylan en onderschrijft een onderwerp dat rapresent het apparaat vrijwel.
-Wanneer we ermee naar de lamp via het dashboard, de lelylan mqtt makelaar een update verzendt naar alle abonnees van het onderwerp, in dit geval alleen de fysieke lamp.
Om te krijgen de cc3200 werken met lelylan we moeten zitten kundig voor verbinden en interactie met een mqtt makelaar en schrijven en ontleden van JSON-gegevens. Dus 3 bibliotheken moeten worden opgenomen in de schets
-PubSubClient (die moet reeds worden opgenomen in Energia IDE, moet u de MAX_PACKET_SIZE instellen op 512 bytes (nodig voor Lelylan om te werken).)
-ArduinoJSON (die kan worden gedownload hier)
-Wifi (die moet worden reeds opgenomen in Energia IDE)
Lelylan werken van rappresenting fysieke apparaten als virtuele objecten, dus we moeten creëren een virtueel apparaat in het dashboard en de relatieve DEVICE_ID en DEVICE_SECRET nodig in de schets te krijgen (Zie deze gids voor de arduino yun voor een overzicht op hoe te opstelling u Lelylan apparaat). Elke virtuele apparaatstuurprogramma heeft een type dat bepaalt welke eigenschappen en methoden kunnen worden gebruikt op het. We hebben een aangepaste type licht genaamd 'Lei' http://lelylan.github.io/types-dashboard-ng/#/types/54986532bbd5a4c34c000001/
Na het opzetten van de apparaat zijn-id en geheim er een paar andere parameters nodig:
#define WIFI_SSID "XXX"
#define WIFI_PWD "XXXXX"
#define DEVICE_IN_TOPIC "apparaten/___YOUR_DEVICE_ID___/get"
#define DEVICE_OUT_TOPIC "apparaten/___YOUR_DEVICE_ID___/set"
De schets kan gewoon onze lamp om te luisteren en updates ontvangen van het dashboard van de Lelylan toepassen.
De code (die moet worden ingesloten) is toegelicht en moet vrij rechte voorwaarts te volgen, toch hebt u vragen aarzel niet om ons te contacteren. Te danken aan sommige uitvaardiging inspringing ik stel voor dat je de code om uit te checken op mijn gist https://gist.github.com/bugduino/6e33999e53c5c98d87d5.
Er zijn een deel nog niet voltooid (zoals de regenboog-modus, die de setFade functie wordt gebruikt) als u wilt indienen van de patch zou ik graag de code bijwerken.