-
Posts
481 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que lucianolcoa postou
-
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo Vamos supor que você queira gravar na eeprom SSID e senha a partir da serial. Pois como você não ta usando mais o protocolo webserver, então fica meio complicado eu te orientar por lá ashushuas int i=0 int o=70 char leitura2[50]=""; char identificador; #include <EEPROM.h> void setup(){ Serial.begin(9600); EEPROM.begin(512); pinMode(d1,OUTPUT); pinMode(D2,OUTPUT); pinMode(D4,OUTPUT); } void loop(){ digitalWrite(D4,HIGH); String leitura1=""; char leitura= Serial.read(); if (leitura=="s"){ Serial.println("faça o cadastro da senha"); digitalWrite(D4,LOW); while(leitura!='\n'){ leitura1+=leitura } digitalWrite(D4,HIGH); Serial.print("Senha escrita,gravando na EEPROM:") Serial.println(leitura1); leitura1.toCharArray(leitura2,50); for(i=0;i<sizeof(leitura2);i++){ EEPROM.write(i,leitura2[i]); } i=0; leitura1=""; } if (leitura=="l"){ Serial.println("faça o cadastro do login"); digitalWrite(D4,LOW); while(leitura!='\n'){ leitura1+=leitura } digitalWrite(D4,HIGH); Serial.print("login escrito,gravando na EEPROM:") Serial.println(leitura1); leitura1.toCharArray(leitura2,50); for(i=0;i<sizeof(leitura2);i++){ EEPROM.write(i+70,leitura2[i]); } i=0; leitura1=""; } if(leitura=="E"){//para ler a senha identificador= char(EEPROM.read(i); if( identificador!='\0'){ while(identificador !='\0'){ identificador=char(EEPROM.read(i); leitura1+=identificador; i++; } } Serialprint("senha guardada é"); Serial.prinln(leitura1); leitura1=""; i=0; } if(leitura=="D"){//para lero login identificador= char(EEPROM.read(o); if( identificador!='\0'){ while(identificador !='\0'){ identificador=char(EEPROM.read(o); leitura1+=identificador; o++; } } Serialprint("login guardado é"); Serial.prinln(leitura1); leitura1=""; o=70; } -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo consigo te ajudar a gravar na eeprom SSID e password. Ip e gateway não garanto por que parece que a biblioteca webserver ou wifi shield não reconhece numero de ip como string ou array, pra ser sincero, nem sei que tipo de variável ele reconhece, seria int??? Mas SSID e password já daria pra quebrar um galho. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@rodrigocirilo Não entendi bem aonde você quer chegar. Mas penso eu que você conseguiria algo mais fácil fazendo comunicação serial por algum dispositivo de RF, tipo esse que mencionei nos posts acima, nrfl2401 que, com antena, chega a 1km de alcance fácil... Mas o que você quer fazer realmente necessita de aplicação web??? web cliente e web server? ---------------------------- Edit:uma coisa que você pode fazer também e configurar um esp como cliente e vários outros como servers. Ahe você faz o client fazer uma requisição tipo GET para os servers com botões pre configurados para acionar comandos e mandar mensagens. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Acho que uns 2km já da pra pegar algo bom sem despreocupação... O que já é algo considerável. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo nodemcu e arduino, no que se refere a programação, é praticamente a mesma coisa... Sobre exemplos: Tem o Walkie talkie com arduino que publiquei no meu blog pessoal , haha. Alem do post do instructables do autor original do projeto http://eletronicaeutilidades.blogspot.com.br/2017/03/walkie-talkie-com-arduino.html Agora tem outros exemplos dele acendendo led, conversando pela serial, etc http://buildbot.com.br/blog/comunicacao-wireless-com-o-modulo-nrf24l01/ Ahe se te agradar, eu comprei um com antena deste fornecedor aqui http://produto.mercadolivre.com.br/MLB-685286844-modulo-wireless-arduino-nrf24l01-pa-lna-com-antena-1000m-_JM -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo Sei que o nrfl2401 chega a 1 km com antena, consegui 1,2km pra testar um walkie talkie caseiro que fiz. Cláro que em campo aberto.... Quase nivelado aos comerciais So que é ***** que, pra ganhar umas coisas, se perde outras. Se eu ficar no sinal do wifi, o cel não se conecta a outro sinal, logo, fica impossível usar um gps. Por exemplo.... -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Usaria o Wi-fi como uma "antena" de radio frequência. Essa hipótese me chamou a atenção por que já disseram aqui que, com uma antena externa, o alcance passa dos 4km fácil. Imagina um robô/drone que pode ir lá na *****. vou mata todos os outros de inveja /zoas Mas talvez eu faça um robô aranha também, por ser mais "barato" que um drone e pahs e, queria me desafiar pra pegar experiências também.. Estou a procura de modular voz usando node também, pra fazer uma espécie de walkie-talkie. Se alguém tiver um norte, será bem vindo também. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Pessoal já começo o dia torcendo o rabo pro Vinicius Kruz pois, hehe, infelizmente ele tinha razão sobre uma coisa: A struct do renato Aloi é uma bela duma tristeza. Usei e abusei dela, mas tive que fazer um código um pouquinho deferente e a struct ficou maluca X_X. To fazendo tudo num laço for mesmo e que se f*** e ripa na xulipa e rock na veia!!! Xd agora, consegui fazer meu "carrinho" que é um primeiro passo e colocar umas senhas nele, pra que ninguém acesse o wi-fi do carrinho e fique fussando nele. Falta a parte de sensores e, se eu quiser alterar pra drones, implementar giroscópios e os karaleo, mas a parte de acionar os motores pra ele andar ta tudo em riba^^ vou mandar os layouts das telas que fiz, e o código, que falta implementar um botão físico pra dar reset nele caso eu "esqueça" a senha, mas isso é o que menos importa agora hehe o código: #include <EEPROM.h> #include <ESP8266WebServer.h> // Comment this out to disable prints and save space #include <ESP8266WiFi.h> // Locais dos itens da configuração #define VERSION_START 500 #define CONFIG_START 6 #define CONFIG_VERSION "1a" boolean statusnet=false; // ID de Configuração boolean estado=false; boolean invalida=false; int in1 =D4; //LED do nodeMCU int in2=D5; int in3=D0; int in4=D1; char token1cha[50]=""; char senha1cha[50]=""; char tk; char s1; String senha11; String token11; int botao3=D3; //Situação do Relê boolean ligado1 = false; boolean ligado2=false; boolean ligado3=false; boolean ligado4=false; boolean controle=false; boolean luzautomatica=false; boolean internet=false; int valor=A0; int valor1=0; int i=0; int o=70; ESP8266WebServer server(80); bool is_authentified(){ Serial.println("Enter is_authentified"); if (server.hasHeader("Cookie")){ Serial.print("Found cookie: "); String cookie = server.header("Cookie"); Serial.println(cookie); if (cookie.indexOf("ESPSESSIONID=1") != -1) { Serial.println("Authentification Successful"); return true; } } Serial.println("Authentification Failed"); return false; } void callback(char* topic, byte* payload, unsigned int length); void handleRoot() { s1 = char(EEPROM.read(i)); if (s1!='\0'){ while (s1!='\0'){ s1 = char(EEPROM.read(i)); senha11+=s1; i++; } } i=0; tk= char(EEPROM.read(o)); if(tk!='\0'){ while(tk!='\0'){ tk= char(EEPROM.read(o)); token11+=tk; o++; } } o=0; String state = server.arg("funcao"); if (state == "car") { digitalWrite(in1,HIGH); digitalWrite(in2,LOW); digitalWrite(in3,HIGH); digitalWrite(in4,LOW); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } if (state=="cart"){ digitalWrite(in2,HIGH); digitalWrite(in1,LOW); digitalWrite(in4,HIGH); digitalWrite(in3,LOW); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } if (state=="care"){ digitalWrite(in1,HIGH); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,HIGH); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } if(state=="card"){ digitalWrite(in1,LOW); digitalWrite(in2,HIGH); digitalWrite(in3,HIGH); digitalWrite(in4,LOW); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } // HTML da pagina principal String html = "<html><meta charset='UTF-8' language='pt-br'><title>Eletrônica e utilidades</title><body><center>"; html+="<style type='text/css' media='all'>body{background-color:#D3D3D3;color:#2F4F4F;width: 90%;}"; html+=".btn{background-color:#00008B;color:white;font-size:20px;font-family:Arial,Verdana}.btn:hover{background-color:white;color:#00008B;font-size:23px}"; html+=".btn1{background-color:#B0C4DE;color:blue;font-size:20px;font-family:Arial,Verdana}.btn1:hover{background-color:#000080;color:white;font-size:23px}"; html+="</style><h1>Eletrônica e utilidades</h1><div style='background-color:#D3D3D3;color:#00008B;;font-size:23px'><p>carrinho de controle</p>"; html+="</div><div style='background-color:#191970;color:#191970;width:50%;height:6%;font-size:23px'>"; html+="<a href='/config' class='btn'>configuração</a> "; html+="<a href='/' class='btn'>acionamentos</a></div>"; html+="<div style='background-color:#00008B;color:white;height:60%;width:50%'>"; html +="<div style='background-color:#B0C4DE;color:#F8F8FF;height:60%;width:70%;margin: auto'><br><br><a href='/?funcao=car' class='btn1'>frente</a>"; html+="<br><br><a href='/?funcao=cart' class='btn1'>trás</a>"; html +="<br><br><a href='/?funcao=care' class='btn1'>esquerda</a><br><br><a href='/?funcao=card' class='btn1'>direita</a><br>"; html +=(senha11); html+="<br><br>"; html+=(token11); html +="</div></div></center></body></html>"; ; //Script JS para não abrir uma nova página Bootstrap html += "<script language='JavaScript' type='text/javascript'>"; html += "var a=document.getElementsByTagName('a');"; html += "for(var i=0;i<a.length;i++)"; html += "{"; html += "a[i].onclick=function()"; html += "{"; html += "window.location=this.getAttribute('href');"; html += "return false"; html += "}"; html += "}"; html += "</script>"; //Fim da instrução html += "</center></div>"; html += "</body></html>"; // Enviando HTML para o servidor server.send(200, "text/html", html); } void configWifi() { String header; 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; } String html =" <html><meta charset='UTF-8' language='pt-br'><title>Eletrônica e utilidades</title><body><center><style type='text/css' media='all'>body{background-color:#D3D3D3;color:#2F4F4F;width: 90%;}"; html+=".btn{background-color:#00008B;color:white;font-size:20px;font-family:Arial,Verdana}.btn:hover{background-color:white;color:#00008B;font-size:23px}"; html+=".btn1{background-color:#B0C4DE;color:blue;font-size:20px;font-family:Arial,Verdana}.btn1:hover{background-color:#000080;color:white;font-size:23px}"; html+="</style><h1>Eletrônica e utilidades</h1><div style='background-color:#D3D3D3;color:#00008B;;font-size:23px'><p>carrinho de controle</p></div><div style='background-color:#191970;color:#191970;width:50%;height:6%;font-size:23px'>"; html+="<a href='/config' class='btn'>configuração</a> <a href='/'class='btn'>acionamentos</a></div>"; html+="<div style='background-color:#00008B;color:white;height:60%;width:50%'><div style='background-color:#B0C4DE;color:blue;height:80%;width:70%;margin: auto'><br>"; html+="<h2>Página de configuração</h2><form method =post>"; html += "<p>Senha do login de autenticação: <input name=txtvalor type=text value=\""; html += "\" /></p>"; html += "<p>Senha do tacess point: <input name=txttoken type=text value=\""; html += "\" /></p>"; html += "<p><input name=button1 type=submit class=btn value=Enviar /></p></form>"; html += "</div></div></center></body></html>"; server.send(200, "text/html", html); } void handleNotFound(){ String message = "File Not Found\n\n"; message += "URI: "; message += server.uri(); message += "\nMethod: "; message += (server.method() == HTTP_GET)?"GET":"POST"; message += "\nArguments: "; message += server.args(); message += "\n"; for (uint8_t i=0; i<server.args(); i++){ message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; } server.send(404, "text/plain", message); } void configWifiSubmit() { int i=0; int o=0; String html = "<html><head><title>acess point e senha</title>"; html += "<meta charset='UTF-8' language='pt-br'><style>body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }</style>"; html += "</head><body>"; html += "<h1>dados gravados com sucesso</h1>"; String senha1 = server.arg("txtvalor"); String token1 = server.arg("txttoken"); senha1.toCharArray(senha1cha, 50); token1.toCharArray(token1cha,50); for(i=0;i <sizeof(senha1cha);i++){ EEPROM.write(i,senha1cha[i]); } for(o=0;o<sizeof(token1cha);o++){ EEPROM.write(o+70,token1cha[o]); } EEPROM.commit(); html += "</b></p>"; html += "<p>Senha do login de autenticação: <b><br>"; html+=(senha1); html += "</b></p>"; html += "<p>Senha do acess point: <b>"; html+="<br>"; html+=(token1); html += "</b></p>"; html += "<form method=GET>"; html += "<p><input name=button2 type=submit value=Voltar /></p></form>"; html += "</body></html>"; server.send(200, "text/html", html); ESP.restart(); } void handleLogin(){ char senha21[50]=""; s1 = char(EEPROM.read(i)); if (s1!='\0'){ while (s1!='\0'){ s1 = char(EEPROM.read(i)); senha11+=s1; i++; } } i=0; senha11.toCharArray(senha21,50); String msg; if (server.hasHeader("Cookie")){ Serial.print("Found cookie: "); String cookie = server.header("Cookie"); Serial.println(cookie); } if (server.hasArg("DISCONNECT")){ Serial.println("Disconnection"); String header = "HTTP/1.1 301 OK\r\nSet-Cookie: ESPSESSIONID=0\r\nLocation: /login\r\nCache-Control: no-cache\r\n\r\n"; server.sendContent(header); return; } if (server.hasArg("USERNAME") && server.hasArg("PASSWORD")){ if (server.arg("USERNAME") == "carro" && server.arg("PASSWORD") == senha21){ String header = "HTTP/1.1 301 OK\r\nSet-Cookie: ESPSESSIONID=1\r\nLocation: /\r\nCache-Control: no-cache\r\n\r\n"; server.sendContent(header); Serial.println("Log in Successful"); return; } msg = "Não foi possivel logar, tente novamente"; Serial.println("Log in Failed"); } String content = "<html><style>body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }</style><body><meta charset='UTF-8' language='pt-br'><form action='/login' method='POST'>Para logar, por favor use : Usuario/senha<br>"; content += "Digite carro em minusculo:<input type='text' name='USERNAME' placeholder='user name'><br>"; content += "Senha de login:senha inicial:1234<input type='password' name='PASSWORD' placeholder='password'><br>"; content += "<input type='submit' name='SUBMIT' value='Submit'></form>" + msg + "<br>"; content += "Você pode voltar clicando embaixo <a href='/inline'>here</a></body></html>"; content += "<p><a href='/' class='btn' >voltar a pagina inicial</a>"; server.send(200, "text/html", content); } void setup() { pinMode(in1,OUTPUT); pinMode(in2,OUTPUT); pinMode(botao3,INPUT); pinMode(in3,OUTPUT); pinMode(in4,OUTPUT); char taken11[50]=""; // Iniciando Serial Serial.begin(9600); // Iniciando EEPROM EEPROM.begin(512); tk= char(EEPROM.read(o)); if(tk!='\0'){ while(tk!='\0'){ tk= char(EEPROM.read(o)); token11+=tk; o++; } } o=0; token11.toCharArray(taken11,50); WiFi.softAP("carrinhoteste",taken11);//nome da rede e senha do AP IPAddress myIP = WiFi.softAPIP(); // Apresenta dados da conexão Serial.println(""); Serial.print("Connected to "); Serial.println("192.168.4.1"); Serial.print("IP address: "); // Atribuindo urls para funções // Quando não especificado método, uma função trata todos server.on("/",HTTP_GET, handleRoot); // Chamada dos métodos de configuração server.on("/config", HTTP_GET, configWifi); server.on("/config", HTTP_POST, configWifiSubmit); server.on("/login", handleLogin); server.on("/inline", [](){ server.send(200, "text/plain", "this works without need of authentification"); }); server.begin(); server.onNotFound(handleNotFound); //here the list of headers to be recorded const char * headerkeys[] = {"User-Agent","Cookie"} ; size_t headerkeyssize = sizeof(headerkeys)/sizeof(char*); //ask server to track these headers server.collectHeaders(headerkeys, headerkeyssize ); server.begin(); Serial.println("HTTP server started"); // Apenas informando que servidor iniciou Serial.println("HTTP server started"); } void loop() {// No loop só precisa dessa função server.handleClient(); } -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
funcionou aqui manolos, amo-tes de paixão kkkkkkkk -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo vou tentar a noite. Mas se não me engano tinha tentado assim da outra vez e continuou na mesma. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Pessoal, preciso de um help. Criei esse código pra manipular um robô via acess point. Ele a funcionando xuxu beleza. Mas por algum motivo a senha do wi-fi não está funcionando, ele está ligando como acesso livre. Algum help??? #include <EEPROM.h> #include <ESP8266WebServer.h> // Comment this out to disable prints and save space #include <ESP8266WiFi.h> boolean invalida=false; int in1 =D4; //LED do nodeMCU int in2=D5; int in3=D0; int in4=D1; int botao3=D3; //Situação do Relê boolean ligado1 = false; boolean ligado2=false; boolean ligado3=false; boolean ligado4=false; boolean controle=false; boolean luzautomatica=false; boolean internet=false; int valor=A0; int valor1=0; // Estrutura de configuração da EEPROM const char *password= "teste"; ESP8266WebServer server(80); void handleRoot() { String state = server.arg("funcao"); if (state == "car") { digitalWrite(in1,HIGH); digitalWrite(in2,LOW); digitalWrite(in3,HIGH); digitalWrite(in4,LOW); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } if (state=="cart"){ digitalWrite(in2,HIGH); digitalWrite(in1,LOW); digitalWrite(in4,HIGH); digitalWrite(in3,LOW); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } if (state=="care"){ digitalWrite(in1,HIGH); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,HIGH); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } if(state=="card"){ digitalWrite(in1,LOW); digitalWrite(in2,HIGH); digitalWrite(in3,HIGH); digitalWrite(in4,LOW); delay(500); digitalWrite(in1,LOW); digitalWrite(in2,LOW); digitalWrite(in3,LOW); digitalWrite(in4,LOW); } // HTML da pagina principal String html = "<html><meta charset='UTF-8' language='pt-br'><title>Eletrônica e utilidades</title><body><center>"; html+="<style type='text/css' media='all'>body{background-color:#D3D3D3;color:#2F4F4F;width: 90%;}"; html+=".btn{background-color:#00008B;color:white;font-size:20px;font-family:Arial,Verdana}tn:hover{background-color:white;color:#00008B;font-size:23px}"; html+=".btn1{background-color:#B0C4DE;color:blue;font-size:20px;font-family:Arial,Verdana}tn1:hover{background-color:#000080;color:white;font-size:23px}"; html+="</style><h1>Eletrônica e utilidades</h1><div style='background-color:#D3D3D3;color:#00008B;;font-size:23px'><p>carrinho de controle</p>"; html+="</div><div style='background-color:#191970;color:#191970;width:50%;height:6%;font-size:23px'>"; html+="</div>"; html+="<div style='background-color:#00008B;color:white;height:60%;width:50%'>"; html +="<div style='background-color:#B0C4DE;color:#F8F8FF;height:60%;width:70%;margin: auto'><br><br><a href='/?funcao=car' class='btn1'>frente</a>"; html+="<br><br><a href='/?funcao=cart' class='btn1'>trás</a>"; html +="<br><br><a href='/?funcao=care' class='btn1'>esquerda</a><br><br><a href='/?funcao=card' class='btn1'>direita</a>"; html +="</div></div></center></body></html>"; ; //Script JS para não abrir uma nova página Bootstrap html += "<script language='JavaScript' type='text/javascript'>"; html += "var a=document.getElementsByTagName('a');"; html += "for(var i=0;i<a.length;i++)"; html += "{"; html += "a[i].onclick=function()"; html += "{"; html += "window.location=this.getAttribute('href');"; html += "return false"; html += "}"; html += "}"; html += "</script>"; //Fim da instrução html += "</center></div>"; html += "</body></html>"; // Enviando HTML para o servidor server.send(200, "text/html", html); } void setup() { pinMode(in1,OUTPUT); pinMode(in2,OUTPUT); pinMode(botao3,INPUT); pinMode(in3,OUTPUT); pinMode(in4,OUTPUT); // Iniciando Serial Serial.begin(9600); // Iniciando EEPROM EEPROM.begin(512); WiFi.softAP("carrinho",password);//nome da rede e senha do AP IPAddress myIP = WiFi.softAPIP(); // Apresenta dados da conexão Serial.println(""); Serial.print("Connected to "); Serial.println("192.168.4.1"); Serial.print("IP address: "); // Atribuindo urls para funções // Quando não especificado método, uma função trata todos server.on("/", handleRoot); server.begin(); Serial.println("HTTP server started"); // Apenas informando que servidor iniciou Serial.println("HTTP server started"); } void loop() {// No loop só precisa dessa função server.handleClient(); } -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Intrudera6 Daria pra incrementar interrupção no esp8266 pela função milles? ou você usou o void attachinterrupt? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Mano, te amo. valeu mesmo. De coração^^ -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
valeu mano. vou da uma olhada, na linguagem ide do arduino você tem algo?: haha não querendo abusar da sua boa vontade. e que iria implementar no código de web server que eu já tenho pronto -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Essa é a parte que eu queria, acertar a hora por SNTP, queria um código de exemplo. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
tava querendo que o esp funcionasse como um timer pra desligar um rele numa hora especifica. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Manolo você tem algum código de atualização de hora via json? algo assim. Tava querendo implementar isso no esp ,nodemcu -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Pelo que eu entendi você quer fazer o arduino "conversar" com algum programa feito em c certo? ou nodemcu ou o que tiver Então, a comunicação é sempre serial, sei como fazer em java e em python, agora outras linguagens ficarei devendo. Por mais que arduino seja parecido com C, ele não é C,e PIC também Mas... no python é assim que você faz comunicação serial, no java e relativamente parecido. No C eu não sei mas algum manjão de C deve saber. Ahe depende do que o programa que você fez na linguagem X é capaz de fazer, o que ele faz entendeu.... Por exemplo, voltando ao código python que escrevi, você pode fazer uma coisa legal olha: import serial import time tempo=0 comunica=serialSerial('COMX',9600) arquivo=open("dados.txt",'w') ler1=[] ler2=[] ler= comunica.readline() print(ler) time.sleep(2) tempo=tempo+1 if ler1!=ler: ler2.append(ler) ler1=ler ler2.append(tempo) arquivo.write(ler2) if ler== "sua condi": comunica.write("o que deseja") -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
faz comunicação serial... Ahe não sei como em C se faz uma comunicação serial, mas em python é assim import serial import time comunica=serialSerial('COMX',9600) ler= comunica.readline() print(ler) time.sleep(2) if ler== "sua condi": comunica.write("o que deseja") -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Pessoal, me veio a duvida agora no esp ui-fui... Quando faz o acess point no esp8266, como colocar uma senha no acess point dele? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
to usando a função millis mesmo. Mas não sei tratar a variável quando ela estoura. O que eu faço quando a variável atinge o 65536? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
Pessoal reativando este tópico. Eu preciso e duas ajudas: 1 ° Queria fazer um web server para poder configurar um pwm e assim ajustar a intensidade do brilho da lâmpada pelo nodemcu na ide do arduino... Sei que vou precisar de um modulo de potencia e pas, mas na parte do código. Alguem já fez isso? vi esse código aqui, mas como usa a função attachInterrupt não sei se rodaria direitinho no esp, ainda mais com o web server ativo: http://labdegaragem.com/profiles/blogs/controle-de-luminosidade-com-dimmer-shield 2° Queria ler um sensor dht11 usando a biblioteca timerone.h do arduino, pra dispensar os delays, eu tentei e não consegui. segue o código que tentei: #include <LiquidCrystal.h> LiquidCrystal lcd(12,11,5,4,3,2); #include "DHT.h" #include "TimerOne.h" #define DHTPIN A1 // pino que estamos conectado #define DHTTYPE DHT11 // DHT 11 volatile unsigned long t=0; volatile unsigned long h=0; volatile unsigned long tt=0; volatile unsigned long hh=0; // Conecte pino 1 do sensor (esquerda) ao +5V // Conecte pino 2 do sensor ao pino de dados definido em seu Arduino // Conecte pino 4 do sensor ao GND // Conecte o resistor de 10K entre pin 2 (dados) // e ao pino 1 (VCC) do sensor DHT dht(DHTPIN, DHTTYPE); void setup() { lcd.begin(16,2); Serial.begin(9600); Serial.println("DHTxx test!"); dht.begin(); Timer1.initialize(2000000); Timer1.attachInterrupt(callback); } void callback(){ hh = dht.readHumidity(); tt = dht.readTemperature(); } void loop() { noInterrupts(); t=tt; h=hh; interrupts(); // testa se retorno é valido, caso contrário algo está errado. if (isnan(t) || isnan(h)) { Serial.println("Failed to read from DHT"); } else { lcd.setCursor(0,0); lcd.print("TEMP"); lcd.print(t); lcd.SetCursor(0,1); lcd.print("HUM"); lcd.print(h); Serial.print("Umidade: "); Serial.print(h); Serial.print(" %t"); Serial.print("Temperatura: "); Serial.print(t); Serial.println(" *C"); } } -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo é placa ilhada que voce quer. O mais fácil é comprar um borne de 2 pinos, semelhante ao da imagem: e nos bornes voce coloca o fio e faz uma tomada com aqueles plug que vendem em lojas de eletrica http://www.lojaeletrica.com.br/plug-macho-preto-10a-250v-2-pinos-tramontina,product,2321806630061,dept,16002.aspx . É assim que eu faço -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo É 5 volts mesmo. Alimentei o meu nodemcu com uma fonte de protoboard que eu tenho a 1 trilhao e zilhao de eras atrás. E tava jogado num quarto comendo poeira. Ahe a mania de "vai que cola" colou lindamente Agora me sinto um ***** em ter comprado aquela fonte toda espalhafatosa pro node que me custou os zoio da cara.. Essa fontezinha de protoboard é bem mais barata e funciona que és uma beleza. Fiz um alarme com nodemcu usando o protocolo Blynk, sms no celular e aviso e email com hora de chegada *-*. Mara -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
lucianolcoa respondeu ao tópico de aphawk em Microcontroladores
voce alimenta o v+ no vin do node, ou no 3.3 se tiver usando aqueles esp mixurucos...o v- vai no terra mesmo. Alias , como voce comprou o bagio. Tem como voce medir com um multimetro o v+ e o v-??? so pra eu saber mesmo, ahe ja responde minha duvida.
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