Cómo emitir comandos a dispositivos IoT dentro de la red WiFi

7

Tengo un dispositivo IoT que está conectado a una red WiFi. Actualmente, el dispositivo IoT ejecuta un pequeño servidor HTTP y envía señales de RF cuando recibe solicitudes POST a través de Internet de clientes HTTP. Para que esto funcione, tengo que habilitar el reenvío de puertos en mi enrutador WiFi, y los clientes HTTP deben conectarse a la dirección IP del enrutador. Esto parece una mala manera de hacerlo.

Noté que hay dispositivos que funcionan desde la red WiFi, como timbre de llamada, dispositivos Wink, etc., que no requieren reenvío de puertos, etc. Me pregunto cómo se hace.

Supongo que estos dispositivos son en realidad clientes HTTP y se conectan a servidores externos. Luego, el servidor realmente envía los comandos a los dispositivos del cliente (IoT).

Si es así, ¿podría dar alguna orientación sobre cómo crear el servidor (en Python), cómo conectar el dispositivo IoT al servidor (conexión HTTP) y cómo enviar los comandos del servidor al cliente (no se puede use POST ya que esta es la dirección incorrecta).

James Yeh
fuente
¿Alguna de estas preguntas es útil? ¿Cómo suelen permitir los dispositivos IoT de consumo la conexión a Internet? y contactar a Arduino a través de Internet sin puerto hacia adelante . Podría ser relevante para su situación también.
Aurora0001
¿Está tratando de enviar la solicitud POST dentro de su hogar utilizando una red local o, por ejemplo, está tratando de dar un comando a su hogar desde su trabajo? No pude entenderlo del todo.
atakanyenel

Respuestas:

3

¿Qué dispositivo estás usando? Dependerá de si puede cambiar el firmware o no. Compruebe si su dispositivo es compatible con MQTT, es una buena manera de controlar los dispositivos a través de una aplicación o un navegador web.

Tal vez quieras comprobar blynk. Es una aplicación de código abierto (por lo tanto, puede verificar cómo está hecho el servidor si lo desea) y, si solo desea usarla, es bastante fácil de usar.

Luis Diaz
fuente
Si sigue el camino MQTT, es probable que necesite un servidor fuera de la red doméstica para que los dispositivos se conecten, de lo contrario, todavía tiene el problema de reenvío de puertos. Creo que AWS IoT se basa en MQTT, y potencialmente sería una opción. Por supuesto, tendría que verificar la estructura de precios y las características para ver si es viable o si hay mejores opciones.
Aurora0001
1
Hablo desde mi experiencia (he estado usando blynk durante aproximadamente un año) y funciona bastante bien, con el servidor blynk y un servidor local (en una frambuesa pi). El costo es bastante bajo en este caso.
Luis Díaz