Neste tutorial, verificaremos como obter o IP de um cliente de soquete que se conecta a um servidor de soquete hospedado no ESP32, usando o núcleo do Arduino
O código do Arduíno
O código do Arduino será muito simples. Vamos nos concentrar em obter o IP do cliente remoto, por isso não vamos estabelecer nenhuma troca de dados com ele.
Como de costume, já que precisamos tornar nosso ESP32 acessível por clientes, precisaremos conectá-lo a uma rede WiFi. Isso significa que precisamos incluir a biblioteca WiFi.h e declarar duas variáveis ??para manter as credenciais da rede (senha e nome da rede).
Também precisaremos de um objeto da classe WiFiServer , que usaremos para configurar o servidor e receber conexões do cliente de soquete de entrada.
O construtor desta classe recebe como entrada a porta onde o servidor estará escutando.
Será usado o método Serial.println(client.remoteIP()); , ele e responsável por recolher o IP do cliente que será impresso na serial. Veja o código completo abaixo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include "WiFi.h" //Bloco de configuração WIFI const char* ssid = "yourNetworkName"; const char* password = "yourNetworkPassword"; WiFiServer wifiServer(80); void setup() { Serial.begin(115200); delay(1000); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Conectando a rede WIFI.."); } Serial.println("Conectado a REDE WIFI "); Serial.println(WiFi.localIP()); wifiServer.begin(); } void loop() { WiFiClient client = wifiServer.available(); if (client) { Serial.print("Cliente conectado com IP:"); Serial.println(client.remoteIP()); client.stop(); } delay(100); } |