Paso 2: Conecte Huzzah Adafruit a IFTTT
1. soldar el Huzzah
https://Learn.Adafruit.com/Adafruit-Huzzah-esp8266...
2. huzzah a Adafruit.io
https://Learn.Adafruit.com/Adafruit-IO-Basics-Digi...
3. configuración de IFTTT para conectarse a Adafruit.io (ver imagen)
Hacer una identificación de IFTTT
Crear una receta: si Blogger entonces Adafruit
Insertar el feed que hiciste en la Adafruit.io
4. escribir los códigos (necesita personalizar información de Adafruit y Wifi)
/***************************************************
Adafruit MQTT biblioteca ESP8266 ejemplo
Debe utilizar Arduino ESP8266 de:
https://github.com/esp8266/Arduino
Funciona muy bien con el tablero de Adafruit Huzzah ESP:
---> https://www.adafruit.com/product/2471
Adafruit invierte tiempo y recursos que este código de fuente abierto,
por favor apoye Adafruit y hardware de código abierto mediante la compra de
productos de Adafruit.
Escrito por Tony DiCola para industrias Adafruit.
Adiciones de ejemplo de Adafruit IO por Todd Treece.
Licencia MIT, todo el texto anterior debe incluirse en cualquier redistribución
****************************************************/
#include
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
prototipos de función
void connect(void);
/****************************** Pins ******************************************/
#define lámpara 12 / / cola de interruptor de potencia
/************************* WiFi Access Point *********************************/
#define WLAN_SSID "Nombre de Wifi"
#define WLAN_PASS "Contraseñas Wifi"
/************************* Adafruit.io Setup *********************************/
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883
#define AIO_USERNAME "Tu nombre de usuario Adafruit.io"
#define AIO_KEY "Copia de la clave de Adafruit.io"
/ *** Estado Global (no necesitas cambiar esto!) ***
/ Crear una clase de WiFiClient de ESP8266 para conectarse al servidor MQTT.
Cliente WiFiClient;
Almacenar el MQTT servidor, ID de cliente, nombre de usuario y contraseña en la memoria flash.
Esto es necesario para el uso de la biblioteca de MQTT Adafruit.
const char MQTT_SERVER [] PROGMEM = AIO_SERVER;
Configurar un ID de cliente único MQTT usando la tecla AIO + la fecha y hora del bosquejo
fue compilado (por lo que debe ser único a través de múltiples dispositivos para un usuario,
Alternativamente usted puede ajustar manualmente esto a un GUID u otro valor aleatorio).
const char MQTT_CLIENTID [] PROGMEM = __TIME__ AIO_USERNAME;
const char MQTT_USERNAME [] PROGMEM = AIO_USERNAME;
const char MQTT_PASSWORD [] PROGMEM = AIO_KEY;
Configurar la clase de cliente MQTT pasando el cliente WiFi y MQTT server y login detalles.
Adafruit_MQTT_Client mqtt (y cliente, MQTT_SERVER, AIO_SERVERPORT, MQTT_CLIENTID, MQTT_USERNAME, MQTT_PASSWORD);
/****************************** Feeds ***************************************
/ Un alimento llamado 'lámpara' para suscribirse a los cambios de configuración.
Aviso senderos MQTT para AIO siguen la forma: /feeds/
const char LAMP_FEED [] PROGMEM = AIO_USERNAME "/ feeds/lámpara";
Lámpara de Adafruit_MQTT_Subscribe = Adafruit_MQTT_Subscribe (& mqtt, LAMP_FEED);
/*************************** Sketch Code ************************************/
void setup() {}
configurar power switch cola pin como salida
pinMode (lámpara, salida);
Serial.Begin(115200);
Serial.println (F ("Adafruit IO ejemplo"));
Conecte al punto de acceso WiFi.
Serial.println(); Serial.println();
Delay(10);
Serial.Print (F ("conexión a"));
Serial.println(WLAN_SSID);
WiFi.begin (WLAN_SSID, WLAN_PASS);
mientras que (WiFi.status()! = WL_CONNECTED) {}
Delay(500);
Serial.Print(F("."));
}
Serial.println();
Serial.println (F ("Wi-Fi conectado"));
Serial.println (F ("dirección IP:"));
Serial.println(WiFi.localIP());
eventos en la alimentación de la lámpara
MQTT.subscribe(&LAMP);
conectar a adafruit io
Connect();
}
void loop() {}
Adafruit_MQTT_Subscribe * suscripción;
ping de adafruit io varias veces para asegurarse de que seguimos conectados
Si (! {mqtt.ping(3))}
Vuelva a conectar a adafruit io
if(! MQTT.Connected())
Connect();
}
Este es nuestro subloop ocupado 'espera los paquetes entrantes de suscripción'
mientras que (suscripción = {mqtt.readSubscription(1000))}
nos preocupamos solamente por los eventos de la lámpara
Si (suscripción == & lámpara) {}
convertir carga de ascii mqtt para int
char * valor = (char *) lamp.lastread;
Serial.Print (F ("recibido:"));
Serial.println(Value);
int actual = atoi(value);
Escriba el estado actual a la cola de interruptor de potencia
¿digitalWrite (lámpara, corriente == 1? ALTO: BAJA);
}
}
}
conectar a adafruit io vía MQTT
{} void connect()
Serial.Print (F ("conectarse a Adafruit IO... "));
int8_t ret;
mientras que ((ret = mqtt.connect())! = 0) {}
interruptor (ret) {}
caso 1: Serial.println (F "(protocolo mal del)); rotura;
caso 2: Serial.println (F "(ID de rechazado")); rotura;
caso 3: Serial.println (F ("servidor Unvail")); rotura;
caso 4: Serial.println (F ("mal usuario/pass")); rotura;
caso 5: Serial.println (F (del "indentificado no")); rotura;
caso 6: Serial.println (F ("no pudo suscribirse")); rotura;
por defecto: Serial.println (F ("Conexión fallida")); rotura;
}
Si (ret > = 0)
MQTT.disconnect();
Serial.println (F ("Retrying connection..."));
Delay(5000);
}
Serial.println (F ("Adafruit IO conectado!"));
}