Como fazer um relógio de Internet usando ESP8266

Cómo hacer un reloj de Internet usando ESP8266

El Internet de las cosas (IoT) ofrece varias aplicaciones interesantes, incluido un reloj de Internet. Este dispositivo de cronometraje utiliza una conexión a Internet para sincronizar la hora con un servidor de hora. Esto garantiza un cronometraje muy preciso, alineado con el tiempo universal coordinado (UTC) de los servidores en línea.

La mayoría de los relojes de Internet utilizan NTP, un protocolo diseñado para sincronizar relojes en una red. Los relojes de Internet mantienen una alta precisión al sincronizarse con relojes atómicos o la hora del GPS. Estos relojes también se ajustan automáticamente a la zona horaria correcta según su ubicación de red.

En este proyecto, diseñaremos un reloj de Internet usando ESP8266. El reloj obtiene la información sobre la hora y el clima de WeatherAPI.com y la muestra en una pantalla OLED SSD1306. Se puede utilizar cualquier pantalla, como una de mayor tamaño, para mostrar el reloj.

Componentes

1ESP8266 /ESP32x1
2. SSD1306 OLEDx1
3. Cables de conexión o Dupont
4. cable microUSB para conectar ESP a la computadora
5. Fuente de alimentación para ESP8266/ESP32

Conexiones de circuito
Para este proyecto, necesitará conectar el ESP8266 o ESP32 con un SSD1306 OLED. Estamos construyendo nuestro proyecto usando ESP8266. La pantalla OLED SSD1306 es un módulo OLED de 7 pines con interfaces SPI e I2C. En la imagen de abajo se muestra un OLED de 0,96 ″.

Para interconectar el SSD1306 OLED con el ESP8266, realice las conexiones del circuito como se describe en la siguiente tabla.

Recuerde reemplazar el SSID y la clave de red en el boceto con los de su conexión WiFi personal. Además, reemplace la clave API con la suya de WeatherAPI.com (que puede obtener registrándose allí).

Cómo funciona este proyecto
Se requiere un microcontrolador con capacidades Ethernet o WiFi (integrado o mediante un escudo externo o placa de conexión) para construir este reloj de Internet.

Usamos ESP8266 para construir nuestro reloj, que tiene funcionalidad WiFi, por lo que se conecta fácilmente a cualquier red. Cuando el ESP8266 está encendido, se conecta a WiFi utilizando el SSID y la contraseña de red proporcionados. Luego realiza una solicitud HTTP a WeatherAPI.com para obtener los datos JSON de la API en tiempo real.

Los datos JSON recibidos se deserializan y se recuperan datos específicos de fecha, hora, ubicación y clima. Estos datos se formatean y se muestran en la pantalla OLED en una plantilla definida por el usuario.

Código
El boceto comienza importando las bibliotecas ESP8266WiFi.h, ESP8266HTTPClient.h, ArduinoJson.h, SPI.h, Wire.h, Adafruit_GFX.h y Adafruit_SSD1306.h.

A continuación se muestra un resumen de cada proceso:

  • ESP8266WiFi.h se utiliza para conectar ESP8266 a la red WiFi.
  • ESP8266HTTPClient.h realiza solicitudes HTTP desde ESP8266 al servidor web, que es WeatherAPI.com.
  • ArduinoJson.h analiza y deserializa los datos JSON recibidos de la API WeatherAPI Realtime.
  • SPI.h y Wire.h se utilizan para interconectar el SSD1306 OLED con el ESP8266.
  • Las bibliotecas Adafruit_GFX.h y Adafruit_SSD1306.h administran la pantalla OLED SSD1306.

A continuación, se declaran variables para las asignaciones de pines que conectan el ESP8266 con el SSD1306 OLED. Se crea una instancia de un objeto de "visualización" de la clase Adafruit_SSD1306. Se declaran variables para almacenar el SSID, la contraseña de la red WiFi y la clave API de WeatherAPI.com. Luego se declaran algunas variables globales para almacenar la temperatura, la humedad, la velocidad del viento, la precipitación, la fecha, la hora, la fecha formateada, la hora formateada y el día de la semana.

Luego, la función definida por el usuario dayOfWeek se define para derivar el día de la semana a partir de la fecha del calendario gregoriano utilizando el algoritmo de congruencia de Zeller. La función definida por el usuario fetchData también está definida para que se realice la solicitud HTTP a la API WeatherAPI Realtime y los datos se reciban como un documento JSON.

La función definida por el usuario parseData deserializa los datos JSON, extrayendo la fecha, hora, ubicación, temperatura, humedad, velocidad del viento, precipitación y condiciones climáticas en las variables respectivas. La fecha, hora, ubicación y información meteorológica se convierten a los formatos adecuados para su visualización.

La función definida por el usuario displayClock coloca la fecha, hora, ubicación e información meteorológica en el SSD1306 OLED en un diseño predefinido. Es importante tener en cuenta que el programa en fetchData está codificado para que ESP8266 recupere datos de la API en tiempo real mediante una búsqueda de IP. El reloj detecta automáticamente la ubicación actual y recupera la fecha, hora, ubicación e información meteorológica en tiempo real según la ubicación.

En la función de configuración, la placa ESP8266 se conecta a la red WiFi y se inicializa la pantalla OLED SSD1306. En la función de bucle, se llama a fetchData para recuperar la fecha, hora, ubicación y información meteorológica según la búsqueda de IP. Luego, esto se muestra en la pantalla OLED llamando a la función displayClock.

Se proporciona un retraso de cinco segundos antes de que se actualice el reloj. Es posible que el reloj tarde más en actualizar la fecha, la hora y otra información según la conectividad de la red y el tiempo de respuesta del 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...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.