Étape 4: Créer les flux de travail
Une fois que vous avez installé le nœud rouge, vous devriez voir une page Web comme celui-ci lorsque vous naviguez vers http://ip.of.your.pi:1880
C’est où vous créez vos flux de production, qui devrait se retrouver à la recherche comme le nôtre. La partie de gauche est appelée la palette, et c’est où vous pourrez voir tous les nœuds disponibles pour vous à utiliser, y compris ceux que vous avez installé ou créé vous-même.
Il suffit de glisser un nœud de la gauche pour commencer. Vous verrez qu’une fois que vous le faites, il affiche un petit triangle rouge sur le dessus du module : cela signifie que le noeud doit être configuré. Il suffit de double-cliquer dessus et entrer les paramètres demandés.
Une fois que vous êtes satisfait de votre configuration, vous devez cliquer sur le bouton déployer sur la partie supérieure droite sur l’écran.
Notre flux de travail
Pour cela demander à mesure, vous devriez être en mesure d’obtenir l’application au travail en utilisant simplement la même configuration que nous avons fait.
Nous allons maintenant passer par les différentes composantes :
Première chaîne
(1) « toutes les 6h"
Il s’agit d’un nœud inject : il ne reçoit aucun apport mais génère un avec le contenu que vous choisissez, et vous pouvez décider combien de fois qu’il le fasse. Dans notre cas, le sujet doit être « Sélectionnez * de Alya » où Alya est votre premier utilisateur (ou plus précisément, le nom de la table MySQL pour votre premier utilisateur).
L’argument répéter est définie à « intervalle entre temps », toutes les 60 minutes, tous les jours.
(2) serveur multimédia DB
C’est un noeud de MySQL et peut être trouvé dans la catégorie stockage. Dans la barre latérale, vous devriez voir un onglet « Configuration » où vous serez en mesure d’entrer le nom d’hôte, port, etc. pour votre base de données MySQL. Dans notre cas, nous sommes entrés dans le local IP du NAS Synology mais si vous avez installé MySQL sur votre facture pro forma, cela devrait être localhost. Vous pouvez tester la connexion pour s’assurer que vos paramètres sont corrects.
(3) emplacements de magasins
Il s’agit d’un nœud de fonction : il permet de faire tout ce que vous voulez avec le contenu que vous recevez et envoyez de nouveau tout ce que vous aimez, simplement en écrivant quelques lignes de Javascript.
Dans notre cas, le code est comme suit :
Comme vous l’avez compris, cette chaîne récupère le contenu de la table pour l’utilisateur Alya et enregistre les coordonnées géographiques pour les différents emplacements dans une variable globale. Cela nous permet de modifier les coordonnées d’un endroit spécifique pour un utilisateur (si leur lieu de travail change par exemple) directement dans la base de données sans modifier quoi que ce soit dans le code
Deuxième chaîne (celui principal)
(1) Geoloc Alya
Il s’agit d’un nœud MQTT. Vous devez entrer le nom d’hôte, port, etc. de votre courtier MQTT. Dans notre cas il s’agissait de localhost puisque le courtier et le nœud rouge sont sur la même facture pro forma. Vous devez également décider quel sujet le nœud devrait souscrire à: puisque nous suivons l’utilisateur Alya, nous avons mis /owntracks/alya. Ce nœud sera activé à chaque fois un message est publié dans la rubrique MQTT spécifiée. Dans notre cas, cela se produira chaque fois que l’utilisateur modifie l’emplacement.
(2) comparer
Il s’agit d’un nœud de fonction, alors vous pouvez entrer le code : ici, il reçoit les coordonnées actuelles de l’utilisateur et le compare aux sites connus de décider où l’utilisateur est actuellement. Voici le code que nous sommes entrés dans la fonction
Fonction (3) + LED
Ce nœud est un nœud de fonction noyau étincelle : il ne sera pas disponible par défaut, au lieu de cela, il doit être installé par vous, en suivant les instructions sur cette page https://community.spark.io/t/spark-core-and-node-r...
Vous serez alors en mesure d’entrer votre ID de la base, votre jeton et le nom de la fonction que vous souhaitez appeler (il doit être une fonction annoncée publiquement par votre noyau). Étant donné que nous donnons pas le nœud tous les paramètres, il enverra le résultat du nœud précédent comme la charge utile (qui devrait ressembler à « alya, maison »)
Cette partie peut être plus logique de vous une fois que vous avez configurer votre noyau en quelques étapes ^^
Remarque : lorsque nous avons fait ce projet il n’y avait aucun nœud d’étincelle Core en noeud-rouge : ce que nous avons fait passer un simple appel HTTP au lieu d’utiliser l’API de base. Toutefois, il est beaucoup plus facile d’utiliser un nœud dédié.
C’est le flux de travail pour un seul utilisateur : les cinq onglets différents sont cinq différents workflows, strictement identiques à l’exception des
- La requête SQL (SELECT * d’usernameTable)
- Le sujet MQTT souscrit (nom d’utilisateur/owntracks /)
- La sortie qui est envoyée au noyau ("nom d’utilisateur, emplacement")