Ir ao conteúdo

lucianolcoa

Membro Pleno
  • Posts

    481
  • Cadastrado em

  • Última visita

Tudo que lucianolcoa postou

  1. @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; }
  2. @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.
  3. @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.
  4. Acho que uns 2km já da pra pegar algo bom sem despreocupação... O que já é algo considerável.
  5. @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
  6. @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....
  7. 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.
  8. 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>&nbsp"; 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>&nbsp<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(); }
  9. funcionou aqui manolos, amo-tes de paixão kkkkkkkk
  10. @Papibakigrafo vou tentar a noite. Mas se não me engano tinha tentado assim da outra vez e continuou na mesma.
  11. 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(); }
  12. @Intrudera6 Daria pra incrementar interrupção no esp8266 pela função milles? ou você usou o void attachinterrupt?
  13. Mano, te amo. valeu mesmo. De coração^^
  14. 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
  15. Essa é a parte que eu queria, acertar a hora por SNTP, queria um código de exemplo.
  16. tava querendo que o esp funcionasse como um timer pra desligar um rele numa hora especifica.
  17. Manolo você tem algum código de atualização de hora via json? algo assim. Tava querendo implementar isso no esp ,nodemcu
  18. 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")
  19. 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")
  20. 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?
  21. 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?
  22. 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"); } }
  23. @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
  24. @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
  25. 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

×
×
  • Criar novo...