Certaines personnes souhaitent pouvoir contrôler différentes choses à la fois via un tableau de bord et leur téléphone, par exemple par SMS. Cela est possible avec GSMCloud et peut être étendu en termes de nombre et de commandes.
Dans ce billet, nous utiliserons les nœuds suivants :
- TIME : Ajouter du temps, Entre, Impulsion.
- LOGIQUE : NOT Gate, Is NULL, Value, AND, Match.
- Notifications : réception de SMS, envoi de SMS, écriture dans le journal.
Comparé à un flux de base utilisant des commandes par SMS, il est relativement simple.
Nous commençons par utiliser notre nœud "Recevoir des SMS", où nous devons créer un sous-système qui surveille le moment où le flux doit être mis à jour. En effet, nous pouvons facilement rencontrer ce que l'on appelle un "blocage".
Et N'OUBLIEZ PAS, ne laissez rien d'inutilisé dans le champ "TO" de l'envoi de SMS.
Système de mise à jour
Nous commençons par prendre notre SMS de réception, après quoi nous devons connecter l'horodatage à deux fois le temps d'ajout - le temps d'ajout doit être réglé sur 10 secondes. Nous avons maintenant besoin de notre nœud Between, ce nœud doit être connecté aux deux nœuds Add Time - l'un doit chronométrer "Time" et l'autre "Input 2". Il suffit maintenant de connecter l'horodatage de la réception du SMS à l'"Entrée 1". La sortie du nœud Between prend une impulsion de 10 secondes.
Numéros de téléphone
Cette partie n'est pas compliquée, mais peut être longue si l'on considère le nombre de personnes qui doivent pouvoir envoyer des messages SMS au système. Ici, nous avons besoin de notre nœud Value(text) et de notre nœud Match.
Comment fonctionne le nœud de correspondance ?
En bref, il prend une entrée qu'il fait correspondre aux champs qu'elle contient et prend l'entrée qui va au champ.
Tout d'abord, il est conseillé de dresser une liste des personnes qui utiliseront le système. Tous les numéros doivent commencer par un code de pays. Dans notre cas, il s'agit de "+45".
Dans Receive SMS, il y a une sortie appelée "Sender" qui doit être glissée vers l'entrée de notre nœud de correspondance. Le nœud va maintenant faire correspondre le numéro de téléphone qui arrive avec celui qui est écrit.
Vous pouvez maintenant prendre le nœud Valeur et le transformer en texte pour ajouter des noms au nœud Correspondance, ce qui vous permet d'enregistrer facilement qui a envoyé un SMS et quand, sans aucun problème.
Vous disposez désormais d'un système qui gère les numéros de téléphone et s'assure qu'il s'agit des bons.
Commandes et codes SMS
C'est en fait la même chose qu'avec les numéros de téléphone. Il n'y a pas beaucoup de différence, la seule différence étant que ce que vous tapez dans le nœud de correspondance n'a pas vraiment d'importance. Tant qu'il reçoit le bon type d'entrée. Par exemple, si vous lui donnez la valeur "VRAI", il transmettra "VRAI", mais "VRAI" ne sera pas enregistré ou envoyé comme message sans un système supplémentaire qui peut "transformer" la valeur en une CHAÎNE "vivante". MAIS, il peut être utilisé sous la forme d'un système pour "déclencher" quelque chose d'autre s'il le souhaite.
Mais vous pouvez donner au nœud de correspondance "temp", "1" ou "?62345". Une fois que vous avez créé les commandes que vous voulez, vous pouvez prendre n'importe quelle sortie de votre appareil, par exemple la température et la dernière mise à jour d'un GT-1000 Pro, vous ne pourrez pas prendre la batterie parce que c'est une valeur vrai/faux, sans avoir à faire quoi que ce soit d'autre.
Cependant, je ne veux pas enregistrer des personnes qui ne figurent pas sur la liste.
Pas de problème, nous ajoutons simplement un petit plus au flux. Si le nœud "Match" trouve des données qui ne correspondent pas, il donnera "NULL" en sortie. Cela signifie que nous pouvons ajouter un nœud "Is NULL", "Not GATE" et un nœud "AND Gate" pour résoudre le problème.
Prenez un nœud " Is NULL " et connectez-le à la sortie de notre nœud de correspondance de numéro de téléphone. Nous devons ensuite connecter notre nœud "Is NULL" à une "AND Gate". Connectez ensuite votre impulsion à la "porte ET".
Cela signifie qu'il enverra toujours un message vrai si un nouveau message arrive, qu'il s'agisse ou non du même numéro. Cela signifie également que si la personne qui envoie un SMS ne figure pas sur la liste des numéros de téléphone "autorisés", notre "porte ET" ne passera pas à "Vrai".
Connecter l'ensemble du système
Tout d'abord, nous pouvons ajouter un noeud "Write To Log". Avec celui-ci nous devons créer un message, dans ce message nous devons créer quelques variables - pour rester simple mon message sera juste `{sender} - {command}`. Cela nous permet d'intégrer la sortie d'autres noeuds dans notre message.
Il est enfin temps, dans votre Receive SMS, de connecter "Sender" au nœud de correspondance de votre numéro de téléphone - de plus, vous devez connecter "Message" au nœud de commande.
Le nœud de correspondance du numéro de téléphone et le nœud de commande doivent être connectés à notre nœud "Write To Log". Et notre " porte ET " doit être connectée à l'entrée " Write " du nœud Log.
Mais je souhaite recevoir un message SMS
Il vous suffit ensuite d'utiliser notre nœud "Envoyer un SMS". Vous devez ajouter tous les numéros de téléphone que vous voulez envoyer dans le champ appelé "To", pour entrer plus de numéros, appuyez sur "enter" après, les numéros dans ce nœud n'ont pas besoin d'un code de pays.
Il convient de préciser que tout le monde dans ce nœud recevra un message - la séparation des messages en fonction de l'expéditeur nécessite un développement plus approfondi de votre flux.
Les dessins sont réalisés avec Exalidraw