-
Posts
720 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que ViniciusKruz postou
-
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Cada pino do Arduíno corresponde ao mesmo GPIO no ESP, por exemplo, se no arduíno estiver usando o pino 10, no ESP o seu equivalente seria o GPIO10 e assim por diante. Se no arduíno, um determinado sketch estiver definindo os pinos: const int buttonPin = 2; // the number of the pushbutton pin const int ledPin = 13; // the number of the LED pin nesse caso os mesmos pinos 2 e 13 correspondem aos GPIOs 2 e 13 do ESP, porém se esses pinos não funcionarem, você pode trocar por outros. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Esquenta não, até onde eu puder ajudar ta de boa, meu conhecimento é um pouco limitado, mas na medida do possível vamos remando... Seguinte, eu nunca precisei de muitas conexões nos ESPs, mas geralmente eu uso o GPIO 16 para um botão e também já usei os GPIOs: 2, 10 e 14 como saídas para leds e relés... Lembrando que tem que definir tudo antes, como no exemplo que te dei acima, segue à risca que vai funcionar. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Kkkkkk que loucura é essa??!!! que maluquice que foi feita nesse trecho!! Isso aí não tem a menor lógica: pinMode(buttonPin, OUTPUT); Se ninguém pressionar o botão, o pino dele vira uma saída, e ainda coloca ele em nível alto, que loucura, nunca vi isso kkkkk Esse código aí tá pra lá de doido. Vai no exemplo que te passei, ele ta funcionando aqui comigo e se não funcionar aí com você é porque pode haver falhas no hardware. Uma coisa já percebi, o ESP tem os pinos muito doidos, não é todo pino que funciona não, você tem que ir testando os pinos e vendo os que funcionam. Faz assim, coloca um println dentro da função que detecta o botão e fica de olho no monitor serial, se apertar o botão e nada aparecer, verifica tudo. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Seria um botão físico então? Bom, a parte do hardware seria basicamente como todo botão em microcontroladores: um resistor de 10k ligando o positivo(3v3) ao pino do ESP e o botão é ligado do pino do ESP para o terra, assim, o pino ficará sempre em nível alto(3v) e caso o botão seja pressionado, a tensão nesse pino cai pra (0v). Com esse exemplo de ligação, se você quiser checar se o botão foi pressionado, deverá fazer um if(!input()), ou seja, se o pino estiver em nível 0, foi pressionado, tem como também colocar o pino invertido, ou seja, ele ficaria sempre em nível baixo (0v) e quando o botão for pressionado, passaria para nível alto(3v), nesse caso, pra saber se o botão foi pressionado, seria assim: if(input()), ou seja, se houve tensão no pino, o botão foi pressionado. Na prática eu faço assim: declaro em qual pino o led, relé, ou seja lá o que for acionado está ligado: int Rele1 = 14; //relé 1 ligado ao GPIO14 Declaro em qual pino está o botão: int btn = 16;//botão ligado ao GPIO16 No setup, declado os pinos como entrada ou saída: void setup() { pinMode(Rele1, OUTPUT); // configura o pino do relé 1 como saida pinMode(btn, INPUT); // configura o pino do botão como entrada } Agora é só colocar o IF no loop sempre verificando o botão: void loop() { if(digitalRead(btn)==LOW){//se o botão foi pressionado... digitalWrite(Rele1, !digitalRead(Rele1));//aqui, ele inverte o estado do relé, se estiver ligado, desliga, se estiver desligado, liga... delay(1000);//tempo para debounce(evitar apertar duas vezes muito rápido) } } Se for o que eu entendi, é isso aí... -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Ele tem dois botões, um é pra reset e o outro é para programação, se entendi bem, você está colocando um outro botão em uma das IOs dele? seria isso? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo Foi o que eu percebi que o único motivo da lentidão em que estava era pelo fato de enviar a resposta em muitos pacotes, colocando tudo em um único pacote(string) melhorou 200%. Eu não disse nada porque o desempenho ficou mais que satisfatório, mas tem um delay de 1 segundo no final do envio da resposta que também pode ser removido e ainda pode melhorar mais. Só precisa testar pra ver se não vai atrapalhar a questão do debounce. adicionado 1 minuto depois Agora, comparando com o outro modo de uso, com a biblioteca webserver, não percebi diferença, acredito que as duas formas estejam iguais em termos de velocidade de resposta. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Enquanto eu dormia, um anjo do Senhor me iluminou e hoje eu consegui otimizar seu código, ficou tremendamente rápido, altera a parte da resposta e veja o resultado: // Return the response String content; content="<html>\n"; content+="<head>\n"; content+="<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><br>\n"; content+="</head>\n"; content+="<body>\n"; content+="<center>\n"; content+="Eletronica e utilidades:Automacao residencial\n"; content+="<br><br>\n"; content+="<a href=\"/quarto=ON\"\"><button>Ligar quarto </button></a>\n"; content+="<a href=\"/quarto=OFF\"\"><button>Desligar quarto </button></a><br />\n"; content+="<a href=\"/corredor=ON\"\"><button>Ligar corredor </button></a>\n"; content+="<a href=\"/corredor=OFF\"\"><button>Desligar corredor </button></a><br />\n"; content+=String(vetor1); content+="<br><br>\n"; content+=String(vetor2); content+="</body>\n"; content+="</html>\n"; client.println(content); O que eu fiz foi apenas "juntar" tudo em um único pacote e enviar de uma só vez. Antes você enviava linha por linha, por isto demorava muito. Testa aí e me fala. De qualquer maneira, continuo insistindo pra que você conheça o sistema pelo SPFFIS. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@alexandre.mbm Pode ser! Geralmente eu uso uma pequena função javascript que impede isto, mas no caso dele essa proteção não existe. Vou testar pra ver. adicionado 0 minutos depois @lucianolcoa Vou testar aqui e depois te falo. adicionado 52 minutos depois @lucianolcoa Tenho duas notícias, uma ruim e outra boa rsrsrs, vou começar pela boa: Aqui também travou e comentei esta linha abaixo e nos inúmeros testes que fiz, não travou mais: //while(!client.available()){ // delay(1); //} Agora a ruim: (ruim porque você vai ter que mudar de biblioteca, mas ao mesmo tempo é boa noticia porque a mudança é pra muuuito melhor!!) Mesmo não travando mais, eu não gostei do funcionamento do sistema, embora esteja no mais simples padrão, percebi que sua página ficou responsiva, não sei se você fez isto de propósito, mas foi um recurso muito legal, ele faz com que a página se ajuste a qualquer tamanho de dispositivo, seja celular, pc, tablet... e isso ficou muito legal, o que não gostei foi o funcionamento mesmo, a resposta é muitíssimo lenta, acredito que seja a biblioteca que você está utilizando, eu nunca usei esta aí pra enviar os dados para o cliente, experimentei ela agora no seu código, mas não gostei nadica rsrs. Eu uso esta aqui: #include <ESP8266WebServer.h> Ela é muito rápida, mesmo usando recursos pesadíssimos como CSS e Javascript, as respostas são fenomenais, aliás só o primeiro acesso ao ESP que demora um pouquinho, mas isso ocorre com todos, acho que é coisa do próprio ESP. O problema é que a estrutura do sistema é outra, bem diferente desta que você usou, mas é bem mais estruturada, profissionalmente falando. Dá uma pesquisada por exemplos com esta biblioteca e testa pra você ver, você vai se surpreender. Inclusive, tem um exemplo que postei aqui que tem um sistema completo com login e senha, bem interessante, vê aí e depois me conta. Pra ficar ainda melhor, tenta fazer seguindo o tutorial que postei aqui na segunda feira se não me engano, é um sistema onde todos os arquivos da página ficam armazenados na memória flash do ESP(SPIFFS), é muito massa, eu crio meus arquivos (html, css, .js) no meu computador e faço o upload pelo próprio ESP, como no ESPBasic, nem te conto a qualidade que ta ficando minhas páginas agora rsrsrs. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Isso ta me parecendo mais coisa de hardware que software. Relé é danado pra travar microcontroladores, já verificou se ele não está sem o diodo de polarização? Se bem que você disse que com o Basic isso não acontece né. Pode ser alguma coisa na biblioteca que você está usando. Teria como você postar seu código pra eu testar aqui pra você? Eu não uso o nodemcu como já disse antes, mas posso montar um circuito equivalente ao seu e testar com seu código. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@lucianolcoa Eu também gostaria de saber mais informações sobre esse "bug" para eu fazer testes e verificar se aqui também acontecem, apesar de eu não usar o nodemcu. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
De uma coisa podemos ter toda certeza: esse cara do ESPBasic é muito bom no que faz. Claro que eu não sirvo de base, mas estou me virando nos trinta pra entender esse código dessa página de edição de arquivos e posso garantir que é muito complexo, tem uma estrutura que abusa de recursos até então desconhecidos pra mim, fazer o que esse camarada do Basic está fazendo não tem outra palavra senão "FENOMENAL". adicionado 5 minutos depois Deem valor mesmo viu, inclusive se puderem, cooperem no projeto dele. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Encontrei uma coisinha muito legal, pesquisando sobre o SPIFFS, se trata de uma biblioteca que faz upload dos nossos arquivos e imagens em uma pasta no computador diretamente na memória flash do ESP, abaixo tem o link explicando como instalar na IDE do Arduíno: http://www.esp8266.com/viewtopic.php?f=32&t=10081 Depois de feito o processo de instalação acima, passa-se a ter acesso também ao FSWebServer, que além de mostrar os gráficos dos estados dos pinos do ESP, ainda tem uma página que gerencia os arquivos hospedados na flash. Instalei pra testar, vejam as imagens: Tela de status dos GPIOS e tela de edição/upload e criação de novos arquivos (qualquer semelhança com o ESP8266Basic não é mera coincidência rsrsrs) -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Eu ia me esquecendo, tem um recurso interessante do HTML5 que é a opção "required" na linha acima, esta opção aí faz a checagem do campo, se ele não estiver preenchido, ao clicar no botão, aparece a mensagem da tela abaixo: -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Fiz uma telinha de login usando CSS... é só uma experiência, usei o css embutido, o ideal seria colocar ele hospedado em uma página externa, mas andei pensando, se o usuário, no momento do acesso à página não tiver acesso à internet o estilo não será carregado. Futuramente será necessário carregar esse css na memória SPIFFS do ESP. De qualquer maneira já serve pra ir aprendendo né. O código da página de login: //login page, also called for disconnect void handleLogin(){ 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")){ String _user = server.arg("USERNAME"); String _pwd = server.arg("PASSWORD"); if (_user.equals(user) && _pwd.equals(pwd)){ 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("Logado com sucesso"); return; } msg = "Login incorreto."; Serial.println("Log in Failed"); } String content = "<html>\n"; content+="<head>\n"; content+="<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><br>\n"; content+="<style type=\"text/css\">\n"; content+="#login{\n"; content+="width: 250px;\n"; content+="height: 250px;\n"; content+="padding: 8px;\n"; content+="background-color: #FFCC33;\n"; //content+="background-image:url(https://1drv.ms/i/s!Av3m0jwp9uhSgWlkL5VnWD4BIrUI);\n"; content+="font: 11px Verdana, sans-serif;\n"; content+="color: #993366;\n"; content+="text-shadow: 0 1px 0 #666;\n"; content+="box-shadow: inset 0 1px 1px #fff, 0 2px 3px #666;\n"; //content+="border: 2px solid #0000FF;\n"; content+="border-radius: 8px;\n"; //content+="padding-left:10px;\n"; content+="position:absolute;\n"; content+="left:50%;\n"; content+="top:50%;\n"; content+="margin-left:-125px;\n"; content+="margin-top:-125px;\n"; content+="}\n"; content+="input[type=text], input[type=password] {\n"; content+="width: 100%;\n"; content+="padding: 12px 20px;\n"; content+="margin: 8px 0;\n"; content+="display: inline-block;\n"; content+="border: 1px solid #ccc;\n"; content+="border-radius: 4px;\n"; content+="box-sizing: border-box;\n"; content+="}\n"; content+="input[type=submit] {\n"; content+="width: 100%;\n"; content+="background-color: #4CAF50;\n"; content+="color: white;\n"; content+="padding: 14px 20px;\n"; content+="margin: 8px 0;\n"; content+="border: none;\n"; content+="border-radius: 4px;\n"; content+="cursor: pointer;\n"; content+="}\n"; content+="input[type=submit]:hover {\n"; content+="background-color: #45a049;\n"; content+="}\n"; content+="</style>\n"; //content+="<link rel='stylesheet' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css'>"; //content+="<script type='text/javascript' src='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js'></script>"; content+="</head>\n"; content+="<body> <title>ESP-CSS</title>\n"; content+="<div id='login' align='center' >\n"; //id='login' content+="<form method='post' name='login' action='/login'><H2 align='center'>ACESSO AO SISTEMA</H2>\n"; content+="<label for='usuario'>Usuário</label>\n"; content+="<input type='text' id='usuario' required name='USERNAME' placeholder='Nome do usuário' />\n"; content+="<label for='senhalogin'>Senha</label>\n"; content+="<input type='password' id='senhalogin' name='PASSWORD' placeholder='Senha' />\n"; content+="<input type='submit' value='Entrar'> </form><br>"+ msg +"</div><br>\n"; //content += "<a href='/inline'>Monitor</a> content += "</body></html>\n"; server.send(200, "text/html", content); } -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@Papibakigrafo Estou aqui justamente trabalhando nisso(bootstrap), fiz um css aqui e está ficando bem legalzinho, agora estou trabalhando na centralização no centro da tela. adicionado 5 minutos depois Agora encontrei, eu havia olhado um outro código seu. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Amigo, tudo o que é relativo ao ESP, é pertinente ao tópico. Pode ficar à vontade para postar suas experiências caso elas sejam de utilidade nos ESPs, não sou moderador, mas creio que não há problema algum, como você já deve ter observado, aqui nós discutimos eletrônica, internet (html, css, js e afins), linguagens de programação, e até mesmo sobre importação e compras no exterior, se formos levar em conta, estas coisas não poderiam ser discutidas aqui, mas esse é o universo dos ESPs, como não falar dessas coisas? Eu já tentei de toda forma reduzir uso de memória nos PICs, e cheguei a conclusão que se você não afetar a RAM, você afetará a ROM, não tem jeito, a solução é maximizar o código o máximo possível e remover tudo o que realmente não for necessário. Geralmente eu não me preocupo com o uso de memória até chegar no limite, depois que não tem mais espaço começo a enxugar tudo. adicionado 7 minutos depois @Papibakigrafo Não vi no seu código, menções do js nem do css, como você fez? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Vou começar a empregar estilos e imagens nas minhas telas. devagar vou postando as novidades. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Você usou foi o ESP8266? ou foi outro microcontrolador? Qual conexão que fecha? TCP/IP? -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Sim. Ah sim!! Eu ainda não precisei usar isto, mas já andei verificando as possibilidades rsrsrs. No próprio código do ESP na IDE do Arduíno é possível simular arquivos, esta, creio eu seja a forma mais fácil e funciona da seguinte forma: void drawGraph() { String out = ""; char temp[100]; out += "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"400\" height=\"150\">\n"; out += "<rect width=\"400\" height=\"150\" fill=\"rgb(250, 230, 210)\" stroke-width=\"1\" stroke=\"rgb(0, 0, 0)\" />\n"; out += "<g stroke=\"black\">\n"; int y = rand() % 130; for (int x = 10; x < 390; x+= 10) { int y2 = rand() % 130; sprintf(temp, "<line x1=\"%d\" y1=\"%d\" x2=\"%d\" y2=\"%d\" stroke-width=\"1\" />\n", x, 140 - y, x + 10, 140 - y2); out += temp; y = y2; } out += "</g>\n</svg>\n"; server.send ( 200, "image/svg+xml", out); } Esse código acima (usando o WEB Server) gera uma imagem .svg contendo um gráfico aleatório, para o browser que estiver acessando a página, aparece apenas uma imagem comum, é como se o ESP estivesse com esta imagem hospedada nele. A segunda forma de armazenamento no próprio ESP, seria colocar um SD card (cartão de memória) e usar a biblioteca "SD" para acessá-la. E a última possibilidade(a mais interessante e prática-no meu modo de pensar), seria simplesmente adicionar a biblioteca "#include <FS.h>" no início do arquivo (sketch) e através dela, poder gravar e ler arquivos diretamente na memória do próprio ESP, usando o formato de arquivos SPIFFS, da mesma forma como é feito na linguagem LUA e ESP8266Basic. Segue um código de exemplo: // Very basic Spiffs example, writing 10 strings to SPIFFS filesystem, and then read them back // For SPIFFS doc see : https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md // Compiled in Arduino 1.6.7. Runs OK on Wemos D1 ESP8266 board. #include "FS.h" void setup() { Serial.begin(9600); Serial.println("\nVery basic Spiffs example, writing 10 lines to SPIFFS filesystem, and then read them back"); SPIFFS.begin(); // Next lines have to be done ONLY ONCE!!!!!When SPIFFS is formatted ONCE you can comment these lines out!! Serial.println("Please wait 30 secs for SPIFFS to be formatted"); SPIFFS.format(); Serial.println("Spiffs formatted"); } void loop() { // open file for writing File f = SPIFFS.open("/f.txt", "w"); if (!f) { Serial.println("file open failed"); } Serial.println("====== Writing to SPIFFS file ========="); // write 10 strings to file for (int i=1; i<=10; i++){ f.print("Millis() : "); f.println(millis()); Serial.println(millis()); } f.close(); // open file for reading f = SPIFFS.open("/f.txt", "r"); if (!f) { Serial.println("file open failed"); } Serial.println("====== Reading from SPIFFS file ======="); // write 10 strings to file for (int i=1; i<=10; i++){ String s=f.readStringUntil('\n'); Serial.print(i); Serial.print(":"); Serial.println(s); } // wait a few seconds before doing it all over again delay(3000); } Como eu já disse e torno a repetir, ainda não usei nada disso, conheço porque já andei estudando, mas não tenho prática, mas creio que já sirva de norte para começar. Eu até questionei certa vez no fórum esp8266.com sobre esta forma de gravar arquivos (SPIFFS) porque eu não havia entendido como os arquivos eram gravados na memória, inclusive sobre as subpastas, eu queria saber como criar uma subpasta com a linguagem LUA, porque lá tem a opção de se criar o arquivo, mas não pastas e subpastas, daí me explicaram que a ideia de pastas não existe no SPIFFS usando o ESP8266 e que uma possibilidade seria nomear o arquivo como se fosse uma subpasta, por exemplo, para criar um arquivo de texto com o nome "teste.txt" e colocar ele em uma pasta com o nome "/pasta", nesse caso teria que ser colocado todo esse nome no próprio nome do arquivo, assim, ao invés do arquivo se chamar "teste.txt", seria: /pasta/teste.txt. Não me lembro se o ESP8266basic permite criar pastas, acho que sim, mas de qualquer maneira, deve usar o mesmo sentido para criá-las. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
Ele foi programado em que? Arduíno. Não sei. Ele deve saber do que está falando. Esperemos. Pelo pouco que entendo de Html, Css e companhia, vou tentar explicar da forma como eu entendi e tenho aplicado, funciona assim: CSS inline - o código do CSS(style) é inserido "a vulso" nas propriedades dos objetos em qualquer parte da página web, por exemplo: <p style="color:#FF0000; margin: 10px;"> Paragrafo com fonte na cor vermelha e 10px nas margens </p> CSS Incorporado: todas as configurações do site vêm no início da página web <head> ... <style rel="stylesheet" type="text/css"> p { margin-left: 15px; padding:1.5em; } </style> ... </head> Desta forma acima, toda vez que criar um parágrafo <p></p>, será aplicado o estilo acima CSS Lincado: todo o código css fica em um arquivo fora da página web, e linkamos ele na página web: <link href="estilo.css" rel="stylesheet" type="text/css" media="screen" /> Note o href="estilo.css", nele estão todas as configurações de estilização da página, e como ele é um link, pode estar na China que o navegador vai buscar ele e apresentar na tela, sem que o ESP tenha que fornecer nada. Esse arquivo pode ser hospedado em qualquer lugar que você possa ter acesso. Bom, é mais ou menos isso, desculpa aí se eu não soube explicar como deveria é que eu também estou aprendendo essa bargaça rsrs. -
@DiF Versão 4.0.10.14. É uma excelente ideia!!
-
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@Intrudera6 Veja aí e quando estiver ok, me avisa que te ajudo com o CSS. -
ESP8266 - A Pequena Maravilha para Comunicação WIFI
ViniciusKruz respondeu ao tópico de aphawk em Microcontroladores
@Intrudera6 Seu sistema está muito bom, o código está bem legível, estrutura bem formulada. Esse seu código ainda vai me ajudar bastante com certeza, principalmente nas funções que você colocou pra calcular o dia da semana sozinho bem como o ano bissexto, no meu aqui eu tenho que setar o dia da semana manualmente, no meu outro RTC eu tinha esta função também, mas o tempo anda curto e não tive tempo de implementar ainda. Sobre suas telas, só tem uma forma de melhorar o visual: CSS. Pra isto temos duas opções, a primeira seria inserir as linhas do CSS diretamente no código, o que vai acrescentar muuiiito nele e a segunda opção que seria habilitar no ESP a biblioteca de arquivos, daí seria possível salvar o arquivo com o script CSS na memória do ESP, caso contrário dá pra armazenar o script em um site externo também e mandar o ESP buscar lá. -
@DiF kkkkkk, estava exatamente assistindo um desses vídeos aqui. Na sua dica (a primeira), você fala pra criar o índice e depois ir até a aba design, daí fui pesquisar melhor pra ver onde estava essa bendita aba porque no phpmyadmin do meu site eu não havia encontrado, mas assistindo seu vídeo, constatei que realmente meu phpmyadmin é diferente, se ele tem esta aba, ela está escondida, vou continuar procurando aqui... kkkk adicionado 30 minutos depois @DiF Não consegui encontrar a aba designe, até encontrei umas informações aqui sobre como ativá-la, mas vou preferir não mexer nos arquivos do phpmyadmin. Uma coisa que eu consegui e acho que vai resolver, é que mudei nas minhas tabelas do tipo MYSAM para innoDB e agora passou a aparecer uma opção: "Vista de relação" na aba "Estrutura", não tem o desenho das tabelas, mas aparecem as opções de fazer a ligação e definir a FK. Só ficou uma dúvida, você disse para definir o relacionamento como cascade, lá tem duas opções: ON DELETE e ON UPDATE, coloco cascade nas duas?
-
@DiF Opa, beleza amigo?!! Como sempre você pra me salvar hehehe. Eu até procurei fazer dessa forma que você disse, mas por inexperiência não consegui, daí só usei o SQL mesmo por ter mais afinidade. Vou refazer os ligamentos das tabelas manualmente como sugeriu, depois posto aqui se tiver dado certo. Obrigado pela dica.
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