Integración con Arduino IoT Cloud Amazon Alexa


En la página principal de IoT Cloud,crearemos una nueva cosa y le asignaremos un nombre significativo. A continuación, seleccionaremos el tablero que vamos a usar. Si no puede ver su tablero, es posible que se haya saltado el procedimiento de introducción (consulte la sección anterior).

Una vez hecho esto, agregaremos tres propiedades a nuestra cosa. Los dos primeros representarán las lámparas,la última de la temperatura.

Aquí es lo que la vista de panel de su cosa debe verse como en este punto:

Al agregar propiedades, asegúrese de que solo utiliza los tipos enumerados en la sección Inicio inteligente, de lo contrario no funcionarán con Alexa.

The Smart Home section

La sección Smart Home

Ahora ve al Editor Web haciendo clic en el botón Editar boceto en la vista de edición de tu cosa.

 

En el Editor Web necesitamos añadir algo de código al Sketch generado automáticamente para nosotros.

Debido a que queremos leer algunos datos ambientales (a saber, la temperatura, pero no dude en agregar luz, humedad y presión si lo desea), vamos a importar la biblioteca de Arduino_MKRENV en la parte superior de nuestro boceto

#include <Arduino_MKRENV.h>

A continuación, definimos algunas constantes para los pines de placa que se utilizarán para R,G,Bandwhitelight, deesta manera el código es más legible:

#define PIN_MEETING_ROOM 5
#define PIN_LOUNGE_AREA_R 2
#define PIN_LOUNGE_AREA_B 3
#define PIN_LOUNGE_AREA_G 4

Ahora en la función de configuración podemos inicializar el Arduino MKR ENV Shield con:

if (!ENV.begin()) {  
 Serial.println("Failed to initialize MKR ENV shield!");  
 while (1);
}

De esta manera, si el escudo no está instalado, se bloqueará la ejecución de Sketch.

No es necesario especificar que tiene que ser porque vamos a utilizar para establecer la intensidad de nuestro LED blanco o los colores individuales del RGB.pinModeOUTPUTanalogWrite()

En la función loopfunction vamos a leer la temperatura cada segundo:

temperature = ENV.readTemperature();delay(1000);

Por último, es el momento de implementar nuestras funciones de devolución de llamada: las que se ejecutarán cada vez que se extraiga un cambio en el valor de una propiedadde IoT Cloud.

Tenemos que implementar y :onMeetingRoomChangeonLoungeAreaChange

void onMeetingRoomChange()
 { uint8_t brightness = map(meetingRoom.getBrightness(), 0, 100, 0, 255); 
if (meetingRoom.getSwitch())
 {   Serial.println(brightness); 
  analogWrite(PIN_MEETING_ROOM, brightness);   
  } else{ 
  analogWrite(PIN_MEETING_ROOM, LOW); 
}}

con el código anterior primero leemos el valor de brillo de la nube y lo mapeamos a un valor utilizable, luego verificamos si el interruptor de luz está encendido, si es que podemos encender la luz, usando el rojo antes. De lo contrario, apagamos la luzbrightness

El principio de trabajo es el mismo para la otra devolución de llamada:

void onLoungeAreaChange() 
{ uint8_t r, g, b;
 loungeArea.getValue().getRGB(r, g, b);
 if (loungeArea.getSwitch()) { 
  Serial.println("R:"+String(r)+" G:"+String(g)+ " B:"+String(b));   analogWrite(PIN_LOUNGE_AREA_R, r);  
 analogWrite(PIN_LOUNGE_AREA_B, b);  
 analogWrite(PIN_LOUNGE_AREA_G, g); }
 else{    
Serial.println("Lamp Off");   
 analogWrite(PIN_LOUNGE_AREA_R, 0);   
 analogWrite(PIN_LOUNGE_AREA_B, 0);    
analogWrite(PIN_LOUNGE_AREA_G, 0);
 }}

La única diferencia notable es el hecho de que en lugar del brillo justo, tenemos tres componentes diferentes: son la representación del color RGB de la luz. Por supuesto, podemos definir colores personalizados por nombre en la aplicación Alexa para que no tengamos que decir manualmente qué cantidades de rojo, verde o azul queremos establecer.

Amazon Alexa

Ahora necesitaremos la aplicación Amazon Alexa que se puede descargar desde apple App Store o Google Play Store. Una vez instalado, inicie sesión con su cuenta existente o cree una nueva.

Importante:Cuando se le pida que inicie sesión, asegúrese de utilizar las mismas credenciales utilizadas para crear su Arduino IoT Cloud Thing, de lo contrario no funcionará.

Además, tenemos que instalar la habilidad de hogar inteligente necesaria para interactuar con nuestro MKR1010. Para ello, vaya a Dispositivos (icono inferior derecho) y haga clic en YourSmartHomeSkillsy, a continuación, en EnableYourSmartHomeSkill.

Devices view

Vista de dispositivos

Ahora busca la habilidad llamada Arduino y agréguela. En el mismo momento de esta escritura, esa habilidad no está disponible en todo el mundo, pero estamos trabajando en ello y la aprobación para otros países está en curso.

Arduino Smart Home skill

Habilidad Arduino Smart Home

La pantalla debería tener este aspecto:

Devices with Arduino skill installed

Dispositivos con habilidad Arduino instalada

Ahora que la habilidad está configurada, finalmente podemos añadir nuestros dispositivos. Para hacerlo, vuelva a la pantalla Dispositivos y toque el signo + en la parte superior.

Add a new device

Añadir un nuevo dispositivo

Pulse en AddDevice, luego En otros y DiscoverDevices. El proceso de búsqueda puede tomar un poco, pero al final se le debe presentar esta pantalla:

Después de pulsar en Elegir dispositivo se le presentará la página de configuración que enumera todos los dispositivos disponibles (Se nombrarán de acuerdo con cómo nombramos nuestras propiedades en Arduino IoT Cloud).

Vamos a elegir un dispositivo y puntee SetUpDevice. Si te gusta también puedes añadirlo a un grupo (De esta manera puedes controlar y organizar tus dispositivos más fácilmente), de lo contrario omite esta parte.

Repita el proceso de configuración para cada dispositivo que desee controlar.

Por último, la vista del dispositivo debe tener este aspecto:

Finalmente podemos empezar a preguntar cosas como «Alexa, ¿cuál es la temperatura en la oficina?» o «Alexa enciende la luz en la sala de reuniones».

!Diviértase jugando con Alexa y IoT Cloud.!

 

 

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.