Como fazer um relógio de Internet usando ESP8266

Como fazer um relógio de Internet usando ESP8266

A Internet das coisas (IoT) oferece diversas aplicações interessantes, incluindo um relógio de Internet. Este dispositivo de cronometragem usa uma conexão com a Internet para sincronizar a hora com um servidor de horário. Isso garante cronometragem altamente precisa, alinhando-se com o tempo universal coordenado (UTC) dos servidores online.

A maioria dos relógios da Internet usa NTP, um protocolo projetado para sincronizar relógios em uma rede. Os relógios da Internet mantêm alta precisão sincronizando com relógios atômicos ou horário do GPS. Esses relógios também se ajustam automaticamente ao fuso horário correto com base na localização da rede.

Neste projeto, projetaremos um relógio de Internet usando ESP8266. As informações de hora e clima são obtidas pelo relógio em WeatherAPI.com e exibidas em uma tela OLED SSD1306. Qualquer tela de exibição, como uma de tamanho maior, pode ser usada para exibir o relógio.

Componentes

1. ESP8266/ESP32 x1
2. SSD1306 OLEDx1
3. Conectando ou fios Dupont
4. Cabo microUSB para conectar ESP ao computador
5. Fonte de alimentação para ESP8266/ESP32

Conexões de circuito
Para este projeto, você precisará fazer a interface do ESP8266 ou ESP32 com um OLED SSD1306. Estamos construindo nosso projeto usando ESP8266. O display OLED SSD1306 é um módulo OLED de 7 pinos com interfaces SPI e I2C. Um OLED de 0,96″ está na imagem abaixo.

Para fazer a interface do SSD1306 OLED com o ESP8266, faça as conexões do circuito conforme descrito na tabela abaixo.

Lembre-se de substituir o SSID e a chave de rede no esboço pelos da sua conexão WiFi pessoal. Além disso, substitua a chave API pela sua em WeatherAPI.com (que pode ser obtida registrando-se lá).

Como funciona este projeto
Um microcontrolador com recursos Ethernet ou WiFi (integrado ou através de uma blindagem externa ou placa de interrupção) é necessário para construir este relógio de Internet.

Usamos ESP8266 para construir nosso relógio, que possui funcionalidade WiFi, por isso se conecta facilmente a qualquer rede. Quando o ESP8266 está ligado, ele se conecta ao WiFi usando o SSID e a senha de rede fornecidos. Em seguida, ele faz uma solicitação HTTP para WeatherAPI.com para os dados JSON da API Realtime.

Os dados JSON recebidos são desserializados e os dados específicos sobre data, hora, local e clima são recuperados. Esses dados são formatados e exibidos no display OLED em um modelo definido pelo usuário.

O código
O esboço começa importando ESP8266WiFi.h, ESP8266HTTPClient.h, ArduinoJson.h, SPI.h, Wire.h, Adafruit_GFX.h e as bibliotecas Adafruit_SSD1306.h.

Aqui está um resumo de cada processo:

  • ESP8266WiFi.h é usado para conectar o ESP8266 à rede WiFi.
  • ESP8266HTTPClient.h faz solicitações HTTP do ESP8266 para o servidor web, que é WeatherAPI.com.
  • ArduinoJson.h analisa e desserializa os dados JSON recebidos da API Realtime do WeatherAPI.
  • SPI.h e Wire.h são usados ​​para fazer a interface do SSD1306 OLED com o ESP8266.
  • As bibliotecas Adafruit_GFX.h e Adafruit_SSD1306.h gerenciam o display OLED SSD1306.

A seguir, as variáveis ​​​​são declaradas para as atribuições de pinos que fazem a interface do ESP8266 com o SSD1306 OLED. Um objeto “display” da classe Adafruit_SSD1306 é instanciado. As variáveis ​​são declaradas para armazenar o SSID, a senha da rede WiFi e a chave API do WeatherAPI.com. Em seguida, algumas variáveis ​​globais são declaradas para armazenar temperatura, umidade, velocidade do vento, precipitação, data, hora, data formatada, hora formatada e o dia da semana.

A função definida pelo usuário dayOfWeek é definida em seguida para derivar o dia da semana da data do calendário gregoriano usando o algoritmo de Congruência de Zeller. A função definida pelo usuário fetchData também é definida para que a solicitação HTTP para a API Realtime do WeatherAPI seja feita, e os dados sejam recebidos como um documento JSON.

A função definida pelo usuário parseData desserializa os dados JSON, extraindo a data, hora, localização, temperatura, umidade, velocidade do vento, precipitação e condições climáticas nas respectivas variáveis. A data, hora, local e informações meteorológicas são convertidas nos formatos adequados para exibição.

A função definida pelo usuário displayClock coloca a data, hora, localização e informações meteorológicas no SSD1306 OLED em um layout predefinido. É importante observar que o programa em fetchData é codificado para que o ESP8266 recupere os dados da API Realtime por meio de uma pesquisa de IP. O relógio detecta automaticamente a localização atual e recupera a data, hora, localização e informações meteorológicas em tempo real com base na localização.

Na função setup , a placa ESP8266 é conectada à rede WiFi, e o display OLED SSD1306 é inicializado. Na função loop , o fetchData é chamado para recuperar a data, hora, local e informações meteorológicas com base na pesquisa de IP. Isso é então exibido na tela OLED chamando a função displayClock .

Um atraso de cinco segundos é fornecido antes da atualização do relógio. Pode levar mais tempo para o relógio atualizar a data, a hora e outras informações, dependendo da conectividade da rede e do tempo de resposta do servidor WeatherAPI.

Resultados

Conteúdo Relacionado

Integração de IA com IoT: Rumo a Dispositivos Inteligentes e Autônomos
Em 2025, a integração entre Inteligência Artificial (IA) e...
PHP 8.4.1: Atualização da API DOM
O PHP, uma das linguagens de programação mais populares...
IA está revolucionando os testes em DevOps
A Inteligência Artificial encontrou seu lugar no desenvolvimento de...
Inteligência Artificial que transforma a Justiça Brasileira
A tecnologia está cada vez mais presente em nosso...
Cachaça criada por Inteligência Artificial custa R$ 697
Nos últimos anos, a Inteligência Artificial (IA) vem revolucionando...
Estratégias comprovadas para manter sua Equipe Remota Produtiva e Focada
O trabalho remoto não é mais uma tendência —...
7 Métodos de Análise de Riscos para Garantir a Segurança de Pessoas, Ativos e Operações
Quando falamos de segurança, o gerenciamento de riscos é...
Como a Inteligência Artificial está Revolucionando a Pesquisa Empresarial
A inteligência artificial (IA) está revolucionando o campo da...
Ascensão da IA Acionável: Transformando Vendas e Operações
A IA está avançando muito. Não estamos mais apenas...
Assistente de Inteligência Artificial: Redução de Custos e Eficiência Empresarial
A evolução tecnológica tem impactado significativamente a forma como...
A Revolução da IA Generativa: Moldando o Futuro da Criatividade e Inovação
Em 2025, a IA generativa está prestes a transformar...
Ascensão da IA Colaborativa: Unindo Forças para um Futuro Mais Inteligente
Em 2025, a colaboração entre humanos e inteligência artificial...
Agentes Autônomos de IA: A Próxima Fronteira da Tecnologia
Em 2025, a promessa de agentes autônomos de IA...
O Papel Transformador da IA nas Redes de Telecomunicações do Futuro
Em 2025, a inteligência artificial (IA) desempenhará um papel...
Inteligência Artificial Preditiva para a Sustentabilidade
A inteligência artificial (IA) está revolucionando a maneira como...
Atendimento ao Cliente Proativo com IA: Revolucionando a Experiência do Usuário
A era digital transformou a forma como as empresas...
Logística: Como a IA está Transformando as Operações
A logística é o coração pulsante de qualquer cadeia...
Segurança Cibernética com IA Autônoma: O Futuro da Proteção Digital
A segurança cibernética é um desafio constante em um...
Educação Personalizada com IA: Transformando o Aprendizado do Futuro
A educação está passando por uma transformação significativa, impulsionada...
Automação Inteligente com IA Transformando a Eficiência Operacional
A era da automação inteligente chegou e está transformando...
블로그로 돌아가기

댓글 남기기

댓글 게시 전에는 반드시 승인이 필요합니다.