No código abaixo feito na IDE do Arduíno a conexão funcionou muito bem e o IP fixo também, porém ao colocar a senha e o nome do dispositivo "não funcionou", apesar da documentação da lib do arduino dizer para usar estas funções, na pratica isso não foi verdade("ainda não sei o por que?mas quando eu tiver a resposta vou postar nos comentários", se alguém souber por favor dê um help ai), o nome do WIFI não mudou e nem pediu senha.Foi resolvido este problema do nome da wifi e da senha apenas colocando uma senha maior que 8 caracteres.
O código fonte:
#include <ESP8266WiFi.h> #include <ESP8266WebServer.h>//caso use o modo servidor WiFiServer server(80);//usa porta 80 void setup() { setupWiFi(); } void loop() { // checa se tem algum dispositivo conectado! WiFiClient client = server.available(); if (!client) {return;} // Lê a primeir linha dos dados recebidos pelo pacote ethernet String req = client.readStringUntil('\r'); client.flush(); // prepara pagina ehtenet String s = "HTTP/1.1 200 OK\r\n"; s += "Content-Type: text/html\r\n\r\n"; s += "<!DOCTYPE HTML>\r\n<html>\r\n"; s += "<br> você está conectado 2 <br>"; s += "</html>\n"; // envia a pagina client.print(s); delay(1); //cliente desconectado // a cada requisição a pagina é enviada e o cliente é desconectado } void setupWiFi() { ////////////////////// // definições da WiFi // ////////////////////// const char* WiFi_Senha = "123456789";//senha que você quer usar(deve ser em branco(aberta) ou maior que 8 caráteres,senão não funciona e não troca o nome da wifi) const char* WiFi_Nome = "Microcontroladores-c";//nome que você quer dar a sua rede IPAddress ip(192,168,50,4);//ok IPAddress gateway(192,168,50,1);//ok IPAddress subnet(255,255,255,0);//ok //////inicializa a wifi////////////////////////////////////////////// uint8_t mac[WL_MAC_ADDR_LENGTH]; WiFi.softAPmacAddress(mac);//mac qualquer pra testar WiFi.softAPConfig(ip, gateway, subnet); // WiFi.mode(WIFI_AP);//modo acess point(cliente) WiFi.mode(WIFI_AP_STA);//modo acess point e servidor WiFi.softAP(WiFi_Nome, WiFi_Senha); WiFi.begin(); server.begin(); }
Como estamos usando a porta 80 não precisa digitar a porta, apenas IP no dispositivo
que está sendo conectado a placa.veja na foto a imagem da tela de meu smartphone.
O Endereço IP não deveria ser igual ao de gateway neste caso?
ResponderExcluir