Créer une station de prévision météo à l’aide d’un Feather S2 et d’un OLED

Créer une station de prévision météo à l'aide d'un Feather S2 et d'un OLED

En ce moment, j’attends la deuxième version de mon PCB pour le PicoPicorder. En rupture avec ma fabrication habituelle, j’ai décidé d’acheter un Plume S2 de Pimoroni. Il s’agit d’une carte au format Feather avec WiFI intégré qui est livré avec CircuitPython pré-installé (bien que je pense que vous pouvez installer MicroPython si vous le souhaitez – mais à la fin, je suis resté avec CircuitPython). Si vous voulez en savoir plus sur le Feather S2, Jetez un coup d’oeil à ce site internet.

Mais que faire fais avec ça?

Ma belle-fille a récemment commencé un travail de serveuse (très) locale en attendant de trouver l’emploi de ses rêves (on l’espère!). Jusqu’à aujourd’hui, tout cela était très externe, en raison des restrictions COVID au Royaume-Uni. Avec le léger assouplissement des restrictions d’aujourd’hui, elle sera à l’intérieur de temps en temps, mais ils gardent (très raisonnablement) la zone extérieure. J’ai donc décidé qu’elle avait besoin d’un moyen de savoir à quoi ressemblerait le temps pour les prochains quarts de travail.

J’ai aussi acheté un OLED FeatherWing en même temps, il a donc décidé de l’utiliser comme affichage d’une station de prévision météorologique. J’ai décidé que je ne voulais pas simplement prendre en sandwich les deux ensemble (parce que cela me donnerait un profil assez grand et je voulais quelque chose de plus plat. Cela signifiait soit un PCB, soit un morceau de stripboard. Je vais opter pour ce dernier éventuellement, mais tout d’abord j’ai décidé de tester les deux cartes (comme vous pouvez le voir sur l’image ci-dessus) .Cela impliquait de souder des connecteurs mâles sur les deux cartes, ce qui était assez facile (une fois que je m’étais habitué à mes nouvelles lunettes!)

Après avoir trié le circuit, j’ai écrit un code qui me permettrait de:

  • Sélectionnez un emplacement pour lequel prévoir la météo (parce que je voulais qu’il soit multi-utilisateur, donc ajouté dans la ville natale de mes parents et la ville natale de la belle-famille). (Bouton A sur l’OLED).
  • Récupérer une prévision à partir du API OpenWeatherMap.org (auquel je m’étais précédemment inscrit, sur leur niveau gratuit). (Bouton B).
  • Affichez la météo actuelle et les 5 prochaines prévisions météorologiques. (Bouton C).

Tout mon code est sur GitHub si vous souhaitez y jeter un œil. N’hésitez pas à réutiliser et à adapter si vous le souhaitez. L’API renvoie JSON, et il y a quelques fonctions de conversion là-dedans pour obtenir les données dans un paquet plus gérable (plus petit). Il existe probablement un moyen plus efficace d’utiliser la bibliothèque displayio, mais je voulais que le code soit terminé en un jour. J’ai appris charges à propos de Python, des boucles en particulier, en faisant ça!

Voici une démonstration vidéo de l’appareil tel qu’il se trouve actuellement sur la maquette. Comme vous pouvez l’imaginer, il ne faudra pas grand-chose pour le convertir en version stripboard! J’ajouterai ensuite une boîte imprimée en 3D pour l’installer.

Dites-moi ce que vous pensez du projet – et si vous pouvez penser à des cloches et des sifflets supplémentaires, je peux ajouter!

YouTube video