Cómo crear una configuración remota para un dispositivo Arduino
Si solo puedes controlar un dispositivo inteligente localmente, entonces no se puede llamar inteligente. Entonces, ¿de qué sirve? Lo que necesitas es la capacidad de controlar tu dispositivo de forma remota. Y aquí es donde entra en juego la configuración remota.
La configuración remota permite a los desarrolladores y usuarios activar acciones y controlar sus dispositivos desde cualquier lugar. Device State interpreta la señal enviada a través de la red (en este caso, PubNub) y cambia permanentemente el estado del dispositivo (como una bombilla de apagado a encendido) según las instrucciones de la señal.
Una capa de mensajería para configuración remota
En este tutorial, mostraremos cómo implementar la configuración remota en dispositivos en red Arduino [basados en Atmel]. Durante el proceso de desarrollo, encontramos dos problemas.
1. El estado del dispositivo de red (como el estado en línea/fuera de línea)
2 El estado del dispositivo conectado a la nube
Mediante el uso la API de Presencia, el primero El primer problema se resuelve fácilmente, por lo que nos centraremos en el segundo problema. Utilizaremos un enfoque de almacenamiento y reproducción para almacenar y recuperar el estado de los dispositivos en red para su uso en soluciones de automatización del hogar. De esta forma, podremos controlar de forma remota dispositivos inteligentes y enviar señales en tiempo real.
El objeto JSON es un ejemplo típico, como se muestra a continuación:
{"status": [
{"power on": "true"},
{"Volumen de café: la mitad"},
{"Temperatura": ""}
]}
Configuración remota general Proceso
● Regístrate para obtener una cuenta gratuita de PubNub. Esto le dará una clave única de publicación/suscripción para activar PubNub. Estas claves se encuentran en la consola del desarrollador.
● Utilice Arduino para publicar mensajes y controlar dispositivos inteligentes a través de la red PubNub IoT.
● Accede a estos mensajes a través de un navegador web.
¡Aprende el tutorial!
Paso 1: Conéctate a PubNub
Por ejemplo, controla la temperatura del refrigerador. Los siguientes parámetros se pueden almacenar como estado del dispositivo, como verificar el estado de apertura de la puerta del refrigerador, la temperatura, el consumo de energía e incluso el volumen del refrigerador.
Ejecútelo en el IDE de Arduino y consulte el tutorial sobre cómo conectar PubNub al Arduino en el paso dos para obtener más detalles.
Paso 2: Crear un objeto JSON en Arduino
Para crear un objeto json en Arduino, necesitamos usar la biblioteca JSON.h. Para crear el objeto JSON mencionado anteriormente, consulte los siguientes pasos:
aJsonObject *msg = aJson.createObject();
aJson.addStringToObject(msg, "Name", " Arduino" );
aJson.addNumberToObject(msg, "External Temperature", 34);
Paso 3: Enviar señal al dispositivo
Aparte de eso Solo necesitas usar Arduino IDE para publicar mensajes.
Para hacer esto, puede consultar el siguiente código:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
char pubkey[] = " demo";
char subkey[] = "demo";
char channel[] = "estado del dispositivo";
//setup
void setup()
{
Serial.begin(9600);
Serial.println("Configuración del puerto serie"); p>
while (!Ethernet.begin(mac)) {
Serial.println("Error de configuración de Ethernet");
retardo(1000);
}
Serial.println("Configuración de Ethernet");
PubNub.begin(pubkey, subclave);
Serial.println("PubNub); Configuración");
}
// establecer conexión a Internet con Arduino y publicar el estado
void loop()
{
Ethernet.maintain();
EthernetClient *cliente;
cliente = PubNub.publish(canal, mensaje);
si (!cliente) {
Serial.println("Error de publicación");
} else {
cliente-gt(); >
}
delay(5000);
}
Además, si solo se puede ver en un navegador web, ¿qué debo hacer? ¿El estado del dispositivo? Pegue el siguiente código en la consola del navegador y verifique el estado.
//Inicialización de clave de publicación y suscripción
var pubnub = PUBNUB.init({
publicar_key: 'PUBLISH_KEY_HERE',
subscribe_key : 'SUBSCRIBE_KEY_HERE',
uuid: 'devices_state estado del dispositivo'
});
// Recuperar mensajes que se han publicado en este canal a lo largo del historial.
pubnub.history({
canal: 'History_channel',
devolución de llamada: función(m){console.log(JSON.stringify( m)) },
});
¡Eso es todo! Una cosa más: PubNub no limita la cantidad de mensajes que puedes publicar o recuperar a través del historial. Puedes probarlo con varios Arduinos y ver su estado de forma remota.
Los casos de uso para la configuración remota son infinitos, desde la agricultura hasta el transporte y la logística hasta la automatización del hogar. Le brinda control total sobre sus dispositivos inteligentes desde cualquier parte del planeta y es increíblemente poderoso.