Esp8266 (NodeMcu) arduino IDE (clients/server) DDNS/IP ajuda

Boa tarde Galera.

Estou com um projeto ja desenvolvido e funcionando, onde uso um(ou varios)  ESP8266 através de um NodeMcu,  eles são clients em um rede e buscam um IP/porta de um servidor (aplicação C# sockets).

Os modulos se conectam nesse servidor pelo ip interno da rede e pela porta(aberta para aquele IP) e inicia-se uma comunicação que funciona muito bem.

Tambem testei a comunicação colocando os modulos para buscarem um IP fixo externo e a comunicação tambem se estabeleceu sem problemas.

Essa é a parte do codigo que declaro as strings e bytes para usar o endereço IP (trabalho com o Ip em string para poder salvar na EEPROM do ESP, pois pode-se mudar o ip via software.

WiFiClient Cliente;

unsigned int PORTA ;  //variavel  porta
String PORTA1 = "9000";  // sring porta1 para salvar na eeprom

PORTA = PORTA1.toInt(); // converte a string porta1 para int porta
String ipA = "192"; //  1ª parte do IP em string
String ipB = "168"; //   2ª      "         "          "
String ipC = "001"; //   3ª     "          "           "
String ipD = "100"; //   4ª      "         "           "
byte a = ipA.toInt();  // converte a 1ª para byte
byte b = ipB.toInt();  // converte a 2ª para byte
byte c = ipC.toInt();  // converte a 3ª para byte
byte d = ipD.toInt();  // converte a 4ª para byte


byte server[4] = {};   // aqui é onde monta o IP

server[0] = b;  // aqui é onde monta o IP
server[1] = c;  // aqui é onde monta o IP
server[2] = d;  // aqui é onde monta o IP
server[3] = e;  // aqui é onde monta o IP

Aqui eu faço ele conectar no sercidor:

(Cliente.connect(server, PORTA))

Apos estar conectado esse comando envia qualquer dado pelo socket

Cliente.print ("comunicando...");

A ajuda que eu preciso é fazer esses clients(ESP8266) se conectarem no servidor através de um DDNS   por exemplo  servidor1.ddns.net  ai ele redireciona para o ip do local e através da porta acha o servidor.

Alguem tem um ideia de como colocar esse endereço ddns na ide do arrduino?

Att.

RCO

Exibições: 1044

Responder esta

Respostas a este tópico

Eaew cara, alguma novidade em seu projeto?

Não sei bem se te ajuda, mas estava lendo uns artigos sobre a ESP8266 e algumas bibliotecas que estão surgindo, quando encontrei um artigo falando sobre conectar na rede de forma mais simples.... 

https://goo.gl/2P4qZH

O artigo da pagina 47... ele fala da biblioteca WiFiManager e consequentemente cita a DNSServer:

"<DNSServer> ativa serviços de DNS para que seja mais simples encontrar o nosso ESP na rede, os DNS apareceram para facilitar o acesso a dispositivos ligados uma rede TCP/IP, em vez de termos que decorar um IP 192.168... ou passar a rede a pente fino para descobrir que IP foi atribuído ao nosso ESP, com esta biblioteca podemos simplesmente aceder ao ESP utilizando o nome que que definimos no código seguido de .local, utilizando o código acima como exemplo vemos que na função wifiManager.autoConnect(“OMEUESP”), passamos a String OMEUSESP caso queiramos saber o IP dele ou verificar se está ativo na rede podemos fazer um ping a omeuesp.local e será devolvido o resultado do ping que contem o tempo que demorou e o IP do ESP."

Ainda n testei, mas achei interessante a ferramenta. 

Boa noite,

Para um cliente, o serviço DDNS é um DNS comum pois o servidor DNS é que se vira para ficar atualizando o IP dinâmico.

O ESP8266 já vem com biblioteca para usar o serviço DNS como cliente e é só usar os exemplos que já vem com a instalação da board ESP8266.

Boa sorte,

  'Eiju

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço