Todas as Discussões Marcadas 'NTP' - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T10:50:55Zhttps://labdegaragem.com/forum/topic/listForTag?tag=NTP&feed=yes&xn_auth=noProjeto - Blink utilizando Minutos de intervalotag:labdegaragem.com,2022-12-29:6223006:Topic:8893352022-12-29T20:08:53.504ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Boa tarde garagistas, depois de muito quebrar a cabeça, elaborei um código simples (nunca é fácil fazer coisas simples), para acionar comandos utilizando minutos.</p>
<p></p>
<p>No meu caso eu precisava de um comando de consultar hora da internet, comparar dois horários e acionar em intervalos diferentes o mesmo motor (no meu caso a bomba do poço);</p>
<p></p>
<p>Nessa ideia eu criei uma função que obtem o intervalo de tempo em UnixTime, e ela compara ela compara o intervalo de acionamento…</p>
<p>Boa tarde garagistas, depois de muito quebrar a cabeça, elaborei um código simples (nunca é fácil fazer coisas simples), para acionar comandos utilizando minutos.</p>
<p></p>
<p>No meu caso eu precisava de um comando de consultar hora da internet, comparar dois horários e acionar em intervalos diferentes o mesmo motor (no meu caso a bomba do poço);</p>
<p></p>
<p>Nessa ideia eu criei uma função que obtem o intervalo de tempo em UnixTime, e ela compara ela compara o intervalo de acionamento que é inserido em minutos </p>
<p></p>
<p></p>
<div><div><span>unsigned</span> <span>long</span> <span>getTime</span><span>()</span> <span>{</span> <span>//converte o Time Epoch em segundos</span></div>
<div><span> </span> <span>timeClient</span><span>.</span><span>update</span><span>()</span><span>;</span></div>
<div><span> </span> <span>unsigned</span> <span>long</span> <span>now =</span> <span>timeClient</span><span>.</span><span>getEpochTime</span><span>()</span><span>;</span></div>
<div><span> </span> <span>return</span> <span>now;</span></div>
<div><span>}</span></div>
<br/>
<div><span>void</span> <span>interval</span><span>(</span><span>int</span> <span>PIN</span><span>,</span> <span>const</span> <span>unsigned</span> <span>int</span> <span>&</span><span>min</span><span>,</span> <span>bool</span> <span>Status)</span> <span>{</span> <span>// pino, minuto, status do pino</span></div>
<div><span> // Non blocking delay</span></div>
<div><span> </span> <span>digitalWrite</span><span>(</span><span>PIN, Status</span><span>)</span><span>;</span></div>
<div><span> </span> <span>unsigned</span> <span>long</span> <span>intervalo = min *</span> <span>60</span><span>;</span> <span>// converte minutos para segundos</span></div>
<br/>
<div><span> </span> <span>unsigned</span> <span>long</span> <span>sec =</span> <span>getTime</span><span>()</span><span>;</span> <span> //salva o tempo inicial em EpochTime</span></div>
<div><span> </span> <span>while</span> <span>((</span><span>getTime</span><span>())</span> <span>- sec < intervalo</span><span>)</span> <span>{</span> <span>//compara o tempo inicial com o tempo final em relação ao intervalo</span></div>
<div><span> Status = !Status;</span></div>
<div><span> </span> <span>Serial</span><span>.</span><span>print</span><span>(</span><span>"diff :"</span><span>)</span><span>;</span></div>
<div><span> </span> <span>Serial</span><span>.</span><span>println</span><span>(</span><span>getTime</span><span>()</span> <span>- sec</span><span>)</span><span>;</span> <span>// calcula e exibe os segundos da ação</span></div>
<div><span> </span> <span>hold</span><span>(</span><span>1000</span><span>)</span><span>;</span></div>
<div><span> </span> <span>}</span></div>
<div><span> </span> <span>Serial</span><span>.</span><span>print</span><span>(</span><span>"status :"</span><span>)</span><span>;</span></div>
<div><span> </span> <span>Serial</span><span>.</span><span>println</span><span>(</span><span>Status</span><span>)</span><span>;</span></div>
<div><span> </span> <span>hold</span><span>(</span><span>1000</span><span>)</span><span>;</span></div>
<div><span>}</span></div>
<div><span>ao chamar a função no Loop ou aonde precisar dela, fica da seguinte forma só para fins de exemplo</span></div>
<div><div><div><span> </span></div>
<div><span> interval</span><span>(</span><span>LED_BUILTIN,</span> <span>2</span><span>,</span> <span>true</span><span>)</span><span>;</span> <span> // liga pino X por 2 min</span></div>
<div><span> </span> <span>interval</span><span>(</span><span>LED_BUILTIN,</span> <span>40</span><span>,</span> <span>false</span><span>)</span><span>;</span> <span>// Desliga pino X por 40 min</span></div>
</div>
</div>
<div><span>Abaixo o link do projeto.</span></div>
<div><span><a href="https://github.com/tbagro/BlinkMinutesNTP-ESP8266">https://github.com/tbagro/BlinkMinutesNTP-ESP8266</a></span></div>
<div>o codigo tambem encontra-se em anexo</div>
</div> Projeto - Como fazer um codigo rele temporizador NTP esp8266tag:labdegaragem.com,2022-12-26:6223006:Topic:8893192022-12-26T20:31:31.243ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
Boa tarde Garagistas feliz natal<br />
<br />
só para fins de registro, esse aqui é o exemplo mais simples e pratico de uso de hora a partir de strings para temporizar uma ação obtidos através de NTP<br />
<br />
<br />
if (hora == "19:23:30")//Se a hora atual for igual à que definimos, irá acender o led.<br />
{<br />
digitalWrite(led, 0);//Acende<br />
}<br />
<br />
<br />
para quem esta iniciando é bem fácil de implementar.<br />
<br />
Abaixo segue o link explicando o funcionamento do exemplo…
Boa tarde Garagistas feliz natal<br />
<br />
só para fins de registro, esse aqui é o exemplo mais simples e pratico de uso de hora a partir de strings para temporizar uma ação obtidos através de NTP<br />
<br />
<br />
if (hora == "19:23:30")//Se a hora atual for igual à que definimos, irá acender o led.<br />
{<br />
digitalWrite(led, 0);//Acende<br />
}<br />
<br />
<br />
para quem esta iniciando é bem fácil de implementar.<br />
<br />
Abaixo segue o link explicando o funcionamento do exemplo<br />
<br />
<a href="https://portal.vidadesilicio.com.br/protocolo-de-tempo-ntp-esp/">https://portal.vidadesilicio.com.br/protocolo-de-tempo-ntp-esp/</a><br />
<br />
<br />
Feliz ano novo {Resolvido} Duvida - Armazenagem EEPROM ESP8266, armazenar valores com 4 digitostag:labdegaragem.com,2017-07-04:6223006:Topic:6211512017-07-04T01:31:44.393ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Boa noite garagistas,</p>
<p>Estou com uma duvida no meu projeto de alimentador de aquário com uma Wemos D1 mini,</p>
<p>eu <strong>preciso</strong> <strong>armazenar um valor de até 1000 na eeprom</strong>, mas <strong>não consigo salvar valores maiores que 232</strong> por algum motivo que desconheço, são <strong>apenas 6 variáveis</strong>, as que eu estou tendo problemas são as " <strong>int tempoD1; int tempoD2; int tempoD3;"</strong></p>
<p></p>
<p>O <strong>código</strong> do…</p>
<p>Boa noite garagistas,</p>
<p>Estou com uma duvida no meu projeto de alimentador de aquário com uma Wemos D1 mini,</p>
<p>eu <strong>preciso</strong> <strong>armazenar um valor de até 1000 na eeprom</strong>, mas <strong>não consigo salvar valores maiores que 232</strong> por algum motivo que desconheço, são <strong>apenas 6 variáveis</strong>, as que eu estou tendo problemas são as " <strong>int tempoD1; int tempoD2; int tempoD3;"</strong></p>
<p></p>
<p>O <strong>código</strong> do projétinho esta disponível na minha pasta do github</p>
<p><strong><a href="https://github.com/tbagro/Arra-oadorWemosD1min">https://github.com/tbagro/Arra-oadorWemosD1min</a></strong></p>
<p>as variáveis estão no arquivo <strong>server.h</strong> e as funções da eeprom em <strong>eeprom.h.</strong></p>
<p></p>
<p>Eu tentei também armazenar valores até 100 e depois converter com uma multiplicação, mas o negocio não faz a multiplicação nem com reza rsrs. estava tentando varias variações dessa funçãozinha aqui, mas nenhuma funcionou.</p>
<pre><code class="language-c"><span class="kt">int</span> <span class="nf">multiplicar</span><span class="p">(</span><span class="kt">int</span> <span class="n">num</span><span class="p">,</span> <span class="kt">int</span> <span class="n">mult</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="n">num</span> <span class="o">*</span> <span class="n">mult</span><span class="p">;</span> <span class="p">}</span> </code></pre>
<p></p>
<p>Se alguém puder me dar uma luz, eu agradeceria muito, faz mais de uma semana que estou tentando resolver esse problema.</p>
<p></p>
<p>Obs.: Esse tópico seria um complemento a este que aqui aberto por mim</p>
<p><strong><a href="http://labdegaragem.com/forum/topics/duvida-armazenar-vari-veis-na-memoria-esp8266-em-caso-de-reinicio">http://labdegaragem.com/forum/topics/duvida-armazenar-vari-veis-na-memoria-esp8266-em-caso-de-reinicio</a></strong></p>
<p></p>
<p>para o ESP, o melhor método é salvar na memoria flash, abaixo alguns exemplos</p>
<p><a href="https://www.filipeflop.com/blog/esp8266-gravando-dados-memoria-flash/">https://www.filipeflop.com/blog/esp8266-gravando-dados-memoria-flash/</a></p>
<p><a href="https://github.com/tbagro/Esp8266Webserver-CSS">https://github.com/tbagro/Esp8266Webserver-CSS</a></p>
<p><a href="https://www.youtube.com/watch?v=Yeq0gI88IrM&list=PLMmiQibT0iTZUjrHkuHEC7f11Dlp2bQ6A&index=10">https://www.youtube.com/watch?v=Yeq0gI88IrM&list=PLMmiQibT0iTZUjrHkuHEC7f11Dlp2bQ6A&index=10</a></p> {Resolvido] Duvida - Armazenar Variáveis na memoria esp8266 em caso de reinicio - IDE Arduinotag:labdegaragem.com,2016-11-02:6223006:Topic:5756252016-11-02T11:43:25.471ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Bom dia, estou a alguns meses quebrando a cabeça nesse problema,</p>
<p>Estou trabalhando num projetinho de Webserver para ESP8266 onde é utilizado um temporizador com NTP programável para acionar um rele, esta quase pronto, bem leve e rápido, mas me falta a parte de armazenar as variáveis de tempo e o status da GPIO, fiquei empacado nessa parte.</p>
<p>O código que estou disponibilizando esta disponível nesse link…</p>
<p></p>
<p>Bom dia, estou a alguns meses quebrando a cabeça nesse problema,</p>
<p>Estou trabalhando num projetinho de Webserver para ESP8266 onde é utilizado um temporizador com NTP programável para acionar um rele, esta quase pronto, bem leve e rápido, mas me falta a parte de armazenar as variáveis de tempo e o status da GPIO, fiquei empacado nessa parte.</p>
<p>O código que estou disponibilizando esta disponível nesse link</p>
<p><a href="https://github.com/jhon2c/WifiRTC/blob/master/C%C3%B3digo/firmware/firmware.ino">https://github.com/jhon2c/WifiRTC/blob/master/C%C3%B3digo/firmware/firmware.ino</a></p>
<p>As variáveis que preciso armazenar em caso de falta de energia ou reinicio da placa por enquanto são:</p>
<p><em>21 int horaLiga;</em><br/> <em>22 int minutoLiga;</em><br/> <em>23 int horaDesl;</em><br/> <em>24 int minutoDesl;</em></p>
<p><em>33 boolean stateRelay;</em></p>
<p>Qual a melhor forma de armazenar estas variáveis, seria EEPROM ou SPIFFS?<br/></p>
<p></p>
<p>Abaixo como esta ficando a pagina do WebServer</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/1802497836?profile=original" target="_self"><img src="http://storage.ning.com/topology/rest/1.0/file/get/1802497836?profile=original" width="564" class="align-center"/></a></p>
<p>desde de já agradeço</p> Projeto - Firmware ESP8266 NTP Client Webserver com modo Manual e Automaticotag:labdegaragem.com,2016-10-26:6223006:Topic:5738992016-10-26T00:23:38.359ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Olá Garagistas,</p>
<p></p>
<p>Estou passando para divulgar um projetinho que estou colaborando juntamente com o Jhonatan Caldeira de <strong>WebServer com NTP com modo Automático com WifiManeger</strong>, é bem simples, mas acredito que será muito útil, tendo ainda a opção de configurar a hora de acionamento.</p>
<p></p>
<p>O projeto foi publicado no site Zona Maker no link abaixo que detalha o funcionamento do código:…</p>
<p></p>
<p>Olá Garagistas,</p>
<p></p>
<p>Estou passando para divulgar um projetinho que estou colaborando juntamente com o Jhonatan Caldeira de <strong>WebServer com NTP com modo Automático com WifiManeger</strong>, é bem simples, mas acredito que será muito útil, tendo ainda a opção de configurar a hora de acionamento.</p>
<p></p>
<p>O projeto foi publicado no site Zona Maker no link abaixo que detalha o funcionamento do código:</p>
<p><a href="https://www.zonamaker.com.br/acionamentos-em-horarios-especificos-sem-rtc-com-o-esp8266/">https://www.zonamaker.com.br/acionamentos-em-horarios-especificos-sem-rtc-com-o-esp8266/</a></p>
<p></p>
<p>Segue um print do webserver ele ficou bem leve o código do projeto esta disponível no link <a href="https://github.com/jhon2c/WifiRTC">https://github.com/jhon2c/WifiRTC</a></p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/1802497904?profile=original" target="_self"><img src="http://storage.ning.com/topology/rest/1.0/file/get/1802497904?profile=original" width="571" class="align-center"/></a></p>
<p></p>
<p></p>
<p></p>
<p>Ainda falta alguns ajustes como armazenar a variável do pino na na EEPROM ou na SPIFFS para manter o status em caso de reinicio da placa, mas já esta bem estável.</p>
<p></p> RESOLVIDO - Duvida - Software RTC sincronizado com NTP - ESP8266 via IDE Arduinotag:labdegaragem.com,2016-08-29:6223006:Topic:5602202016-08-29T11:52:50.769ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Bom dia pessoal,</p>
<p>Já estou batalhando com meu wemos mini, estou gostando da plaquinha, consegui montar um webserver, acendi um led hehe, no entanto a maioria dos meu projetos necessitam de um RTC, e a função que mais me interessou nesses esp's é o RTC interno e a capacidade de realizar conexão NTP.</p>
<p>No entanto os exemplos de NTP que consegui encontrar na NET sempre dão erro, eu encontrei um que é recente no GItHub é esse Lib aqui a ultima atualização é do ddia 20/08…</p>
<p></p>
<p>Bom dia pessoal,</p>
<p>Já estou batalhando com meu wemos mini, estou gostando da plaquinha, consegui montar um webserver, acendi um led hehe, no entanto a maioria dos meu projetos necessitam de um RTC, e a função que mais me interessou nesses esp's é o RTC interno e a capacidade de realizar conexão NTP.</p>
<p>No entanto os exemplos de NTP que consegui encontrar na NET sempre dão erro, eu encontrei um que é recente no GItHub é esse Lib aqui a ultima atualização é do ddia 20/08</p>
<p><a href="https://github.com/gmag11/NtpClient">https://github.com/gmag11/NtpClient</a></p>
<p>Mas infelizmente a minha IDE 1.6.6 não reconheceu, dando o seguinte erro abaixo, mas instalei certinho como todas as outras libs</p>
<p></p>
<p><em>arduino-1.6.6-windows\arduino-1.6.6\libraries\NtpClient</em></p>
<p><em>exit status 1</em><br/> <em>Erro compilando.</em></p>
<p></p>
<p>Nesse exemplo do <span>Ivan Grokhotkov </span> esta com uma falha no código ele mesmo removeu do GitHub dele devido a falha</p>
<p><a href="https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/NTPClient/NTPClient.ino">https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/NTPClient/NTPClient.ino</a> Código</p>
<p><em>exit status 1</em><br/> <em>'sendNTPpacket' was not declared in this scope</em></p>
<p></p>
<p></p> Duvida - como faço para sincronizar hora no arduino UNO com ESP8266 com http://www.ntp.br/tag:labdegaragem.com,2016-07-30:6223006:Topic:5541502016-07-30T14:38:15.191ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Bom dia, estou a algum tempo com essa duvida</p>
<p>Alguém já conseguiu sincronizar um ESP8266 ou um arduíno com ESP de antena com o serviço de <b>Network Time Protocol</b><strong> (NTP)?</strong></p>
<p></p>
<p>Não encontrei muita coisa sobre o assunto, mas o que eu encontrei achei muito complicado, com código extenso, pois tem q fazer a conversão de unix time para HMS…</p>
<p></p>
<p>Bom dia, estou a algum tempo com essa duvida</p>
<p>Alguém já conseguiu sincronizar um ESP8266 ou um arduíno com ESP de antena com o serviço de <b>Network Time Protocol</b><strong> (NTP)?</strong></p>
<p></p>
<p>Não encontrei muita coisa sobre o assunto, mas o que eu encontrei achei muito complicado, com código extenso, pois tem q fazer a conversão de unix time para HMS</p>
<p><a href="http://playground.arduino.cc/Code/NTPclient">http://playground.arduino.cc/Code/NTPclient</a></p>
<p></p>
<p></p>
<p>Alguem tem alguma dica?</p>
<p></p>
<p>desde de já agradeço</p>
<p></p>