NOTA IMPORTANTE
HAY UN NUEVO PLUGIN PARA INTEGRAR DISPOSITIVOS DE CLIMA AMBIENTAL CON UBIDOTS DE MANERA MÁS FÁCIL.
El WS-2902A es una estación meteorológica profesional que envía datos en tiempo real a servicios de terceros, lo que le permite monitorear las condiciones interiores y exteriores para tomar decisiones inteligentes.
El sensor integrado inalámbrico todo en uno mide la velocidad del viento, la dirección del viento, la temperatura (°F y °C), la humedad, la velocidad del viento, la dirección del viento, la lluvia, la radiación UV y solar.
Siguiendo esta guía, podrá integrar el WS-2902A con Ubidots para mantener un ojo en las condiciones exteriores e interiores.
Requisitos
Paso a Paso
Configuración de hardware
Configuración de Wi-Fi
Configuración de Ambient Weather y Ubidots
1. Configuración de Hardware
Para el ensamblaje del hardware, recomendamos encarecidamente consultar la documentación oficial para asegurarse de la correcta instalación del WS-2902A.
Consola Interior
1. Conecte la consola de visualización a una fuente de alimentación de CA con el adaptador de corriente incluido. Después de que la consola esté conectada a la alimentación de CA, la consola mostrará el número de versión del software, dos segundos después de encenderse (ver imagen a continuación).
La consola mostrará todos los segmentos de LCD durante tres segundos después de encenderse, las condiciones interiores se actualizarán inmediatamente y el conjunto de sensores exteriores se registrará en unos minutos.
NOTA IMPORTANTE: La consola también puede ser alimentada con baterías, pero la función de Wi-Fi solo funciona cuando está conectada a la alimentación de CA debido a mayores requisitos de energía. Para esto, por favor mantenga la consola conectada directamente a la alimentación de CA en lugar de usar baterías.
Para una documentación detallada sobre las operaciones de los botones de la consola, luces, modo de repetición y configuraciones adicionales, consulte el siguiente enlace.
Con los dispositivos ya sincronizados, conectemos la consola interior a Wi-Fi para poder comenzar a transmitir los datos a Ubidots.
2. Configuración de Wi-Fi
NOTA IMPORTANTE: La consola debe estar conectada a la alimentación de CA, porque la función de Wi-Fi tiene mayores requisitos de energía.
1. Para conectar la estación meteorológica a Wi-Fi, primero debe descargar la aplicación desde una de las siguientes opciones:
2. Si el ícono de Wi-Fi (mostrado en la imagen a continuación) no está parpadeando rápidamente, (1) presione y mantenga presionados los botones RAIN y ALARM al mismo tiempo durante cuatro segundos. (2) El ícono de Wi-Fi comenzará a parpadear rápidamente, indicando que la consola está buscando su red Wi-Fi.
3. Una vez que el ícono de Wi-Fi esté parpadeando rápidamente, ejecute la aplicación Ambient Weather Osprey y presione “Agregar Dispositivo” para conectar su dispositivo móvil a la consola de visualización.
4. Asegúrese de que el ícono de Wi-Fi esté parpadeando rápidamente. Si no, presione y mantenga presionado el botón RAIN y ALARM durante cuatro segundos.
5. Si su dispositivo móvil no está conectado a su red Wi-Fi de 2.4 GHz, inicie "Configuración" en su dispositivo móvil y conéctese a la banda de 2.4 GHz en su enrutador, luego regrese al programa Ambient Tool.
6. El nombre de su enrutador aparecerá en el campo Router SSID si su teléfono está conectado a Wi-Fi. Ingrese su contraseña de Wi-Fi y presione “Guardar”.
8. Una vez que la consola establezca la conexión con su red Wi-Fi, la dirección MAC del dispositivo y la dirección IP se mostrarán en la aplicación. El ícono de Wi-Fi en su consola cambiará de parpadeo rápido a estático y la consola comenzará a actualizar los valores de la estación meteorológica.
9. Compare la dirección MAC mostrada con la de la consola para verificar si el dispositivo vinculado es el correcto. La dirección MAC de la consola se encuentra en la parte posterior del dispositivo.
10. Consulte el panel de carga haciendo clic en el dispositivo de la lista mostrada.
11. En el panel de carga encontrará los diversos servidores compatibles como AmbientWeather, Wunderground y WeatherCloud que proporcionan una integración plug & play preconstruida.
El propósito de esta guía es proporcionar las variables meteorológicas a Ubidots para poder monitorear y tomar decisiones en tiempo real basadas en esas condiciones. Para ello, vamos a actualizar los datos en Ambient Weather para luego publicar los datos en el lado de Ubidots utilizando la API de Ambient Weather.
Para ello, elija Ambient Weather entre los servidores compatibles.
12. Ingrese el tiempo de carga deseado (1 a 5 minutos) y seleccione el Interruptor de Carga Automática en ENCENDIDO.
3. Configuración de AmbientWeather Ubidots
Vaya a Ambient Weather para crear una cuenta y seleccione Agregar Dispositivo. Luego, ingrese la dirección MAC de la consola en el campo vacío:
Una vez que la dirección MAC ya esté especificada, debería recibir el mensaje de éxito que se muestra a continuación. Luego, presione Crear:
2. Una vez que la consola esté registrada, seleccione el panel de control para ver sus datos actualizándose en el lado de Ambient Weather.
3. Vaya a la configuración de la cuenta, allí encontrará las Claves API necesarias para comunicarse con la API de Ambient Weather. Si la Clave de Aplicación no se genera, debe solicitarla a través de support@ambientweather.com proporcionando la dirección MAC de la consola.
Con las claves necesarias ya generadas, es hora de configurar la cuenta de Ubidots.
4. Configuración de UbiFunction de Ubidots
1. Vaya a su cuenta de Ubidots → Dispositivos → Funciones
NOTA: El módulo de Funciones está disponible para todos los planes Profesionales (y superiores).
2. Haga clic en el ícono azul "+" en la esquina superior derecha para crear una nueva función:
3. Asigne un nombre a la Función, por ejemplo, "WS-2902A". Luego, asigne el POST como el método HTTP.
4. Para finalizar la Función, presione el botón azul "Hacerlo en vivo". Como verá, se genera la URL del endpoint.
5. Copie y pegue el código a continuación en el editor de código de la Función de Ubidots. Una vez pegado, asigne su Token de Ubidots, apiKeyWeatherAmbient y applicationKey donde se indica en el código a continuación:
const axios = require('axios');// Credenciales de Acceso a Ubidots var ubidotsToken = "BBFF-xxxxxxxxxxxxxxxxx";// Credenciales de Acceso a Weather Ambientvar apiKeyWeatherAmbient = 'xxxxxxxxxxxxxx';var applicationKeyWeatherAmbient = 'xxxxxxxxxxxxxx';// Esta función construye la solicitud HTTP GET a Weather Ambientasync function weatherAmbientRequest() { let config = { method: 'get', //url: 'https://private-anon-dfc32a6826-ambientweather.apiary-proxy.com/v1/devices?apiKey=' + apiKeyWeatherAmbient + '&applicationKey=' + applicationKeyWeatherAmbient, url: 'https://api.ambientweather.net/v1/devices?applicationKey=' + applicationKeyWeatherAmbient + '&apiKey=' + apiKeyWeatherAmbient, } const response = await axios.request(config); return response.data;}// Esta función construye la solicitud HTTP POST a Ubidotsasync function ubidotsPostRequest(deviceLabel, body) { var config = { method: 'post', url: 'https://industrial.api.ubidots.com/api/v1.6/devices/' + deviceLabel, data: body, headers: { 'Content-Type': 'application/json', 'X-Auth-Token': ubidotsToken } } return axios.request(config).then(response => response)}// Esta función construye la solicitud HTTP GET a Ubidotsasync function ubidotsGetRequest(deviceLabel, variableLabel) { var config = { method: 'get', url: 'https://industrial.ubidots.com/api/v1.6/devices/' + deviceLabel + '/' + variableLabel, headers: { //'Content-Type': 'application/json', 'X-Auth-Token': ubidotsToken } }; return axios.request(config).then(response => response)}async function main(args) { var waResponse = await weatherAmbientRequest(); var deviceLabel = waResponse[0]['macAddress']; var waResponse = waResponse[0]['lastData']; var actualTimestamp = waResponse['dateutc']; let res; var payload = { "winddir": [{"value": waResponse['winddir'], "timestamp": actualTimestamp}], "windspeedmph": [{"value": waResponse['windspeedmph'], "timestamp": actualTimestamp}], "windgustmph": [{"value": waResponse['windgustmph'], "timestamp": actualTimestamp}], "maxdailygust": [{"value": waResponse['maxdailygust'], "timestamp": actualTimestamp}], "tempf": [{"value": waResponse['tempf'], "timestamp": actualTimestamp}], "hourlyrainin": [{"value": waResponse['hourlyrainin'], "timestamp": actualTimestamp}], "dailyrainin": [{"value": waResponse['dailyrainin'], "timestamp": actualTimestamp}], "weeklyrainin": [{"value": waResponse['weeklyrainin'], "timestamp": actualTimestamp}], "monthlyrainin": [{"value": waResponse['monthlyrainin'], "timestamp": actualTimestamp}], "totalrainin": [{"value": waResponse['totalrainin'], "timestamp": actualTimestamp}], "baromrelin": [{"value": waResponse['baromrelin'], "timestamp": actualTimestamp}], "baromabsin": [{"value": waResponse['baromabsin'], "timestamp": actualTimestamp}], "humidity": [{"value": waResponse['humidity'], "timestamp": actualTimestamp}], "tempinf": [{"value": waResponse['tempinf'], "timestamp": actualTimestamp}], "humidityin": [{"value": waResponse['humidityin'], "timestamp": actualTimestamp}], "uv": [{"value": waResponse['uv'], "timestamp": actualTimestamp}], "solarradiation": [{"value": waResponse['solarradiation'], "timestamp": actualTimestamp}], "feelsLike": [{"value": waResponse['feelsLike'], "timestamp": actualTimestamp}], "dewPoint": [{"value": waResponse['dewPoint'], "timestamp": actualTimestamp}], "lastRain": [{"value": 1, "context":{"lastRain": waResponse['lastRain']}, "timestamp": actualTimestamp}] }; return ubidotsGetRequest(deviceLabel, 'winddir') .then(response => { let ubidotsLastTimestamp = response.data['last_value']['timestamp'] if (actualTimestamp != ubidotsLastTimestamp) { return ubidotsPostRequest(deviceLabel, payload) } }) .catch(err => { if (err.response.status == 404) { return ubidotsPostRequest(deviceLabel, payload) } }) .then(res => {return {parser_status: "OK"}});}
6. En el tiempo de ejecución, seleccione NodeJS como lenguaje de programación.
7. Ahora tenemos que asignar con qué frecuencia queremos activar la UbiFunction. Para hacer esto, active el interruptor "Disparador basado en tiempo" y asigne el tiempo requerido para activar la función en minutos.
Desactivado:
Activado:
Para finalizar, guarde los cambios presionando "Hacerlo en vivo".
8. Después de crear la función, los datos se actualizarán en su cuenta en el intervalo elegido. Para verificar la funcionalidad, haga clic en el menú desplegable Dispositivos → Dispositivos y localice el nuevo dispositivo de Ambient Weather creado utilizando UbiFunctions.
9. ¿No le gusta que la dirección MAC sea el nombre de su dispositivo en su visualización de Ubidots? ¡No se preocupe! Puede cambiar el nombre a uno más amigable, pero la etiqueta del dispositivo permanecerá como la dirección MAC para que no haya confusión entre dispositivos. Consulte este artículo del centro de ayuda para entender mejor Etiquetas de Dispositivos y Nombres de Dispositivos en Ubidots.
10. Con los datos ya en nuestra cuenta de Ubidots, es hora de crear Tableros de Ubidots para visualizar y entender sus datos para tomar mejores decisiones de manera simple e inteligente.
Aprenda más sobre las aplicaciones impulsadas por Ubidots, la marca blanca, la gestión de usuarios y cómo funcionan juntas para ofrecer soluciones IoT, aquí.
5. Resumen
En solo un par de minutos, integró con éxito su Ambient Weather WS-2902A para transmitir datos en vivo a Ubidots donde los datos pueden comenzar a trabajar en su aplicación impulsada por Ubidots. Ahora, es hora de ensamblar tableros y agregar usuarios que puedan ver e interactuar con los datos de su aplicación. :)
Otros lectores también han encontrado útil...