ESP32 Arduino: Obtendo o IP do cliente remoto

Eletrônica

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);
}

Para testar o código, você pode usar um navegador da web como um cliente de soquete para acessar o servidor ESP32. Para fazer isso, basta abrir um navegador da Web de sua preferência e digitar o seguinte "http://#yourESPIp#/", alterando # yourESPIp # pelo endereço IP do seu ESP32, que foi impresso no monitor serial do Arduíno IDE, no exemplo abaixo o comando a ser executado no navegador sera http://192.168.1.78


Fonte
https://www.dfrobot.com/blog-1004.html
Mais Dicas