En cas de doute, une horloge. Peu importe que vous envisagiez de recycler une vieille tablette ou de obtenir des relevés météo précis, l'horloge est un projet idéal pour satisfaire le démon du DIY. Dans cette optique, nous avons récemment découvert Tiny Internet Clock, publié par «gokux» sur la plateforme Instructables. Tout ce qu'il vous faut, c'est un petit écran OLED, un module basé sur l'ESP32 ou l'ESP8266, et la dose exacte d'impression 3D.

Tiny Internet Clock : construire une petite horloge avec le WiFi
Tiny Internet Clock : construire une petite horloge avec le WiFi

Arduino, Raspberry Pi, microcontrôleurs, impression 3D… c'est sans aucun doute l'un des meilleurs moments pour se mouiller les pieds dans les eaux du DIY. De fait, de nombreux projets en ligne ne nécessitent même pas un fer à souder, et offrent une excellente opportunité à tous les utilisateurs. Tiny Internet Clock de «gokux» est l'un de ces projets, mais si vous avez accès à une imprimante 3D et êtes prêt à faire quelques points de soudure sur les connexions, vous obtiendrez une horloge WiFi très compacte et simple.

Construire une horloge avec WiFi

Tiny Internet Clock : construire une petite horloge avec le WiFi
... si on y pense, même le boîtier est optionnel.

D'un point de vue technique, il ne vous faut que trois choses : un module ESP32 ou ESP8266 compatible (ici, il utilise le Seeed Studio Xiao), un écran OLED SSD1306 au format 128 x 32 pixels, et une source d'alimentation. «gokux» a décidé de simplifier au maximum la conception et d'alimenter son Xiao avec un câble USB-C, mais ce n'est pas une mauvaise idée d'ajouter un module TP4056 et une petite batterie pour «couper le cordon». Cela dit, on ne peut pas parler de portabilité car les identifiants WiFi sont codés dans le code Arduino (détails plus bas).

Tiny Internet Clock : construire une petite horloge avec le WiFi
Deux câbles pour l'alimentation, et deux pour les données
Tiny Internet Clock : construire une petite horloge avec le WiFi
Tout est prêt à démarrer...

«gokux» a également eu la gentillesse de partager les fichiers pour imprimer le boîtier du Tiny Internet Clock, composé de trois pièces qui devraient s'assembler parfaitement même sur l'imprimante la plus basique. De loin, la partie intimidante du projet est le chargement du code Arduino dans l'ESP32, mais en réalité seulement quatre paramètres nous intéressent :

  • const char* ssid = "SSID"; – Ici, il faut remplacer "SSID" par le vrai SSID du réseau WiFi (entre guillemets).
  • const char* password = "Password"; – Pareil, mais on écrit le mot de passe.
  • int GMTOffset = 19080; – Ici, il faut indiquer le décalage négatif ou positif de notre fuseau horaire, en secondes.
  • int daylightOffset = 0; – Similaire au précédent, mais on indique le décalage pour l'heure d'été (si nécessaire).

La seule ligne de code supplémentaire que je voudrais mettre en évidence est :

configTime(GMTOffset, daylightOffset, "0.in.pool.ntp.org","time.nist.gov");

Le serveur 0.in.pool.ntp.org appartient à l'Inde, et il est peut-être plus pratique d'utiliser un NTP local.

Une fois tout le code chargé, le reste est une question de vérification des connexions physiques entre l'ESP32 et l'écran, de l'allumer et d'attendre la synchronisation. Faites le test !

Site officiel : Cliquez ici