Eu tenho um dispositivo IoT conectado a uma rede WiFi. Atualmente, o dispositivo IoT executa um pequeno servidor HTTP e envia sinais de RF quando recebe solicitações de POST via Internet de clientes HTTP. Para fazer isso funcionar, tenho que habilitar o encaminhamento de porta no meu roteador WiFi, e os clientes HTTP precisam se conectar ao endereço IP do roteador. Parece ser uma maneira ruim de fazer isso.
Percebo que existem dispositivos que funcionam dentro da rede WiFi - como campainha, dispositivos Wink, etc., que não requerem encaminhamento de porta, etc. Estou me perguntando como isso é feito.
Suponho que esses dispositivos sejam realmente clientes HTTP e se conectem a servidores externos. Em seguida, o servidor realmente envia os comandos para os dispositivos cliente (IoT).
Se assim for, você poderia fornecer algumas orientações sobre como criar o servidor (em Python), como conectar o dispositivo IoT ao servidor (conexão HTTP) e como enviar os comandos do servidor para o cliente (não é possível use POST, pois esta é a direção errada).
Respostas:
Que dispositivo você está utilizando? Vai depender se você conseguir alterar o firmware ou não. Verifique se o seu dispositivo é compatível com o MQTT, é uma boa maneira de controlar dispositivos por meio de um aplicativo ou navegador da web.
Talvez você queira verificar blynk. É um aplicativo de código aberto (portanto, você pode verificar como o servidor é criado, se quiser) e, se você quiser apenas usá-lo, é muito fácil de usar.
fonte