Sistema SMS Kammando y Control Central

Algunas personas quieren poder controlar varias cosas diferentes a través de un salpicadero y de su teléfono con, por ejemplo, SMS. Esto se puede hacer con GSMCloud y se puede escalar en términos de números y comandos.

En este post haremos uso de los siguientes nodos:

  • TIEMPO: Añadir Tiempo, Entre, Pulso.
  • LÓGICA: NOT Gate, Is NULL, Value, AND, Match.
  • Notificaciones: Recibir SMS, Enviar SMS, Escribir en el registro.

Comparado con un flujo básico que utiliza comandos a través de SMS, es relativamente sencillo.

Comenzamos haciendo uso de nuestro nodo "Recibir SMS", donde necesitamos crear un subsistema que lleve la cuenta de cuándo debe actualizarse el flujo. Esto se debe a que podemos encontrarnos fácilmente con algo llamado "punto muerto". 

Y RECUERDA, no dejes nada sin utilizar en el campo "PARA" en Enviar SMS. 

Sistema de actualización

Empezamos por tomar nuestro SMS de recepción, después de lo cual tenemos que conectar Timestamp a 2x Add Time - Add Time debe establecerse en 10 segundos. Ahora necesitamos nuestro nodo Between, este nodo debe estar conectado a ambos nodos Add time - uno debe cronometrar "Time" y el otro a "Input 2". Ahora solo conecta el Timestamp de Receive SMS a "Input 1". La salida del nodo Between va en un pulso de 10 segundos.

Sistema de actualización de recepción de SMS

Números de teléfono

Esta parte no es complicada, pero puede ser larga teniendo en cuenta cuántas personas necesitan poder enviar mensajes SMS al sistema. Aquí necesitamos nuestro nodo Value(text) y el nodo Match.

¿Cómo funciona el nodo match?

En resumen, toma una entrada que hace coincidir con los campos que contiene y toma la entrada que va al campo.

Ante todo, conviene tener una lista de las personas que estarán en el sistema. Todos los números deben empezar por un código de país. En nuestro caso, "+45".

En Recibir SMS hay una salida llamada "Remitente" que debe ser arrastrada a la entrada de nuestro nodo coincidente. Ahora el nodo emparejará el número de teléfono que entra con el que está escrito.

Ahora puedes tomar el nodo Valor y cambiarlo a texto para añadir nombres al nodo coincidencia, de forma que puedas registrar fácilmente quién envió un SMS y cuándo sin problemas.

Ahora dispone de un sistema que gestionará los números de teléfono y se asegurará de que son los correctos.

Comandos y códigos SMS

En realidad es lo mismo que con los números de teléfono. No hay mucha diferencia, la única diferencia es que realmente no importa lo que escribas en el nodo Match. Siempre y cuando reciba el tipo correcto de entrada. Por ejemplo, si le das un valor "TRUE", pasará "TRUE", pero "TRUE" no será registrado o enviado como mensaje sin un sistema adicional que pueda "transformar" el valor a una STRING que esté "viva". PERO, se puede utilizar en la forma de un sistema para "disparar" algo más si quiere.

Pero puedes darle al nodo de coincidencia "temp", "1" o "?62345". Después de crear los comandos que quieras, puedes tomar cualquier salida de tu dispositivo, por ejemplo temperatura y última actualización de un GT-1000 Pro, no podrás tomar batería porque es un valor verdadero/falso, sin tener que hacer nada extra.

Recibir comandos SMS Match Flow

Sin embargo, no quiero registrar a personas que no están en la lista.

No hay problema, sólo añadimos un pequeño extra al flujo. Si el nodo "Match" para datos que no coinciden, dará "NULL" como salida. Lo que significa que podemos cubicar un nodo "Is NULL", "Not GATE" y un nodo "AND Gate" para solucionar el problema.

Toma un nodo "Is NULL" y conéctalo a la salida de nuestro nodo de coincidencia de número de teléfono. Luego necesitamos conectar nuestro "Is NULL" a una "AND Gate". A continuación, conecte su pulso a la "AND Gate" también.

Esto significa que siempre enviará "True" si llega un nuevo mensaje, independientemente de si se trata del mismo número o no. También significa que si una persona que envía un SMS no está en la lista de números de teléfono "permitidos", nuestra "Puerta AND" no irá a "Verdadero".

Conectar todo el sistema

En primer lugar, podemos añadir un nodo "Write To Log". Con esto tenemos que crear un mensaje, en este mensaje tenemos que crear algunas variables - para mantenerlo simple mi mensaje será sólo `{sender} - {command}`. Esto nos permite extraer la salida de otros nodos en nuestro mensaje.

Ahora es finalmente el momento, en su Recibir SMS necesita conectar "Remitente" con su nodo de coincidencia de número de teléfono - además necesita conectar "Mensaje" con el nodo de comando.

Tanto tu nodo de coincidencia de número telefónico como el nodo de comando deben estar conectados a nuestro nodo "Write To Log". Y nuestra "AND Gate" debe estar conectada a nuestra "Write" Input en el nodo Log.

Pero me gustaría recibir un mensaje SMS

Entonces sólo tienes que utilizar nuestro nodo "Enviar SMS". Es necesario añadir todos los números de teléfono a los que desea enviar en el campo llamado "Para", para introducir más números, pulse "enter" después, los números en este nodo no necesitan un código de país.

Hay que decir que todo el mundo en este nodo recibirá un mensaje - separar los mensajes en función de quién envía un mensaje requiere un mayor desarrollo en su flujo.

Los dibujos se realizan con Exalidraw