Ir ao conteúdo
  • Cadastre-se

Papibakigrafo

Membro Pleno
  • Posts

    463
  • Cadastrado em

  • Última visita

Tudo que Papibakigrafo postou

  1. @ViniciusKruz interna mesmo. Eu uso o seguinte sistema: // Locais dos itens da configuração #define VERSION_START 500 #define CONFIG_START 6 // ID de Configuração #define CONFIG_VERSION "1a" // Estrutura de configuração da EEPROM struct ConfigStruct { char ssid[50]; char senha[50]; IPAddress ip; IPAddress gateway; } wifiConfig; ESP8266WebServer server(80); void saveConfig() { for (unsigned int t = 0; t < sizeof(wifiConfig); t++) { EEPROM.write(CONFIG_START + t, *((char*)&wifiConfig + t)); } // Salvando o ID da versão para puxar da EEPROM // da proxima vez que for carregar EEPROM.write(VERSION_START + 0, CONFIG_VERSION[0]); EEPROM.write(VERSION_START + 1, CONFIG_VERSION[1]); EEPROM.commit(); } void loadConfig() { if (EEPROM.read(VERSION_START + 0) == CONFIG_VERSION[0] && EEPROM.read(VERSION_START + 1) == CONFIG_VERSION[1]) { // Carregando a estrutura main config for (unsigned int t = 0; t < sizeof(wifiConfig); t++) *((char*)&wifiConfig + t) = EEPROM.read(CONFIG_START + t); } else { saveConfig(); } } Fui adaptando ao meu projeto, até aumentei o STRUCT e tal. Mas agora, se eu quiser apagar um dado, como faria? Os dados ficam armazenados em wifiConfig.SSID, wifiConfig.senha, etc...
  2. Amigos, bom dia! Alguem sabe como faço para apagar algum dado da EEPROM? Por exemplo, eu tenho um SSID inserido na EEPROM. Qual o comando para eu poder ZERAR ele? No meu código, eu uso o seguinte: wifiConfig.SSID, e ele me retorna o SSID salvo! Existe algum comando para zerá-lo?
  3. @lucianolcoa eu ja fiz isso no nodeMCU, e também não deu problema nenhum!
  4. @alexandre.mbm é o que eu fiz no meu, mas apenas ainda pra Android. No Delphi (tambem no Android Studio) você pode colocar um webview (lá é o TWebBorwser), e linkar a página pelo IP. Mas ainda não consegui "imaginar" isso, pois se a pessoa mudar o IP? kkkkk O Safari (iOS) tem uma função chamada TELA DE INICIO, em que ele coloca um ícone na sua área de trabalho do celular.
  5. @lucianolcoa rapaz, usando mesmo o CSS do bootstrap, eu uso: class='btn-block' Se for por CSS normal, serial algo assim: width: 100%; Quando tiver alguma alteração ai, nos mostre! =)
  6. kkkkk relaxa, eu também comecei a aprender agora, só sabia um pouco de html e js. Fico feliz que pude ajudar! ^^ Estamos todos aqui pra aprendermos mais! Qualquer coisa é só chamar! =)
  7. Lá no void setup(): // Atribuindo urls para funções // Quando não especificado método, uma função trata todos server.on("/", handleRoot); // Chamada do método GET server.on("/rele1", HTTP_GET, rele1); /rele1 é a página rele1 -> void rele1 ();
  8. @lucianolcoa deve ser isso que está procurando: http://renatoaloi.blogspot.com.br/2016/06/configurando-wifi-do-esp8266-sem.html
  9. @lucianolcoa o seu código, você usa o ESP8266Wifi.h. O meu código (que adaptei do @ViniciusKruz e de outro blog que encontrei), usei o ESP8266Webserver.h O estilo de exibir a página são diferentes, como você pode ver. Um é pelo client.println, o outro é pela String html = e html += , e no final, ele dá o comando server.send(200, "text/html", html); Quer dizer, ele gera toda uma string e no final, exibe o código todo de uma vez. O próprio Vinicius testou e verificou que o código roda mais rápido assim. Então, respondendo a sua pergunta: nesse código que estava (já modifiquei ele bastante kkk), eu acabei criando mais uma página para o rele2. Mas do jeito que você fez ai, não era pra estar funcionando?
  10. @lucianolcoa parabéns pelo empenho! E é o que eu sempre faço; primeiro faço o HTML + CSS + JS, depois de tudo testado compilo no nodeMCU! =)
  11. Vou ver esse exemplo em casa! Eu até achei um exemplo com o ESP. Funcionar funciona, eu mesmo já testei no ar do meu quarto, mas pelos códigos HEX não funciona para Ar Condicionado, apenas o RAW.
  12. @lucianolcoa Button não pode ser SUBMIT. Tem que ser type='button' <button name= "" type="button" value="e" class="btn" onclick="funcao1()" >me clica</button> <br> <br> <button name="" value="o" type="button" class="btn" onclick="funcao2()">me clica</button>
  13. @alexandre.mbm então, eu não consigo entender como pela ethernet, conseguiria ligar ou desligar um aparelho eletrônico que receba sinais IR, sem ser pelo LED IR!! @lucianolcoa nunca cheguei a usar muito o app inventor, mas não tem como definir um ID pra cada botão? Vamos supor: <button type='button' class='btn' onclick='funcao1()' id='btn_1_on'>Ligar</button> <button type='button' class='btn' onclick='funcao2()' id='btn_1_off'>Desligar</button> Assim você diferencia facilmente.
  14. Eu acredito que teria que ser um button ai em vez do <a>, mas não tenho certeza. OU, porque você definiu um HREF no <a>, e ele buga porque ele tem outra função atribuida no onclick. <button type='button' onclick='funcao2()' class='btn'>Botão A</button>
  15. @lucianolcoa mas RF não seria apenas para portões eletrônicos? Nunca vi um exemplo de RF ligando TV ou AR. Sobre seu código acima, peguei o que você postou um dia desses, e fiz um exemplo que como você colocaria no client.print #include <ESP8266WiFi.h> const char* ssid = "Net Virtua 41A"; const char* password = "aablcoa12"; int ledPin = D1; // GPIO13 int teste=D2; int button=D0; int button1=D4; boolean status =LOW; boolean statis= LOW; String vetor1; String vetor2; WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); pinMode(teste,OUTPUT); digitalWrite(teste,LOW); pinMode(button,INPUT); pinMode(button1,INPUT); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.print("Use this URL to connect: "); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { if(digitalRead(button)==LOW){ delay(300); status=!status; } if(status==HIGH){ digitalWrite(ledPin,HIGH); vetor1="apagado"; } if(status==LOW){ digitalWrite(ledPin,LOW); vetor1="aceso"; } if(digitalRead(button1)==LOW){ delay(300); statis=!statis; } if(statis==HIGH){ digitalWrite(teste,HIGH); vetor2="apagado"; } if(statis==LOW){ digitalWrite(teste,LOW); vetor2="aceso"; } // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println("new client"); //while(!client.available()){ //delay(1); // } // Read the first line of the request String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); // Match the request if (request.indexOf("/quarto=ON") != -1) { status=HIGH; } if (request.indexOf("/quarto=OFF") != -1) { status=LOW; } if (request.indexOf("/corredor=ON") != -1) { statis=HIGH; } if (request.indexOf("/corredor=OFF") != -1) { statis=LOW; } // Set ledPin according to the request //digitalWrite(ledPin, value); // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<center>"); client.print("Eletronica e utilidades:Automacao residencial"); client.println("<br><br>"); client.println("<a href=\"/quarto=ON\"\"><button>Ligar quarto </button></a>"); client.println("<a href=\"/quarto=OFF\"\"><button>Desligar quarto </button></a><br />"); client.println("<a href=\"/corredor=ON\"\"><button>Ligar corredor </button></a>"); client.println("<a href=\"/corredor=OFF\"\"><button>Desligar corredor </button></a><br />"); client.println(vetor1); client.println("<br><br>"); client.println(vetor2); client.println("<br><br>"); client.println("</html>"); delay(1); Serial.println("Client disonnected"); Serial.println(""); } Peguei como exemplo, o <STYLE>, e ficou assim: client.println("<style>body{background-color:#2F4F4F;color:#9AC0CD;font-family:Verdana,'Arial Black';font-size:14px;}"; client.println(".btn{transition:background-color 2s;background-color:#4F94CD;color:#FFFFF0;font-weigth:700px;font-size:15px;"); client.println("text-transformer:upper case;padding:4px;cursor:pointer;}.btn:hover{background-color:#00008B;color:#D1EEEE;"); client.println("text-transformer:upper case;padding:6px;cursor:pointer;}</style>"); No exemplo acima, eu simplifiquei e coloquei na mesma linha o código CSS (<style>). Você pode fazer linha por linha também. ** Atento que, quando há ASPAS DUPLAS no código HTML, eu inverto e coloca ASPAS SIMPLES, em vez de colocar a \.
  16. @alexandre.mbmisso, seria um emissor. Queria um alcance bom para adicionar à automação residencial. Por exemplo, de um quarto conseguir ligar o AR / TV na sala! @ViniciusKruz bem lembrado! Tenho um conhecido que mexe com isso. Irei ver com ele ^^
  17. Alguém sabe a existência de um LED IR de longo alcance? Achei esse, mas não sei se funcionaria à mais de 2 metros: https://pt.aliexpress.com/store/product/GP2Y0A21YK0F-100-NEW-2Y0A21-10-80cm-Infrared-distance-sensor-INCLUDING-WIRE/1185416_1963972315.html?spm=2114.12010608.0.0.XoRIkK
  18. @alexandre.mbm ahh sim, entendi. Aqui, no meu caso, uso o powerline (via rede elétrica), mas como a rede é trifásica, a sala fica em "outra rede elétrica", a perda de velocidade é bem considerável! =/
  19. @alexandre.mbm @ViniciusKruz seria aqueles decodificadores Duosat, AZBOx, Cinebox, etc. Como não possuo cabo na sala, queria saber se era possível "fazer um" dongle wifi =)
  20. Amigos, alguém sabe se com o ESP8266, poderia fazer um adaptador wifi pro meu decodificador?
  21. @lucianolcoa Infelizmente não, mas apresenta onde há erro!
  22. @lucianolcoa linhas de código mesmo. É melhor testar no HTML mesmo do que na interface gráfica do dreamweaver.
  23. @lucianolcoa ai já seria com AJAX. Esse JS que está aprendendo, é o básico. Você precisa saber alguma coisa mesmo, senão fica perdido. Parte para os comandos .click, functions, em JQuery (http://www.w3schools.com/jquery/) @alexandre.mbm eu não manjo muito de I2C, na verdade nem sei direito, até tenho que dar uma olhada... mas já resolvi a minha questão! Fiz tudo em JS mesmo. Ficou bom e mais rápido que get via navegador!

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!