Bom dia pessoal.

Não sou programador, tudo que sei aprendi sobre programar ou sozinho, ou com ajuda de

amigos como o GSSS CEI (Gran Samurai Sir San Celso Eijo Ito),

o SL CK (Sir Lord Carlos Kweik), e muitos outros grandes amigos.

Com o meu aprendizado sobre ESP8266 em crescimento, senti necessidade de alguns recursos:

Consegui obter dados do sensor SHT10;

Consegui salvar, e usar em HTML, ícones na memoria livre (3Mega) do ESP;

Com ajuda do CEI, consegui montar um "sistema" de controle de iluminação bem básico.

hoje consigo acender aqui em casa,  5 lampadas e ambientes diferentes estando em qq lugar

do muuuuunnnnnddddooo.   KKKK

Consegui aprender umas outras coisinha também.

Sobre o acesso externo, como meu IP dado pela concessionaria é dinâmico,

pode mudar a qq momento,

Sei que existem outras maneira de resolver, tais como o uso de sites

DDNS(acho que é isto mesmo),

mas resolvi ao meu modo assim: (Meio maluco).

Usei um Raspberry rodando Raspbian e rodando uma aplicação nod-rede.

(Aqui no Ceará é Nó de Rede kkkk).

Este rasp fica de hora em hora consultando o meu IP em um site que informa o meu IP na WAN.

Daí se o IP for igual ao da hora anterior ele não faz nada, mas se mudar, o nod-rede me envia

um email com o novo IP.

Esta parte teve uma grande ajuda do CK e do CEI.  Sem eles eu não tinha conseguido fazer.

Bom, vamos agora pra nova encrenca.

Mudar os dados de acesso de uma rede WIFI.

Resolvi fazer um projeto pra minha irmã, que mora em um sitio nas montanhas.

Lá a temperatura pode chegar a quase 0 oc.

O objetivo é instalar um ESP com um sensor SHT10 do lado de fora da casa, e acessar 

pela rede para ver a temperatura externa e definir com que roupa sair, ou se as plantas

precisam de alguma proteção.

Mas ai começaram os problemas.

Ela é somente uma usuária.

Dai pensei.  Vou montar uma solução que ao não conseguir logar na rede, entre

em AP mode e ela usa a receita de bolo que fornecerei pra ela.

Legal, encontrei algo prontinho nos exemplos da biblioteca WiFiManager.h.

Se não consegue logar na rede, entra em AP mode com um IP 192.168.4.1.

Sei que existem vários projetos de mudança de senha, mas achei este bem versátil.

Legal

Usei o exemplo: AutoConnect.ino

Dai no seu navegador acessa-se a rede que ele criou e acessa o IP 192.168.4.1

e aparece um menu,  seleciona-se uma opção, e se for a primeira,

vão aparecerão todas redes disponíveis

Dai escolhe-se a sua e digita a senha e clica em save.

Legal.

O ESP reconfigura e automaticamente dá um novo boot com os novos valores.

Conseguindo logar, usa um IP dinâmico e roda o seu sketch.

Mas tem um problema. Qual o IP ele obteve?

Ai pensei

Vou modificar esta biblioteca pra salvar o IP também.

Nem precisou, tem um exemplo que permite digitar o IP, o Gateway e a Subnet.

Exemplo: AutoConnectWithStaticIP.ino

Funcionou, mas ao dar novo boot ele usa o IP dinâmico.

E ai estou apanhado?   Aceito ajuda.   Como salvar e reusar os valores digitados?

RV

Exibições: 4270

Anexos

Responder esta

Respostas a este tópico

RV, interessante a proposta, a lib é essa aqui, https://github.com/tzapu/WiFiManager para quem não conhece.

a função de ip estatico da LIB wifiManager é essa aqui

wifiManager.setSTAStaticIPConfig(IPAddress(192,168,0,99), IPAddress(192,168,0,1), IPAddress(255,255,255,0));

O ideal seria colocar na configuração do wifiManager a opção de inserir um IP junto com a SSID e a Senha

Vou ter que dar uma pesquisada onde fica o HTML da pagina inicial da Lib, para maiores propostas.
Criei um Fork do projeto no github caso alguem interessar em propor alguma coisa nesse meio tempo rsrs

https://github.com/tbagro/WiFiManager

Achei a linha que deve ser alterada na Lib WiFiManager.h na linha 32, para inserção de mais parametros

const char HTTP_FORM_START[] PROGMEM = "<form method='get' action='wifisave'><input id='s' name='s' length=32 placeholder='SSID'><br/><input id='p' name='p' length=64 type='password' placeholder='password'><br/>";

não esta muito dificil a parte HTML deverá ficar assim imagino eu

const char HTTP_FORM_START[] PROGMEM = "<form method='get' action='wifisave'>
<input id='s' name='s' length=32 placeholder='SSID'><br/>
<input id='p' name='p' length=64 type='password' placeholder='password'><br/>
Config static Ip<br/>
<input id='c' name='c' length=64 type='IP' placeholder='ip'><br/>
<input id='g' name='g' length=64 type='IP' placeholder='gateway'><br/>
<input id='sb' name='sb' length=64 type='sb' placeholder='mask sub-rede'><br/>";

O negocio é descobrir como encaixar as IDs nas funções dentro da Lib

Bom dai TA,

Vou verificar esta sua sugestão e coloco o resultado aqui.

RV

Achei essa postagem aqui, parece que tinha essa opção

http://www.esp8266.com/viewtopic.php?p=42991

2016-03-03 11.13.49.png

o correto era por de volta, eu estou vendo como faço para voltar na tela de configuração depois de configurado para testes, mas ainda não achei, o mais perto disso foi esse comando

wifiManager.startConfigPortal("OnDemandAP"); 

onde ele ativa novamente o modo AP para nova configuração

Bom dia TA.

Eu consegui usar esta tela também, mas ao dar um novo boot ele não usou

o IP que digitei, usou sim o SSID e a senha mas gerou um IP dinâmico.

Eu estou estudando a biblioteca para tentar salvar estes valores de IP/GW/e SN 

na memória do ESP com a biblioteca FS.h.

Para conseguir voltar á esta tela, você pode apagar os valores salvos  de SSID e PW,

usando este método:    wifiManager.resetSettings();

RV

Boa noite pessoal e TA.

Consegui.

RV

opa, posta ai rsrs, eu estudei a tarde, mas não tinha chegado numa definição.

Ok

Segue abaixo.

Acredito que dá pra simplificar ainda mais o sketch.

RV

Anexos

RV, meus parabéns, testei aqui ficou muito bom, eu ira gastar  mais uns 4 dias para ter um resultado similar isso se eu conseguisse rsrs

Já ta salvo na minha pasta de projetos

Boa noite Rui, 

Gosto demais dos tutoriais desse Indiano (o cara é fera! )  Veja se lhe serve:

How to make your device’s IP address Static & Port Forward – A Practical Demo – part 1

https://alselectro.wordpress.com/2016/10/05/how-to-make-your-device...

How to make your device’s IP address Static & Port Forward – A Practical Demo – part 2

https://alselectro.wordpress.com/2016/10/19/how-to-make-your-device...

Port Forwarding– part 1 . Tips & Troubleshooting

https://alselectro.wordpress.com/2015/07/03/port-forwarding-part-1-...

Wi Fi Module ESP8266 – 4.Control from anywhere in the World–Internet of Things

https://alselectro.wordpress.com/2015/05/31/wi-fi-module-esp8266-4-...

e muito mais em:

https://alselectro.wordpress.com/category/esp8266/

Pessoal, boa tarde.

Na versão anterior do sketch faltou a linha que apaga o LED indicativo de AP mode.

Este que estou postando agora está corrigido.

RV

Anexos

Boa tarde LSO,

qual a versão da biblioteca json que vs está usando no seu projeto?
RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço