Sistema de IoT wifi de dispositivo a dispositivo / máquina a máquina: envío de mensaje / acción a un dispositivo conectado

0

No estoy seguro de si esta es la mejor comunidad para esta pregunta, pero no pude encontrar una dedicada a IoT. ¿O debería preguntar en StackOverflow?

Estoy buscando construir el siguiente sistema de IoT usando dispositivos WiFi: - Total de 3 dispositivos con capacidad wifi. - Los dispositivos # 1 y # 2 actúan como sensores. Supongamos que son sensores de tipo ON-OFF simples (cambio de estado muy poco frecuente) - El dispositivo # 3 está actuando como un actuador, controlando una salida ON / OFF - Funcionalidad requerida: el dispositivo # 3 debe activar su salida, cuando tanto el dispositivo # 1 como el # 2 lean 'ON' en sus sensores

He pasado hoy buscando maneras de lograr esto. Revisé Particle Photon, Sparkfun Thing, etc. para los dispositivos y Thingspeak, data.sparfun.com para la parte de la nube / Internet. Pero no pude ver cómo podría lograr esto. Lo que no me queda claro es: --- ¿cómo hacer llegar el mensaje al dispositivo actuador para activar su salida? ¿Encuesta o envía un mensaje? como hacer bien

Aquí hay un enfoque potencial en el que pensé:

  1. Usa Sparkfun Thing para los dispositivos
  2. Los dispositivos sensores utilizan HTTP para publicar los datos del sensor en la nube cuando detectan un cambio en los valores de sus sensores.
  3. El dispositivo actuador, sondeará periódicamente (mediante la emisión de solicitudes GET de HTTP) la nube y buscará los datos de los sensores. Y cuando vea que ambos están ENCENDIDOS, activará su salida ENCENDIDO

El problema con esto es que necesito una reacción rápida, es decir, una vez que ambos sensores estén en ON, necesito que el actuador encienda la salida en 2-3 segundos. Esto significa que, con el método de "sondeo", necesito hacer encuestas con bastante frecuencia, y no estoy seguro de que los límites de velocidad en Thingspeak y data.sparkfun.com lo permitan.

Para resumir mis preguntas: --- ¿cómo hacer llegar el mensaje al dispositivo actuador para activar su salida? ¿Hay alguna otra manera que no sea el sondeo, donde se puede enviar un mensaje al dispositivo? --- Cualquier sugerencia sobre qué plataforma (fotón, cosa Sparkfun o cualquier otra) usar para este tipo de proyecto --- Cualquier otra sugerencia (incluso totalmente diferente) sobre cómo lograr el sistema con la funcionalidad requerida descrita anteriormente

Gracias.

    
pregunta O.K.

1 respuesta

3

Si yo fuera tú, usaría el protocolo de mensajería MQTT. Es simple y fácil de usar. Pero requiere una máquina broker (servidor) para funcionar. Recomiendo leer este artículo sobre MQTT . También es realmente fácil agregar más sensores al sistema.

Su sistema debería ser así si utiliza MQTT:

  • Dispositivo n. ° 1, n. ° 2: "editores", la mayoría de las veces duermen profundamente (los dispositivos WiFi realmente consumen mucha energía, pueden consumir unos 200 mA durante la transmisión de datos). Solo se activan con el cambio de estado del sensor y luego publican sus estados (llamémoslos "ON1", "ON2", "OFF1", "OFF2") a un tema (llamémoslo "Estado").
  • Dispositivo # 3: "suscriptor", se suscribe al tema "Estado" y comprueba si los dos últimos mensajes fueron "ON1" y "ON2". Los mensajes llegan "inmediatamente" cuando se usa el protocolo MQTT, por lo que crear una función de devolución de llamada al recibir un mensaje será lo suficientemente rápido para lograr un tiempo de respuesta de 2-3 segundos (de hecho, será mucho más rápido).

  • El intermediario MQTT, por ejemplo, una Raspberry Pi o uno en línea como esto , se usa para hospedar temas.

Tenga en cuenta que si está utilizando una LAN, no un intermediario en línea, también puede funcionar como Dispositivo # 3 ("suscriptor").

    
respondido por el Bendegúz Szatmári

Lea otras preguntas en las etiquetas