Table des matières:

Tweerstationneke A.k.a. Station météo néerlandaise : 4 étapes
Tweerstationneke A.k.a. Station météo néerlandaise : 4 étapes

Vidéo: Tweerstationneke A.k.a. Station météo néerlandaise : 4 étapes

Vidéo: Tweerstationneke A.k.a. Station météo néerlandaise : 4 étapes
Vidéo: Голубая стрела (1958) фильм 2024, Juillet
Anonim
Tweerstationneke A.k.a. Station météo néerlandaise
Tweerstationneke A.k.a. Station météo néerlandaise

Mon père est toujours intéressé par les dernières nouvelles et les dernières informations météorologiques. Cela m'a donc amené au cadeau d'anniversaire parfait lorsqu'il a eu 76 ans: une petite station météo toujours allumée et sans bêtises, elle reste tranquillement assise dans un coin toute la journée et donne un résumé des dernières prévisions.

Il est conçu autour de deux sites Web néerlandais. Vous pouvez probablement le voir sur le titre local amusant de ce sujet ! On donne les prévisions locales par ville toutes les 10 minutes au format json. L'autre donne les prévisions de pluie pour les deux prochaines heures en format texte brut, ce qui est toujours pratique à connaître. Je suis sûr que si vous ne vivez pas aux Pays-Bas, vous pouvez facilement adapter ce sujet à n'importe quel autre service.

Fournitures

  • Une carte ESP8266; suggérer d'utiliser un Wemos D1 mini
  • Un écran TFT de 1,8 pouces avec 128*160 points; couleur 16 bits
  • Quelques câbles
  • Le programme tel quel ou pour commencer pour créer le vôtre
  • Une jolie boîte pour tout mettre ensemble. Utilisez un modèle standard ou imprimez le vôtre avec le dessin ci-joint

Étape 1: Faire le prototype

Faire le prototype
Faire le prototype

Écran de connexion et contrôleur

Utilisez un petit câble plat et soudez la carte et l'écran TFT ensemble. Utilisez la liste pour connecter les pièces dans le bon sens

ECRAN TFT ------------------ WEMOS

LED ------------------------------- D8 SCK ---------------- ---------------- D5SDA ----------------- D7A0 -- -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ------------------------------------------- GNDVCC --------------------- ---------- 3V3

Alternativement, vous pouvez mettre la LED sur 3v3 au lieu de la broche D8. J'ai utilisé la broche D8 pour que l'appareil s'endorme vers 23h00 la nuit et se réveille à nouveau vers 07h00. En effet, ce sera le premier moment où il lit le bulletin météo après cette heure, car il lit l'en-tête pour vérifier l'heure. Il n'y a pas d'horloge en temps réel dans cet appareil.

Si tout cela fonctionne, branchez votre câble USB sur le Wemos et chargez le logiciel. Si tout fonctionne, vous pouvez commencer à construire la boîte.

Étape 2: Conception du programme

Conception de programme
Conception de programme

Mes idées de cet appareil météo où

  • Facilement adaptable à un autre environnement wifi
  • Afficher les prévisions météo et les prévisions de pluie
  • Pas de boutons
  • Pas de son, simple qui, pas de fuzz

Dans cet esprit, j'ai créé un programme qui démarre avec le code WifiManager lorsqu'il ne peut pas découvrir un réseau Wifi connu. Il crée son propre réseau et affiche le nom sur l'écran. Cela vous donne la possibilité de définir les paramètres Wifi sur votre propre réseau domestique.

Après cette configuration, il affiche les prévisions météorologiques et les précipitations de pluie à tour de rôle, toutes les 20 secondes. Si, pour une raison quelconque, il n'est pas possible de lire la prochaine prévision, un petit numéro d'erreur s'affichera sur le côté droit de l'écran; et l'image précédente s'affichera. Lors de l'exécution suivante, une nouvelle tentative est effectuée pour récupérer les informations.

Les informations météorologiques sont reçues du site dans un message de style json. Les informations qu'il contient sont converties et enregistrées dans des variables globales. De cette façon, nous pouvons dissocier la récupération de l'information de son affichage. Il n'y a aucune raison de récupérer la météo plus rapidement qu'une fois toutes les 10 minutes.

Obtenir les précipitations de pluie est encore plus simple. Il est servi au format texte brut, avec la quantité de pluie attendue comme valeur 0..255; une barre verticale; un temps sur chaque ligne. Ceci toutes les 5 minutes pendant les 2 heures suivantes. La valeur de pluie est fournie d'une manière intelligente où les petites valeurs donnent plus de place pour montrer la différence sous forme de valeurs plus grandes. La formule utilisée est la suivante:

mmheure = round(pow(10, (rainvalue - 109) / 32) * 10) / 10;

Notez que le "fois 10, diviser par 10" est une astuce pour s'assurer que nous avons 1 décimale derrière le point. En fonction de la quantité maximale de pluie attendue au cours des 2 heures à venir, 3 échelles sont utilisées pour le graphique;

  1. Max de 5 mm/heure attendu
  2. Max de 20 mm/heure attendu
  3. Max est tiré de la valeur la plus élevée de la prévision

Ici, aux Pays-Bas, notre valeur record se situe aux alentours de 80 mm/heure; donc cette échelle fera parfaitement l'affaire. Pour d'autres pays, il serait peut-être sage de changer cela.

Étape 3: Code de programme

Code de programme
Code de programme

Paramètres de l'éditeur

Le logiciel de cet appareil météo est créé dans l'environnement de programmation Arduino. Vous le trouverez ci-joint pour votre commodité. Utilisez-le tel quel; ou modifiez-le selon vos besoins. Tout le texte qui peut être affiché sur l'écran TFT est DÉFINI en haut du programme; ce qui signifie que vous pouvez facilement le changer dans votre propre langue si vous le souhaitez. J'ai utilisé le Wemos D1 mini, mais des cartes similaires fonctionneront également.

Dans l'environnement Arduino, j'ai utilisé les paramètres suivants;

  • Carte: LOLIN(WEMOS) D1 RA & Mini
  • Vitesse de téléchargement: 115200
  • Fréquence CPU: 80 MHz
  • Taille du flash: 4 M (pas de SPIFFS) V2 mémoire inférieure désactivée

Des minuteries logicielles sont utilisées pour rendre la boucle () plus facile et plus lisible. L'affichage des informations est séparé du téléchargement des informations. De cette façon, nous pouvons utiliser d'autres tailles d'écran, etc. sans avoir à modifier tout le programme.

Utilisez le fichier.ino et chargez-le dans l'éditeur arduino. Configurez votre tableau dans l'éditeur. Joignez le fichier d'en-tête qui garantit que les tableaux PROGMEM de style C nécessaires sont inclus dans le programme.

carte SD

Notez que la plupart des écrans 1,8 pouces disponibles ont un emplacement pour carte SD à l'arrière de l'écran. C'est une fonctionnalité intéressante qui vous aide à stocker de grandes images sur la carte. La plupart des microcontrôleurs n'ont pas trop de mémoire embarquée, ce qui aide.

Bien que je passe beaucoup de temps à essayer de faire fonctionner la carte SD avec l'écran, je n'ai pas réussi à obtenir une situation viable. Je pourrais utiliser l'écran; récupérer un fichier de la carte SD avec succès, mais après cela, je ne pouvais plus accéder à l'écran TFT. Changer de bibliothèques, changer l'ordre des bibliothèques et "déshabiller" le programme au plus petit corps pour exclure d'autres possibilités ne m'a pas aidé.

Pour ajouter à ma frustration; il y a des tonnes d'exemples sur Internet de personnes faisant des choses similaires avec un résultat positif, hmmm. Peut-être un problème matériel sur mon écran TFT ? Ou quelque chose auquel je n'ai pas pensé ? Toutes les suggestions sont les bienvenues pour une prochaine tentative. A la fin après y avoir passé quelques soirées; J'ai décidé de quitter ce chemin. Étant donné que les images ne font que 50x50 pixels (ce qui donne 5 000 octets chacune à 16 bits de couleur), l'ESP est capable de les stocker facilement dans PROGMEM. C'est donc l'astuce que j'ai utilisée.

Ce choix a donné lieu à un autre défi. Comment obtenir l'image BMP que j'avais dans un format lisible. Après quelques recherches, j'ai découvert le site de Henning Karlsen qui a résolu cette énigme plus tôt. Il a créé un programme qui convertit les fichiers de type-p.webp

Étape 4: Créer la boîte

Créer la boîte
Créer la boîte
Créer la boîte
Créer la boîte
Créer la boîte
Créer la boîte

Ce n'est pas la première boîte dont j'avais besoin. De nombreuses boîtes standard sont disponibles auprès des fournisseurs. À l'aide d'une petite scie, d'un couteau, d'une perceuse, etc., il est facile de créer un trou pour l'affichage dans la boîte. Mais je n'ai jamais réussi à faire un joli rectangle exact. Probablement pas assez de compétences et/ou de patience;-)

La solution: j'ai eu de la chance. J'ai un collège qui est comme un surhomme s'il s'agit de jouer avec des trucs techniques. Cela inclut également la conception et l'impression 3D. Il a donc décidé d'offrir beaucoup de son temps libre pour mesurer l'écran TFT et le microcontrôleur et créer un boîtier autour de celui-ci. Tout va bien, regardez les photos. Il contient même des clips pour l'écran, un trou pour le connecteur USB et un emplacement pour fixer le microcontrôleur.

Merci Arjan pour ce super travail fait !!! Mieux encore, il a eu la gentillesse de donner à tout le monde accès à son travail, donc si vous téléchargez ses fichiers à partir du lien et l'utilisez pour votre propre imprimante 3D, vous pouvez créer la même boîte avec du contenu.

Conseillé: