Skip to main content

Conectando SenseCAP a Twilio vía Node-RED

SenseCAP K1100 - El Kit Prototipo de Sensores representa la concentración de Seeed Studio en la esencia de la comunicación LoRa® aplicada a productos de tecnología e inteligencia, para el despliegue y dominio más sencillo de aplicaciones LoRa® e IoT.

pir

Actualizable a Sensores Industriales

Con el controlador SenseCAP S2110 y el registrador de datos S2100, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con la creación de prototipos, sino que también te ofrece la posibilidad de ampliar tu proyecto con la serie SenseCAP de robustos sensores industriales.

La carcasa IP66, configuración por Bluetooth, compatibilidad con la red global LoRaWAN®, batería integrada de 19 Ah y potente soporte desde la APP hacen del SenseCAP S210x la mejor opción para aplicaciones industriales. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad lumínica, CO2, CE y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.

SenseCAP Industrial Sensor
S2100
Data Logger
S2101
Air Temp & Humidity
S2102
Light
S2103
Air Temp & Humidity & CO2
S2104
Soil Moisture & Temp
S2105
Soil Moisture & Temp & EC
S2110
LoRaWAN® Controller
S2120
8-in-1 Weather Station

Twilio

Twilio es una plataforma de interacción con clientes utilizada por cientos de miles de empresas y más de diez millones de desarrolladores en todo el mundo para crear experiencias únicas y personalizadas para sus clientes.

Twilio es conocido por democratizar canales como voz, texto, chat, video y correo electrónico a través de APIs, facilitando que cualquier organización construya interacciones significativas con los clientes en los canales que prefieren.

pir

Esta sección usará el kit SenseCAP K1100 así como la consola SenseCAP y Node-RED para completar la tarea de activar un envío de mensaje Twilio bajo ciertas condiciones.

Si no has instalado o no sabes qué es Node-RED, por favor consulta Tutoriales de Node-RED & SenseCAP.

Crear Nodo MQTT

Paso 1. Iniciar Node-RED

Inicia Node-RED escribiendo el comando node-red en la terminal, luego abre un navegador e ingresa la dirección http://localhost:1880 en la barra de direcciones para acceder al editor de Node-RED.

Paso 2. Crear Nodo MQTT

Usamos el nodo Network -> mqtt in y configuramos MQTT con el formato de la API de SenseCAP como se indica en el tutorial anterior.

  • Servidor: openstream.api.sensecap.seeed.cc

  • Puerto: 1883

  • Protocolo: MQTT V3.1.1

  • ID de Cliente: El formato es org-<Organization ID>-<Random ID>

    • <Organization ID> Tu ID de organización. Lo obtuviste en la sección Obtener la API de SenseCAP.
    • <Random ID> Usa un número o letras minúsculas generados aleatoriamente.
  • Formato del tópico: /device_sensor_data/<OrgID>/<DeviceEUI>/<Channel>/<Reserved>/<MeasurementID>

OrgIDTu ID de organización. Lo obtuviste en la sección Obtener API de SenseCAP.
DevEUIIdentificación única del dispositivo sensor. Esta información se encuentra en la etiqueta en la parte trasera del Grove - Wio E5, así como en la consola de SenseCAP.
ChannelUna interfaz física en el dispositivo a la que está conectado el sensor. Para el kit K1100, el valor predeterminado es 1.
ReservedCampos reservados.
MeasurementIDID del valor medido. Este ID se puede encontrar en la sección Measurement IDs de la documentación de SenseCAP

Paso 3. Validar nodos MQTT

Una vez configurado, por favor haz clic en el botón Deploy en la esquina superior derecha para comprobar si la configuración fue exitosa. Si está todo correctamente rellenado, aparecerá la palabra Connected.

Configurar Twilio

Paso 1. Regístrate o inicia sesión en Twilio

Si ya te has registrado en Twilio, por favor inicia sesión en la página de Twilio.

Si no has usado o registrado una cuenta en Twilio, completa tu registro e inicia sesión aquí.

Paso 2. Obtener la información necesaria

Podemos probar usando un servicio gratuito que envía mensajes SMS al teléfono móvil que verificaste durante el registro.

Haz clic en Get a trial phone number en la pantalla principal.

Twilio generará automáticamente un número de teléfono Twilio para ti.

En la parte inferior de la pantalla principal, bajo Account Info, encontrarás lo que necesitamos para conectar con Twilio.

Por favor anota el Account SID, Auth Token y My Twilio phone number, que usaremos más adelante en Node-RED.

Configurar Node-RED

Paso 1. Descargar el paquete de Twilio

Haz clic en la barra de menú superior derecha y selecciona Settings.

Busca e instala node-red-node-twilio en la pestaña Palettes -> Install.

Agrega el nodo twilio out desde la barra de almacenamiento a la izquierda, haz doble clic para entrar a la página de configuración, luego haz clic en el botón de editar para configurar el nodo twilio out.

Paso 2. Editar nodo twilio out

Por favor, rellena los campos correspondientes con la información obtenida en la configuración previa de Twilio. Luego, haz clic en el botón Add en la esquina superior derecha.

Después, rellena el número de teléfono móvil que registraste en Twilio.

note

Ten en cuenta que debes agregar el prefijo "+ código de país" al número de teléfono móvil que ingreses aquí.

Paso 3. Configurar el nodo función

El contenido del SMS puede definirse dentro del nodo función, y las condiciones para disparar el envío pueden ser reglas basadas en los datos reportados por la plataforma PaaS, todo esto puede personalizarse en el bloque función.

Arrastra un nodo función desde la barra de funciones a la izquierda, haz doble clic para entrar a la página de edición, y luego copia el código dentro del evento On Message.

Por ejemplo, en esta sección, cuando se recibe un valor del sensor, el valor se envía al teléfono móvil, y el código podría ser algo así.

{
var payload = msg.payload;
var topic = msg.topic;
var strs = topic.split("/");
var length = strs.length
if (length >= 2) {
var measurementId = strs[length - 1]
var value = payload.value
if (measurementId == 4100) {
msg.payload = "CO2:" + value
} else if (measurementId == 4103) {
msg.payload = "soilmoisture:" + value
} else if (measurementId == 4150) {
msg.payload = "accelX:" + value
} else if (measurementId == 4151) {
msg.payload = "accelY:" + value
} else if (measurementId == 4152) {
msg.payload = "accelZ:" + value
} else if (measurementId == 4192) {
msg.payload = "sound:" + value
} else if (measurementId == 4193) {
msg.payload = "light:" + value
} else if (measurementId == 4195) {
msg.payload = "tvoc:" + value
} else if (measurementId == 4097) {
msg.payload = "temperature:" + value
} else if (measurementId == 4098) {
msg.payload = "humidity:" + value
} else if (measurementId == 4175) {
msg.payload = "AIdetection_1:" + value
} else if (measurementId == 4176) {
msg.payload = "AIdetection_2:" + value
} else if (measurementId == 4177) {
msg.payload = "AIdetection_3:" + value
} else if (measurementId == 4178) {
msg.payload = "AIdetection_4:" + value
} else if (measurementId == 4179) {
msg.payload = "AIdetection_5:" + value
} else if (measurementId == 4180) {
msg.payload = "AIdetection_6:" + value
} else if (measurementId == 4181) {
msg.payload = "AIdetection_7:" + value
} else if (measurementId == 4182) {
msg.payload = "AIdetection_8:" + value
} else if (measurementId == 4183) {
msg.payload = "AIdetection_9:" + value
} else if (measurementId == 4184) {
msg.payload = "AIdetection_10:" + value
}
}
return msg;
}
note

¡Por favor, mantente atento al saldo de tu cuenta! El código anterior enviará un SMS diferente por cada sensor cada cinco minutos. ¡Esto puede agotar rápidamente tu saldo si usas el código directamente! Recomendamos programar para un sensor específico en lugar de enviar cada valor de sensor una vez.

Paso 4. Implementar (Deploy)

Luego conectamos todos los nodos y hacemos clic en el botón Deploy, y si todo está correctamente configurado, el nodo mqtt in mostrará el estado connected.

Si deseas ver la información de registro de los datos, puedes agregar un nodo de depuración (debug) después del nodo función.

Una vez que el Wio Terminal se enciende y comienza a funcionar, enviará datos al servidor SenseCAP PaaS, y podremos revisar los datos en el registro de depuración de Node-RED.

Si todo funciona correctamente, también recibirás un mensaje de texto de Twilio con los valores del sensor.

Solución de Problemas

P1: ¿Por qué no puedo encontrar la pestaña Palettes en Node-RED?

R: Si no puedes encontrar la pestaña Palettes en la configuración, revisa tu terminal para ver si aparece un mensaje de error al iniciar Node-RED.

El escenario más común es que tu versión de npm sea demasiado antigua para iniciar el editor de Palettes.

Si ese es tu caso, ejecuta PowerShell como administrador e ingresa el siguiente comando para actualizar npm:

npm install -g npm

Luego solamente reinicia tu Node-RED.

Soporte Técnico y Discusión de Producto

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender distintas preferencias y necesidades.

Loading Comments...