Cuidado ao usar o ESP8266 no modo AP_STA

Certas operações podem falhar silenciosamente nesse modo porque duas redes são criadas: a do AP e a do STA.

Por exemplo, se o ESP8266 estiver conectado a um roteador WiFi na sua rede (modo STA) e estiver com o modo AP habilitado, se o ESP8266 enviar um broadcast UDP para 255.255.255.255 esse broadcast não vai ser transmitido para a sua rede e sim para a rede criada pelo AP.

Mas se você mandar um broadcast para o endereço de broadcast da sua sub-rede, funciona, porque aí a biblioteca UDP sabe para onde mandar.

Por exemplo, se sua rede for da faixa 10.0.0.x:

resultado=udp.beginPacket(IPAddress(255, 255, 255, 255), 2391); //Não funciona

resultado=udp.beginPacket(IPAddress(10, 0, 0, 255), 2391); //Funciona mesmo com o AP habilitado

Claro, há situações em que mandar um broadcast para a sub-rede não é o bastante, pois você pode estar procurando o ESP8266 em outra sub-rede e não vai receber a mensagem. No momento eu não conheço outro jeito que não seja desligar o AP para enviar o broadcast.

Tags:

Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *