Paso 4: Crear los flujos de trabajo
Una vez que has instalado nodo rojo, debería ver una página web como ésta cuando navega a http://ip.of.your.pi:1880
Esto es donde crearás tus flujos de trabajo, que deben mirar como el nuestro. La parte de la izquierda se llama la paleta, y es donde se encuentra cada nodo disponible para su uso, incluyendo los instaló o creó a sí mismo.
Sólo tienes que arrastrar un nodo de la izquierda para comenzar. Verás que una vez que lo haces, muestra un pequeño triángulo rojo en la parte superior del módulo: Esto significa que el nodo debe ser configurado. Sólo haga doble clic en él y especifique los parámetros solicitados.
Una vez que esté satisfecho con su configuración, debe hacer clic en el botón de despliegue en la parte superior derecha de la pantalla.
Nuestro flujo de trabajo
Para esto instruir capaz debe ser capaz de obtener la aplicación para trabajar simplemente usando la misma configuración como lo hicimos.
Vamos ahora a través de los diferentes componentes:
Primera cadena
(1) cada 6h"
Este es un nodo de dispositivo inject: no recibe cualquier entrada pero genera uno con el contenido que usted elija, y usted puede decidir cuánto lo hace. En nuestro caso el tema debe ser "Seleccionar * de Alya" donde Alya es el primer usuario (o más precisamente, el nombre de la tabla MySQL para su primer usuario).
El argumento de repetición se establece en "intervalo entre tiempos", cada 60 minutos, cada día.
(2) servidor de medios DB
Este es un nodo de MySQL y puede encontrarse en la categoría de almacenamiento de información. En la barra lateral verá una pestaña de "Configuración" donde podrás introducir el nombre de host, puerto, etc. para su base de datos MySQL. En nuestro caso ingresamos la IP local de los NAS de Synology pero si ha instalado MySQL en su Pi, este debe ser localhost. Puede probar la conexión para asegurarse de que sus parámetros son correctos.
(3) tiendas
Este es un nodo de función: te permite hacer lo que quieras con el contenido que reciba, y enviar de nuevo todo lo que te gusta, simplemente por escribir unas pocas líneas de Javascript.
En nuestro caso el código es el siguiente:
Como se ha entendido, esta cadena obtiene el contenido de la tabla para el usuario Alya y guarda las coordenadas geográficas de diferentes lugares en una variable global. Esto nos permite cambiar las coordenadas de una ubicación específica de un usuario (si su lugar de trabajo cambia por ejemplo) directamente en la base de datos sin cambiar nada en el código
Segunda cadena (uno principal)
(1) Geoloc Alya
Este es un nodo MQTT. Debe introducir el nombre del host, etc de su corredor MQTT portuario. En nuestro caso esto era localhost ya que el corredor y nodo rojo están en la misma IP. También debe decidir que tema el nodo debería suscribirse a: ya que estamos siguiendo el usuario Alya, ponemos /owntracks/alya. Este nodo será activada cada vez que un mensaje se publique en el tema MQTT especificado. En nuestro caso que va a ocurrir cada vez que el usuario cambia de ubicación.
(2) Comparar
Este es un nodo de función, por lo que puede ingresar cualquier código que desee: aquí recibe las coordenadas actuales del usuario y lo compara con las localizaciones conocidas para decidir donde está el usuario. Aquí está el código que ingresamos en la función
LED + (3) la función
Este nodo es un nodo de función de base de chispa: no estará disponible por defecto, por el contrario debe ser instalado por usted, siguiendo las instrucciones en esta página https://community.spark.io/t/spark-core-and-node-r...
Usted podrá ingresar su ID de base, su símbolo y el nombre de la función que desea llamar (debe ser una función anunciada públicamente por su base). Puesto que no estamos dando el nodo cualquier parámetro, se le enviará el resultado del nodo anterior como la carga útil (que debería ser "alya, casa")
Esta parte podría tener más sentido que una vez has configurar su base en unos pocos pasos ^^
Nota: cuando hicimos este proyecto no hubo ningún nodo central chispa en nodo rojo: lo que hicimos fue hacer una simple llamada HTTP en vez de usar la API de base. Sin embargo es mucho más fácil usar un nodo dedicado.
Por lo que es el flujo de trabajo para un usuario: las cinco pestañas diferentes son cinco diferentes flujos de trabajo, estrictamente idénticos a excepción de
- La solicitud SQL (seleccionar * de usernameTable)
- El tema MQTT suscrito (owntracks/nombre de usuario)
- La salida que se envía a la base ("nombre de usuario, ubicación")