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
Tags:
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'> 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
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
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:
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
Boa tarde LSO,
qual a versão da biblioteca json que vs está usando no seu projeto?
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por