Ir ao conteúdo
  • Cadastre-se

ESP8266 - A Pequena Maravilha para Comunicação WIFI


aphawk

Posts recomendados

@rodrigocirilo ,

 

Ainda não ví nada sobre esse assunto, e nem sei os limites. Mas a maneira de uso é essa mesmo, basta dar o nome e o valor, e pronto. Pode ser um vetor também, só não sei se pode ser multidimensional.

 

Todo o ESP8266Basic é escrito sobre a IDE do Arduíno para o ESP8266.

 

Tem até o fonte dele para ser compilado no Arduíno se você quiser baixar  para ver como esses comandos funcionam :

 

https://github.com/esp8266/Basic/tree/NewWebSockets

 

Paulo

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

56 minutos atrás, _xyko_ disse:

Isso não é problema, senão nem rodaria o ESPlorer. Tudo (penso) que roda no x86 roda no 64bits, só n~so pode o inverso.

@aphawk

Parece que com o FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

foi em alguns segundos. Agora vou tentar gravar algum "hello" pra ver se funciona. Informo resultado.

 

Tem coisa que trava, a compatibilidade de perfirs não é 100% garantida... Dentre as coisas que voce falou, só há 3 possibilidades. O seu firmware ta bichado, erro no programa*devido a esse caso* ou seu NODEmcu ta bichado, kkkkkkkk

 

Pra ter certeza se eu fosse voce eu tentava instalar m firmware qualquer, pode ser até mesmo aquele do tuto que eu mandei pra voce umas paginas atrás. Se compilar, voce ja sabe que o problema é o firmware, senão, vai ser mais difícil achar.

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, lucianolcoa disse:

Tem coisa que trava, a compatibilidade de perfirs não é 100% garantida... Dentre as coisas que voce falou, só há 3 possibilidades. O seu firmware ta bichado, erro no programa*devido a esse caso* ou seu NODEmcu ta bichado, kkkkkkkk

 

 

Hehehe eu te garanto que existe uma quarta opção .....

 

Tenho dois Nodemcus que é um parto para gravar. Tanto no Windows 7 como no Windows 10. Logo quando comprei, o programa normal atualizava ele sem problema. Quando comecei a experimentar outros firmwares, a droga do programa parou de gravar direito. 

 

Hoje, só consigo gravar com o programa de gravação original do fabricante do módulo ESP.

 

A quarta opção ?  Esse programa que o pessoal fez para atualizar o Nodemcu tem algum bug mal explicado, e não é só para mim que dá erro ! Tem muita gente com o mesmo problema ...

 

Enquanto só usava os firmwares do Nodemcu, sempre funcionou.

 

Quando mudei o firmware, nunca mais gravou direito ....

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

6 minutos atrás, aphawk disse:

 

Hehehe eu te garanto que existe uma quarta opção .....

 

Tenho dois Nodemcus que é um parto para gravar. Tanto no Windows 7 como no Windows 10. Logo quando comprei, o programa normal atualizava ele sem problema. Quando comecei a experimentar outros firmwares, a droga do programa parou de gravar direito. 

 

Hoje, só consigo gravar com o programa de gravação original do fabricante do módulo ESP.

 

A quarta opção ?  Esse programa que o pessoal fez para atualizar o Nodemcu tem algum bug mal explicado, e não é só para mim que dá erro ! Tem muita gente com o mesmo problema ...

 

Enquanto só usava os firmwares do Nodemcu, sempre funcionou.

 

Quando mudei o firmware, nunca mais gravou direito ....

 

Paulo

Essas gravações que você está tendo problemas é a feita pelo esp8266basic?

Link para o comentário
Compartilhar em outros sites

@rodrigocirilo ,

 

Tanto a do ESP8266Basic, como de outros programas que eu pego já compilados pela Ide do Arduíno para os ESP8266 ....

 

Mas o curioso é que nem o programa de gravação do ESP8266Basic consegue gravar sem problema também !!!!!

 

Só o do fabricante do ESP funciona que é uma maravilha ...

 

No Fórum do ESP8266Basic o autor disse, faz uma semana mais ou menos,  que identificou o problema e atualizou o programa. Talvez tenha resolvido.... mas eu não saio mais do programa original do fabricante porque ele tem muito mais opções.

 

Vai entender ...

 

A minha sorte é que depois do firmware atualizado eu não preciso mais fazer nada via serial no ESP. Tudo é feito via Web, e salvo os programas na flash. Também, com 3MB de flash livre ...... dá para gravar milhares de programinhas com arquivos tipo txt !

 

Paulo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

5 minutos atrás, aphawk disse:

@rodrigocirilo ,

 

Tanto a do ESP8266Basic, como de outros programas que eu pego já compilados pela Ide do Arduíno para os ESP8266 ....

 

Mas o curioso é que nem o programa de gravação do ESP8266Basic consegue gravar sem problema também !!!!!

 

Só o do fabricante do ESP funciona que é uma maravilha ...

 

No Fórum do ESP8266Basic o autor disse, faz uma semana mais ou menos,  que identificou o problema e atualizou o programa. Talvez tenha resolvido.... mas eu não saio mais do programa original do fabricante porque ele tem muito mais opções.

 

Vai entender ...

 

A minha sorte é que depois do firmware atualizado eu não preciso mais fazer nada via serial no ESP. Tudo é feito via Web, e salvo os programas na flash. Também, com 3MB de flash livre ...... dá para gravar milhares de programinhas com arquivos tipo txt !

 

Paulo

 

Vocês diz que nao sai mais do programa original do fabricante, então não está usando oesp8266basic pra programar? por exemplo o programa que fez de mandar email na mudança de estado do pino, seria possivel usar o programa original do fabricante e continuar usando o sistema esp8266basic, pra programar via web?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@rodrigocirilo ,

 

Callllma kkkkkk !

 

Para GRAVAR o firmware do ESP8266Basic, eu uso o programa original de gravação feito pelo fabricante dos ESP. é aquele que eu passei o link na resposta ao _XIKO_.

 

Uma vez gravado o firmware, eu acesso o ESP8266Basic pela própria WEB !!!!  É só acessar o endereço IP programado e pronto !

 

O ESP8266Basic é um interpreter. Basta a gente gravar o arquivo do programa na memória Flash, e pronto.

 

Por isso que digo que não preciso mais ligar nada na serial do Nodemcu, pois tudo eu faço via Web, posso fazer o debug, posso ver as variáveis, tudo !

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

16 minutos atrás, aphawk disse:

@rodrigocirilo ,

 

Callllma kkkkkk !

 

Para GRAVAR o firmware do ESP8266Basic, eu uso o programa original de gravação feito pelo fabricante dos ESP. é aquele que eu passei o link na resposta ao _XIKO_.

 

Uma vez gravado o firmware, eu acesso o ESP8266Basic pela própria WEB !!!!  É só acessar o endereço IP programado e pronto !

 

O ESP8266Basic é um interpreter. Basta a gente gravar o arquivo do programa na memória Flash, e pronto.

 

Por isso que digo que não preciso mais ligar nada na serial do Nodemcu, pois tudo eu faço via Web, posso fazer o debug, posso ver as variáveis, tudo !

 

Paulo

kkkk eu ja apavoro que nao vou conseguir usar kkkk

 

Esse programa de gravação original faz o que o ESP_basic_flasher.exe faz ?? então devo usar qual ? detalhe os dois pc´s que uso pra programar (um desktop e um note) são windows XP kkkk será que terei problemas?

 

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, rodrigocirilo disse:

kkkk eu ja apavoro que nao vou conseguir usar kkkk

 

Esse programa de gravação original faz o que o ESP_basic_flasher.exe faz ?? então devo usar qual ? detalhe os dois pc´s que uso pra programar (um desktop e um note) são windows XP kkkk será que terei problemas?

 

 

Caramba parece que você nasceu de 5 meses kkkkk !

 

Pode usar no XP sem nenhum problema, é só instalar o driver do Nodemcu e pronto.

 

voce pode tentar de cara usar o ESP_basic_flasher.exe . Se funcionar, ótimo, problema resolvido.

 

Se não funcionar, baixe aquele link do GITHUB que te passei, Clique em baixar um clone ( TUDO ) .

Dentro do diretório do Flasher que está no arquivo clonado, tem um sub-diretório contendo os firmwares a serem gravados conforme o tamanho da memória Flash de seu ESP8266. Tem vários deles.

 

Aí, voce vai executar o programa de flasher que eu passei o link do próprio fabricante do ESP8266 !

 

voce vai precisar informar qual é o arquivo binário que você quer gravar, então vai navegar até o subdiretório que contém todos os binários, e escolher a versão de 4MB ( que é a que funciona no NodeMCU).

 

É bem simples, olhe o post que eu espondí pro _xyko_  , tem até as instruções de como gravar.

Repare que ele mesmo baixou o programa e gravou de boa, sem nenhuma pergunta !

 

Deixe de ser medroso kakakakaka  :lol:

 

 

Paulo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
8 horas atrás, lucianolcoa disse:

Se eu conseguir fazer o esp8266basic funcionar com o inventor eu abandono ela de veiz, kkkk mas por enquanto eu vou levando com este "mal necessário".

 

Que inventor?

 

8 horas atrás, rodrigocirilo disse:

Sobre sacar o ESP12E do NodeMCU sei que pode ser difícil, mas com uma estação soprador seria possivel e eu poderia usar o nodemcu só para gravar os ESP´s? colocar tipo de um soquete no nodemcu e usa-lo só para gravar o flash inicial? no caso de eu usar o ESP em uma outra placa.

 

Ah, eu já ia opinar o contrário, mas colocando um soquete deve valer à pena...

 

6 horas atrás, _xyko_ disse:

Apesar do note ser 64b estou usando a versão 32b. A 64b trava.

 

Pode ser que haja um detalhe aí: configuração ou biblioteca necessária. Em GNU/Linux, sempre faz-se necessário instalar biblioteca para fazer a ponte. Lembro que em alguma versão do Windows tem modo de compatibilidade para a execução do binário. Não sei como é no 10.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, aphawk disse:

 

Hehehe eu te garanto que existe uma quarta opção .....

 

Tenho dois Nodemcus que é um parto para gravar. Tanto no Windows 7 como no Windows 10. Logo quando comprei, o programa normal atualizava ele sem problema. Quando comecei a experimentar outros firmwares, a droga do programa parou de gravar direito. 

 

Hoje, só consigo gravar com o programa de gravação original do fabricante do módulo ESP.

 

A quarta opção ?  Esse programa que o pessoal fez para atualizar o Nodemcu tem algum bug mal explicado, e não é só para mim que dá erro ! Tem muita gente com o mesmo problema ...

 

Enquanto só usava os firmwares do Nodemcu, sempre funcionou.

 

Quando mudei o firmware, nunca mais gravou direito ....

 

Paulo

Então foi isso que eu mencionei Aphawk. Também desconfiei do firmware dele, tanto que eu falei pra ele mudar o firmware, ver se fumfa.

 

Esse bug do firmware não deixar entrar outros firmwares???? Lol parece que alguem em algum lugar está disseminando um ódio para os hobbystas, uma sabotagem "vírus" X_X

 

Eu ja xinguei meu NODE a beça, mas tenho que reconhecer que 70 % das imprecisões dele na verdade eram minhas inexperiencias em relação a perícia do mesmo. Só estou tendo um problema com a estabilidade dele, raios por que. Mas como programo ele na IDE do arduino talvez deva ser isto...

 

No dia que eu uni a leitura de graficos, com os toggle buttons e acioná-los pelo app inventor, ADEUS arduino. Mas até lá....

adicionado 8 minutos depois
7 minutos atrás, alexandre.mbm disse:

 

Que inventor?

 

 

Ah, eu já ia opinar o contrário, mas colocando um soquete deve valer à pena...

 

 

Pode ser que haja um detalhe aí: configuração ou biblioteca necessária. Em GNU/Linux, sempre faz-se necessário instalar biblioteca para fazer a ponte. Lembro que em alguma versão do Windows tem modo de compatibilidade para a execução do binário. Não sei como é no 10.

app inventor. Um programa que faz aplicativos de celular baseado em java e dá suporte e infinitas coisas, não foi feito necessariamente para nós hobbystas mas é um barato, procure app inventor google na net e no youtube, os vídeos falam por si só.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
3 horas atrás, aphawk disse:

kkkkkk na verdade a estrutura geral do Basic é a mesma. Bascom, Runbasic, Qbasic, GWBasic, MikroBasic, Great Cow Basic .....  tudo segue os mesmo princípios do velho Basic. [...]

 

Mas é o velho Basic por trás de todos eles ...

 

Sintaxe.

 

2 horas atrás, aphawk disse:

Esse programa que o pessoal fez para atualizar o Nodemcu tem algum bug mal explicado, e não é só para mim que dá erro ! Tem muita gente com o mesmo problema ...

 

Enquanto só usava os firmwares do Nodemcu, sempre funcionou.

 

A propósito, nesses microcontroladores, é possível a gravação de um firmware "sujar" o chip para sempre?! Pergunto porque lembro de como pode se passar gravação mal sucedida de ROM no Android.

 

2 horas atrás, aphawk disse:

Só o do fabricante do ESP funciona que é uma maravilha ...

 

Uma luz no fim do túnel.

 

35 minutos atrás, lucianolcoa disse:

app inventor. Um programa que faz aplicativos de celular baseado em java e dá suporte e infinitas coisas, não foi feito necessariamente para nós hobbystas mas é um barato, procure app inventor google na net e no youtube, os vídeos falam por si só.

 

Conheço! Já uso há algum tempo. Você pretende fazer extensões, ou já fez? Estou doido para encontrar tempo e fazer uma de IR. Parece a que falta, em termos de sensores no Android.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, alexandre.mbm disse:

 

Sintaxe.

 

 

A propósito, nesses microcontroladores, é possível a gravação de um firmware "sujar" o chip para sempre?! Pergunto porque lembro de como pode se passar gravação mal sucedida de ROM no Android.

 

 

Uma luz no fim do túnel.

 

 

Conheço! Já uso há algum tempo. Você pretende fazer extensões, ou já fez? Estou doido para encontrar tempo e fazer uma de IR. Parece a que falta, em termos de sensores no Android.

Defina extensoes??? Não entendi direito sua afirmação.

 

Bem ja usei com bluetooth e wifi, pra mim foi ótimo, coloquei comando responsivo de voz, comando de voz, togle buttons e até mesmo leituras de paginas da internet, para captura de valores de sensores... Hehe, dei um time nele mas ainda tenho salvo os layouts de meus programas antiogos, desde o 1° que se comunicava com bluetooth e acendia 1 led. Bons tempos de novato *.*

Link para o comentário
Compartilhar em outros sites

@aphawk Paulo, seguinte, recebi o NodeMCU e a ansiedade me fez liga-lo hoje mesmo.

 

Bem, primeiro de tudo baixei o driver pro windows e deu certo, baixei daqui: https://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers o arquivo CH341 SER_WINDOWS.zip pluguei e instalou normalmente.

 

Ai fui e baixei o alpha 3.0 branch, selecionei a com 3 o arquivo de 4M apaertei o botão flash e apertei e soltei o reset, levou 1 minuto e pouco e apareceu umas porcentagens em uma janelo até o 100%.

 

Logo em seguida, achei ele pelo cel e note, conectei pelo note e digitei o ip 192.168.4.1, abriu a tela igual do site.

 

Tentei um

print "hello World"

end 

 

e ao clicar em RUN ficou um Done na tela e nao saiu disso.

 

E se eu clicar em settings ver e setar as config. de rede nao aparece nada na janela do browser. ::o

 

porque sera?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

27 minutos atrás, aphawk disse:

@rodrigocirilo

 

Primeiro tem de configurar ele para a sua rede wi-fi !!!!!

 

Vai até o Settings, informe o nome de sua rede Wifi, informe a senha, e configure um IP fixo nele !

 

Salve e clique em Reiniciar.

 

Paulo

Paulo eu clico em settings e nao aparece nada na tela, fica em branco, nao aparece os campos para setar os dados da rede. 

Link para o comentário
Compartilhar em outros sites

@Intrudera6

Achei muito interessante seus javascript, ainda estou aprendendo isso, vou compilar e testar seu código, mas de imediato, já fiz umas alterações nas funções dos botões, faça e teste aí também:

 

void botao1() {
  if (botao_1 == "0") {
    botao_1 = "1";
    digitalWrite(Rele1, HIGH);  
    Serial.println("rele1 ligado!");
  } else {
    botao_1 = "0";
    digitalWrite(Rele1, LOW);
    Serial.println("rele1 desligado!");  
  }
  //act();
  handleRoot();
}

void botao2() {
  if (botao_2 == "0") {
    botao_2 = "1";
    digitalWrite(Rele2, HIGH);
    Serial.println("rele2 desligado!");
  } else {
    botao_2 = "0";
    digitalWrite(Rele2, LOW);
    Serial.println("rele2 ligado!");
  }
  //act();
  handleRoot();
}

Não sei ainda se vai funcionar, mas vamos testando até dar certo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Intrudera6

Guenta aí, os testes aqui demoram um pouco, a compilação na IDE do Arduíno é uma tristeza rsrs. A dificuldade vai ser só com o javascript, mas com paciência a gente chega no objetivo.

adicionado 6 minutos depois

@Intrudera6

Você removeu este trecho: 

for (int i = 0; i < 96; ++i) { EEPROM.write(i, 0); }

Que fica dentro de gravaSsid(); 

Esta linha é responsável por limpar da memória a SSID da rede antes de gravar uma nova.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ViniciusKruz

 

Não preciso fazer isto para que funcione (a EEPROM virtual), neste caso só estou gravando mais uma vez inutilmente, as variáveis estão sendo lidas sem precisar esta operação.

 

Estou cometendo algum erro na formatação do formulário HTML que está fazendo com que o javascript não funcione. Uns 15 anos sem mexer em javascript e html estão realmente pesado muito. Estou precisando de um editor HTML para me ajudar a tirar o ferrugem.

Link para o comentário
Compartilhar em outros sites

@Intrudera6

 

na inicialização do sistema (setup()), está sendo forçada a inicializar como AP, aumenta o valor ca comparação para 10 que ele vai conectar na sua rede:

 

if ( esid.length() > 10 ) {
      WiFi.begin(esid.c_str(), epass.c_str());
      if (!testWifi()) {//se não conectou, inicializa como AP
        AP=true; 
      }
  }

O sistema vai tentar 10 vezes e se não conseguir se conectar na sua rede ele inicializa como AP, assim fica mais correto.

adicionado 5 minutos depois
1 minuto atrás, Intrudera6 disse:

Não preciso fazer isto para que funcione (a EEPROM virtual), neste caso só estou gravando mais uma vez inutilmente

 

Se não apagar antes, não vai funcionar, imagina que você salvou uma senha: "1234567890", daí resolveu mudar ela para "9999", se você não apagou as outras posições da memória, sua nova senha vai ficar assim: "9999567890", pelo menos comigo deu isso e por via das dúvidas, preferi limpar antes, é mais garantido.

 

4 minutos atrás, Intrudera6 disse:

E eu realmente estou cometendo algum erro na formatação do formulário HTML que está fazendo com que o javascript não funcione

 

Estou colocando pra rodar aqui primeiro, antes de ver o HTML.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Intrudera6

Eu não tinha tentado rodar javascript ainda, e confesso que pensava que fosse mais fácil hahaha, tentei de todo jeito com o seu código e nada, o trecho do JS nem mesmo é executado. Daí tentei de outra forma, criei uma classe para o botão de forma que ao ser clicado, o JS é executado, mas nem assim não rodou, a função do JS nem mesmo é executada. Segue a forma que usei:

void handleRoot(){
  Serial.println("Enter handleRoot");
  String header;
  if (!is_authentified()){
    String header = "HTTP/1.1 301 OK\nLocation: /login\nCache-Control: no-cache\n\n";
    server.sendContent(header);
    return;
  }

  
  String content = "<html><head>";

  content+="</head>";
  content+="<body> <title>ESP-Control</title>";
  content+="<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><H1>Menu do sistema</H1><br>";
  content+="1-<a href='/confwifi'>Configurar rede Wifi</a><br>";
  content+="2-<a href='/confipst'>Configurar LAN</a><br>";
  content+="3-<a href='/conflogin'>Configurar login</a><br>";
  content+="4-<a href='/relogio'>Relógio</a><br>";
  content+="5-<a href='/reboot'>Reiniciar o sistema</a><br>";

  content+="<br>";
  content+="<br>";
  content+="<dd>Relé 1 <input type='text' id='rele1' name='rele1' value='"+botao_1+"' size=1/>  ";
  content+="Relé 2 <input type='text' id='rele2' name='rele2' value='"+botao_2+"' size=1/></dd>";
  content+="<br>";
  content+="<br>";
  content+="<dd><div id='submit_buttons'>";
  content+="<a class=\"active btn btn-success acionar1\" id=\"acc1\" href=\"#\"> Relé1 </a>";
  content+="<a class=\"active btn btn-success acionar2\" id=\"acc2\" href=\"#\"> Relé2 </a>";
  
  content+="<input type='submit' name='rele01' id='rele01' value='Relé 1' onclick='botao1()'>";
  content+="<input type='submit' name='rele02' id='rele02' value='Relé 2' onclick='botao2()'>";
  content+="</dd></div></form></div>";
  content+="<br>";
  content+="<br>";
  content += "Usuário logado! <a href=\"/login?DISCONNECT=YES\"><br>Sair</a>";
  content +="</body>";

  content += "<script type=\"text/javascript\" src=\"http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></script>";
  content += "<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js\"></script>";

  content+="<script type=\"text/javascript\">";
     //content+="  alert('Teste0');";
     content+="$(document).ready(function(){"; //quando o documento estiver pronto
     content+="  alert('Teste1');";
     content+="  var botaoDesl  = $(\".acionar1\")";//armazena o botão em uma variável
     content+="  botaoDesl.on(\"click\", function(e){";//atribui a ação de clique no botão
     content+="   e.preventDefault();"; //previne erro de clicar várias vezes, é a mesma coisa que return false  
     content+="   alert('Teste2!');";
     content+="  });";
     content+="});";

  content+="</script>";
  
  content += "</html>\n";
  server.send(200, "text/html", content);
}

Já estou pensando que tem alguma fórmula especial para rodar JS nos ESPs. Estou muito ocupado esses dias, e não sei se vou poder te dar muita atenção, na medida do possível vamos nos ajudando. De qualquer forma, não sei se resolve pra você, mas vou postar uma outra forma de acionar os relés que é pelo método POST, não é JS, mas resolve o problema, pelo menos até encontrarmos um "hello world" que funcione né.

 

Segue o método POST:

 

// dentro da função handleRoot(), adicione a seguinte linha:

content+="5-<a href='/act'>Acionamento manual</a><br>";

// E na função act(), adicione o controle manual:


void act(){
    //acionamento externo, autenticação GET ou POST
    if (server.hasArg("USERNAME") && server.hasArg("PASSWORD")&& server.hasArg("rele1")){
    	if (server.arg("USERNAME") == user &&  server.arg("PASSWORD") == pwd ){
      	if(server.arg("rele1")=="1"){
        	digitalWrite(Rele1, HIGH);
        	server.send(200, "text/plain", "Rele 1 ligado!"); // send to someones browser when asked
      	}
      	if(server.arg("rele1")=="0"){
        	digitalWrite(Rele1, LOW);
        	server.send(200, "text/plain", "Rele 1 desligado!"); // send to someones browser when asked
      	}
      	if(server.arg("rele2")=="1"){
        	digitalWrite(Rele2, HIGH);
        	server.send(200, "text/plain", "Rele 2 ligado!"); // send to someones browser when asked
      	}
      		if(server.arg("rele2")=="0"){
        		digitalWrite(Rele2, LOW);
        		server.send(200, "text/plain", "Rele 2 desligado!"); // send to someones browser when asked
      		}
        }else{
      		server.send(200, "text/plain", "Login incorreto."); // send to someones browser when asked
    	}
  	}
  
    //Autenticação exigida(acessado pelo web server)
    
    if (!is_authentified()){
      String header = "HTTP/1.1 301 OK\r\nLocation: /login\r\nCache-Control: no-cache\r\n\r\n";
      server.sendContent(header);
      return;
    }

    if (server.hasArg("rele1") && server.hasArg("rele2")){//Liga/desliga o rele 1
      String rele1Act = server.arg("rele1");
      String rele2Act = server.arg("rele2");
      if(rele1Act=="RELE1ON"){
        digitalWrite(Rele1, HIGH);
        Serial.println("Rele1 ligado manualmente."); 
      }
      if(rele1Act=="RELE1OFF"){
        digitalWrite(Rele1, LOW);
        Serial.println("Rele1 desligado manualmente."); 
      }
      if(rele2Act=="RELE2ON"){
        digitalWrite(Rele2, HIGH);
        Serial.println("Rele2 ligado manualmente."); 
      }
      if(rele2Act=="RELE2OFF"){
        digitalWrite(Rele2, LOW);
        Serial.println("Rele2 desligado manualmente."); 
      }
      server.send(200, "text/plain", "OK!"); // send to someones browser when asked
      return;
    }
    
  String content = "<html><body> <title>ESP-Control</title>";
  content+="<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><H1>Acionamento manual:</H1>";

  content+="<div class='acman'>";
  content+="<form method='post' name='acman' id='cmd' action='/act'>";
  content+="<table border='1'>";
      content+="<tr><td width='300'>Rele1:     <input type='radio' name='rele1' value='RELE1ON' checked>LIGAR     <input type='radio' name='rele1' value='RELE1OFF' >DESLIGAR</td></tr>";
      content+="<tr><td width='300'>Rele2:     <input type='radio' name='rele2' value='RELE2ON' checked>LIGAR     <input type='radio' name='rele2' value='RELE2OFF' >DESLIGAR</td></tr>";
  content+="</table>";
  content+="<input type='submit' value='Enviar comando'>";
  content+="</form>";
  content+="</div><br><br><br>";
  
  
  content += "Usuário logado! <a href=\"/login?DISCONNECT=YES\"><br>Sair</a></body></html>";
  server.send(200, "text/html", content);
}

 

Abraço se tiver dúvidas, vai postando.

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!