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
Tags:
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....
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por