NodeMCU buscar dados no SD Card para se conectar na rede

Tenho um NodeMCU com uma programação bem simples onde a única meta é se conectar a minha rede wifi. O código é um exemplo do esp8266 e tem duas constantes:

const char* ssid = "minharede";
const char* password = "minhasenha";

Funciona perfeitamente.

Agora adicionei um SD Card com a única intenção de colocar esses valores ssid e password via um arquivo já gravado no sd não sei se .txt ou .xml

porque desejo fazer isso?

Vou iniciar um trabalho de faculdade com meu filho, vou tentar ajuda-lo a fazer, minha idéia é fazer todo o trabalho aqui em casa e depois no dia da apresentação ele só altera o ssid e senha no arquivo do SD via pc mesmo sem necessidade de compilar novamente o código. Quero fazer dessa forma porque no último trabalho fizemos um ótimo trabalho e no dia da apresentação quando ele foi compilar na faculdade o código novamente não sabemos oque houve ou porque, mas queimou o node e ele perdeu o semestre pois tirou 0.

Resumidamente eu só queria ter um arquivo no SD que tivesse 2 dados : SSID e SENHA e que no node essas constantes const char* ssid = "minharede"; const char* password = "minhasenha"; fossem abastecidas por eles.

Agradeço a todos Garagistas a ajuda.

Exibições: 789

Responder esta

Respostas a este tópico

Boa tarde BD.

Eu uso o o ESP e uso o recurso da biblioteca  " WiFiManager ".

Ela faz assim:

Se o ESP tentar conectar na rede e não conseguir, ele entra em AP mode com um IP 192.168.4.1.

Daí com o PC ou mesmo um celular, acesso esta rede e abro uma tela no navegador,

onde é pedindo o SSID e a senha da rede que quero acessar.

Ao digitar estes valores e dar enter, aos novos valores de SSID e Senha são salvo, e ele tenta então

conectar nesta rede que informei. Se houver sucesso, funciona normalmente, se não houver,

ou se for para outro lugar com outra rede,  ao reset, ele entra novamente em AP mode 

e permite novamente que mude os valores de SSID e senha.

RV

Boa Noite RV, obrigado pela resposta.

Fiquei com duvidas, veja se pode me ajudar:

- depois de inserir esses valores (SSID e SENHA) pelo navegador isso fica salvo ou se eu desligar o node tenho que fazer novamente,  

- Consigo definir um ip também?

Boa noite BD.

Consegui escrever o sketch que permite alterar tudo.

SSID, PW, IP, GW e SN, e salva tudo.

Permite ainda, que ao apertar e segurar um botão e dar um reset,, entre em AP mode

e abra pra modificar todos este parâmetros novamente.

RV

http://labdegaragem.com/forum/topics/alterar-par-metros-de-wifi-esp...

Bom dia Amigo, tudo certo?

Conseguiu resolver seu problema ou ainda está precisando?

A um tempo atrás tive a mesma duvida e consegui resolver com a ajuda de uma parceiro aqui do Lab de Garagem (o mestre Jose Augusto Cintra).

Porém usei um MEGA com shield ethernet, pois as bibliotecas utilizadas são grandes e faltou memória para utilizar o UNO.

Utilizei a biblioteca inifile e os parametros da rede eu definia num arquivo .INI salvo no SD.

Abraços e obrigado.

Você pode usar a própria EEPROM do arduino que tem 1024 bytes para salvar estas informacoes e ela fica de forma definitiva...

Biblioteca
#include <EEPROM.h>

gravar:
EEPROM.write(endereco, valor); // end: 0 até 1023, valor é o caracter a salvar

ler:
byte value;
value = EEPROM.read(endereco);

com isso você ja pode fazer muita coisa :)


Boa tarde MW,

O projeto do BD não é com arduino, e sim com ESP8266.

O ESP não tem EEPROM, mas o firmware dele permite uma "simulação de EEPROM", 

alem disso ele tem um espaço de 3 Mega de memoria não volátil disponível para o

programador, acessivel com a s biblioteca FS.h, e com o uso do recurso chamado SPIFSS,

você pode "emular" um SD card de 3 Mega.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço