Vix Blog
No Result
View All Result
  • Economia
  • Educação
  • Segurança
  • Mundo
  • Negócios
  • Notícias
  • Tecnologia
  • DMCA
NEWSLETTER
  • Economia
  • Educação
  • Segurança
  • Mundo
  • Negócios
  • Notícias
  • Tecnologia
  • DMCA
No Result
View All Result
Vix Blog
No Result
View All Result
Home Entretenimento

Sincronização de tempo de rede baseada em localização usando o ESP32

Carolina por Carolina
26 de março de 2022
Tempo de leitura:9min de leitura
0
Sincronização de tempo de rede baseada em localização usando o ESP32

Ao edificar um projeto de IoT que depende da hora do dia, você deseja que ele mostre a hora correta sem precisar de ajustes manuais. Parece que isso seria fácil de realizar com o ESP32, pois possui wireless encastoado e pode se conectar à Internet.

No entanto, embora existam muitos exemplos online que mostram uma vez que configurar o ESP32 para se conectar à Internet e sincronizar o horário com um servidor de horário, a maioria deles exige que você ajuste o horário de verão manualmente duas vezes por ano, o que parece bastante ridículo para qualquer dispositivo eletrônico do século 21.

Cá apresentaremos uma solução que permitirá que o ESP32 mostre a hora correta, para qualquer lugar do mundo, durante todo o ano. Mas primeiro, vamos dar uma olhada no exemplo SimpleTime no Arduino IDE e ver o que ele faz e uma vez que podemos melhorá-lo.

O Exemplo SimpleTime

Se você usar o Arduino IDE com o ESP32, verá que ele tem um exemplo chamado SimpleTime que se parece com isso:


O exemplo SimpleTime no Arduino IDE para o ESP32

Você pode acessar nascente exemplo configurando o Arduino IDE para usar uma placa ESP32, a partir do Ferramentas menu, uma vez que selecionando o Módulo de desenvolvimento ESP32. Depois de ter feito isso, você pode acessar o exemplo SimpleTime do Ferramentas menu aquém Exemplos, ESP32, Tempo, e Tempo Simples.

MAKEUSEO VÍDEO DO DIA

Pode-se esperar que nascente exemplo solene demonstre a melhor maneira de fazer as coisas, mas há um grande problema neste exemplo. Para configurar o fuso horário e o horário de verão, você deve modificar as duas linhas a seguir:

const long gmtOffset_sec = 3600;
const int daylightOffset_sec = 3600;

Definir o fuso horário usando gmtOffset_sec é inconveniente porque você precisa encontrar o deslocamento GMT para sua localização específica. Você pode fazer isso consultando o site do Greenwich Mean Time. Felizmente, você só precisa fazer isso uma vez. O daylightOffset_sec apresenta um problema maior, no entanto, porque você precisa ajustá-lo duas vezes por ano. Isso pode exigir que você desative seu projeto e conecte-o ao Arduino IDE duas vezes por ano, tornando-o totalmente inadequado para um projeto de IoT que você deseja configurar e olvidar.


Procurando uma abordagem melhor

Logo, qual seria a melhor maneira de configurar o fuso horário e o horário de verão? Para responder a essa pergunta, não procure mais, uma vez que seu PC com Windows lida com a situação:


Caixas de diálogo do Windows 10 mostrando a configuração de fuso horário e horário de verão

Observe uma vez que, em vez de ter que fornecer deslocamentos de horário do GMT, informamos ao Windows qual é nosso fuso horário e sítio – no nosso caso Horário das Montanhas (EUA e Canadá)— e marque a caixa de seleção Ajuste maquinalmente o relógio para o horário de verão. A partir desse ponto, o Windows lida com isso maquinalmente para nós durante todo o ano. Levante é o tipo de conveniência que queremos do nosso ESP32.

Relacionado: Porquê personalizar o relógio da bandeja do sistema no Windows

Criando um banco de dados de localização para o ESP32

Fazer a mesma coisa no ESP32 requer qualquer trabalho braçal. começamos com uma postagem no blog que descrevia uma vez que configurar o fuso horário usando a variável de envolvente TZ. Para a nossa localização, aconteceu MST7MDT,M3.2.0,M11.1.0, de entendimento com esta tábua de fuso horário. Embora isso tenha resolvido o problema de ter que ajustar manualmente o horário de verão, queríamos que o processo fosse mais simples, sem a premência de procurar uma sequência de números e letras para cada sítio.


Convertemos os dados do site em um banco de dados que você pode usar diretamente de seus esboços do Arduino. Siga nascente link para encolher diretamente um registo zip com o esboço do Arduino.

O próprio banco de dados é armazenado no registo time_zone.h. Usando o banco de dados, o código para SimpleTime fica assim:


Exemplo SimpleTime com modificações destacadas

Destacamos as modificações no exemplo SimpleTime em amarelo. Esta traço permitirá que o sketch use o banco de dados:

#include "time_zones.h"

Esta traço configura sua localização:

const char* location = "America/Denver";

Existem 461 localizações possíveis. Você pode encontrar os locais disponíveis consultando o registo time_zone.h ou a lista de fuso horário neste site.

Por termo, a traço a seguir informa ao ESP32 para sincronizar a hora com um servidor de Internet usando o Network Time Protocol (NTP):

configTimeWithTz(getTzByLocation(location), ntpServer);

O servidor de horário da Internet específico pode ser configurado usando a seguinte traço, embora o padrão deva funcionar muito para você:

const char* ntpServer = "pool.ntp.org";

Você também deseja juntar as informações do seu ponto de chegada sem fio nas duas linhas a seguir:

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";

Substituir YOUR_SSID com o nome da sua rede sem fio e SEU PASSE com a senha usada para se conectar a ele.

Relacionado: Maneiras de configurar com segurança um roteador sem fio uma vez que um ponto de chegada público

Terminando

Depois de concluir as etapas de feitio, faça o upload do esboço para o ESP32 e ele usará a hora correta durante todo o ano sem nenhuma mediação!

Embora esse código forneça um bom ponto de partida, existem maneiras mais fáceis de usar para realizar a mesma coisa. Por exemplo, você pode permitir que o usuário configure tudo a partir de uma página da Web em vez de fazer isso em tempo de compilação. Fazer isso é um pouco mais trabalhoso, pois você precisaria fazer as seguintes coisas no seu esboço do Arduino:


  1. Configure o ESP32 uma vez que um ponto de chegada sem fio para feitio inicial
  2. Inicie um servidor web para apresentar ao usuário uma página de feitio
  3. Crie um formulário HTML para permitir que o usuário insira as informações da rede sem fio e selecione sua localização
  4. Gerar o código para processar as escolhas do usuário e armazená-lo em memória não volátil
  5. Ao vincular a placa:
    • Leia a feitio da memória não volátil
    • Conecte-se à rede sem fio e sincronize a hora

Um projeto que demonstra essas etapas é o ESP32 Dali Clock. Foi nascente projeto que nos levou a encontrar uma maneira melhor de fazer a sincronização de tempo no ESP32.


Um pulso de disparo gerado por computador animado
Crédito da imagem: Márcio Teixeira/Flickr

Confira o código-fonte do ESP32 Dali Clock para ver uma vez que mostrar uma página de feitio da Web com todos os recursos. A página de feitio mostra um menu suspenso para permitir que o usuário selecione sua localização e fuso horário e também permite que o usuário defina a hora manualmente usando um widget de hora e calendário, para uma escolha não conectada!

RELATED POSTS

Uma vez que parar de compartilhar recibos de leitura no iMessage

Os 4 melhores aplicativos para iPhone para fãs da Terreno-média

As 5 melhores ferramentas para um trabalho produtivo

Sincronização de tempo de rede baseada em localização no ESP32

Agora você tem todas as informações necessárias para poder ajustar maquinalmente o relógio do seu ESP32 para a hora correta e também ajustá-lo para o horário de verão. Isso é perfeito para projetos de IoT que você não deseja ajustar manualmente.


Um relógio gerado por computador em uma mini TV
7 projetos interessantes que usam o ESP32 para gerar vídeo formado

Se você está procurando projetos interessantes com o ESP32, está no lugar claro.

Leia a seguir


Sobre o responsável

Márcio Teixeira
(4 artigos publicados)

Sou um operário com interesse próprio em software de código simples, eletrônica, sentimento 3D, computação gráfica e retro-computação.

Mais de Márcio Teixeira

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique cá para assinar

Novidades no seu e-mail!

Não enviamos spam! Leia mais em nossa Política de privacidade

Verifique sua caixa de entrada ou a pasta de spam para confirmar sua assinatura.

ShareTweetPin
Carolina

Carolina

Relacionado Posts

Uma vez que parar de compartilhar recibos de leitura no iMessage
Entretenimento

Uma vez que parar de compartilhar recibos de leitura no iMessage

24 de março de 2022
Os 4 melhores aplicativos para iPhone para fãs da Terreno-média
Entretenimento

Os 4 melhores aplicativos para iPhone para fãs da Terreno-média

24 de março de 2022
As 5 melhores ferramentas para um trabalho produtivo
Entretenimento

As 5 melhores ferramentas para um trabalho produtivo

24 de março de 2022
Uma vez que emendar o driver de vídeo parou de responder no Windows 11/10
Entretenimento

Uma vez que emendar o driver de vídeo parou de responder no Windows 11/10

24 de março de 2022
Uma selecção de destaque para Linux
Entretenimento

Uma opção de destaque para Linux

24 de março de 2022
Uma selecção de destaque para Linux
Entretenimento

Uma selecção de destaque para Linux

24 de março de 2022
Next Post
Uma vez que remover as setas de vereda no Windows 11 e 10

Uma vez que remover as setas de vereda no Windows 11 e 10

Os 5 melhores aplicativos para a saúde dos dentes

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

No Result
View All Result

Últimas Notícias

7 maneiras de emendar a instrumento Windows Miracast quando ela funciona mal

24 de março de 2022
Porquê enganar aplicativos para pensar que seu Android não está enraizado

Porquê enganar aplicativos para pensar que seu Android não está enraizado

24 de março de 2022
Uma vez que parar de compartilhar recibos de leitura no iMessage

Uma vez que parar de compartilhar recibos de leitura no iMessage

24 de março de 2022
Porquê usar guias no Vivaldi para organizar sua navegação

Uma vez que usar gestos do mouse no Vivaldi para velejar mais rápido

24 de março de 2022
Uma vez que trabalhar em mansão sem experiência

Uma vez que trabalhar em mansão sem experiência

24 de março de 2022

Novidades no seu e-mail!

Não enviamos spam! Leia mais em nossa Política de privacidade

Verifique sua caixa de entrada ou a pasta de spam para confirmar sua assinatura.

Categorias

  • Entretenimento
  • Mundo
  • Segurança
Vix Blog

Somos entusiastas da tecnologia com a missão de ensinar ao mundo como usar e compreender a tecnologia em suas vidas.
SAIBA MAIS »

Entre em contato conosco enviando um e-mail para [email protected]

Posts recentes

  • 7 maneiras de emendar a instrumento Windows Miracast quando ela funciona mal
  • Porquê enganar aplicativos para pensar que seu Android não está enraizado
  • Uma vez que parar de compartilhar recibos de leitura no iMessage

Categorias

  • Entretenimento
  • Mundo
  • Segurança

Links Importantes

  • Quem Somos
  • Blog
  • Fale Conosco
  • Política de Privacidade
  • DMCA

© 2021 VixBlog - Notícias e dicas para o seu dia dia.

No Result
View All Result
  • Economia
  • Educação
  • Segurança
  • Mundo
  • Negócios
  • Notícias
  • Tecnologia
  • DMCA

© 2021 VixBlog - Notícias e dicas para o seu dia dia.