Table des matières:

Station météo complète DIY Raspberry Pi avec logiciel : 7 étapes (avec photos)
Station météo complète DIY Raspberry Pi avec logiciel : 7 étapes (avec photos)

Vidéo: Station météo complète DIY Raspberry Pi avec logiciel : 7 étapes (avec photos)

Vidéo: Station météo complète DIY Raspberry Pi avec logiciel : 7 étapes (avec photos)
Vidéo: Créer une station météo 🌡️ pour l'ISS avec Raspberry Pi & Sense Hat ?! 2024, Décembre
Anonim
Station météo complète DIY Raspberry Pi avec logiciel
Station météo complète DIY Raspberry Pi avec logiciel
Station météo complète DIY Raspberry Pi avec logiciel
Station météo complète DIY Raspberry Pi avec logiciel

De retour fin février, j'ai vu ce post sur le site Raspberry Pi.

www.raspberrypi.org/school-weather-station-…

Ils avaient créé des stations météo Raspberry Pi pour les écoles. J'en voulais absolument un ! Mais à ce moment-là (et je crois toujours au moment d'écrire ceci), ils ne sont pas accessibles au public (vous devez faire partie d'un groupe sélectionné de testeurs). Eh bien, je voulais et je n'avais pas envie de débourser des centaines de dollars pour un système tiers existant.

Alors, comme un bon utilisateur d'Instructable, j'ai décidé de créer le mien !!!

J'ai fait quelques recherches et j'ai trouvé de bons systèmes commerciaux sur lesquels je pourrais baser le mien. J'ai trouvé de bons Instructables pour aider avec certains des concepts de capteur ou de Raspberry PI. J'ai même trouvé ce site, qui était sale, ils avaient démoli un système Maplin existant:

www.philpot.me/weatherinsider.html

Avance rapide d'environ un mois et j'ai un système de travail de base. Il s'agit d'un système complet Raspberry Pi Weather avec juste le matériel de base Raspberry Pi, une caméra et quelques capteurs analogiques et numériques assortis pour effectuer nos mesures. Pas d'achat d'anémomètres ou de pluviomètres préfabriqués, nous fabriquons les nôtres ! Voici ses caractéristiques:

  • Enregistre les informations dans RRD et CSV, peut donc être manipulé ou exporté/importé vers d'autres formats.
  • Utilise l'API Weather Underground pour obtenir des informations intéressantes comme les hauts et les bas historiques, les phases de la lune et le lever/coucher du soleil.
  • Utilise la caméra Raspberry Pi pour prendre une photo une fois par minute (vous pouvez ensuite les utiliser pour faire des timelapses).
  • A des pages Web qui affichent les données pour les conditions actuelles et certains historiques (dernière heure, jour, 7 jours, mois, année). Le thème du site Web change avec l'heure de la journée (4 options: lever, coucher de soleil, jour et nuit).

Tous les logiciels d'enregistrement et d'affichage des informations se trouvent dans un Github, j'ai même effectué un suivi des bogues, des demandes de fonctionnalités également:

github.com/kmkingsbury/raspberrypi-weather…

Ce projet a été une excellente expérience d'apprentissage pour moi, j'ai vraiment pu plonger dans les capacités du Raspberry Pi, en particulier avec le GPIO, et j'ai également rencontré des problèmes d'apprentissage. J'espère que vous, le lecteur, pouvez apprendre de certaines de mes épreuves et tribulations.

Étape 1: Matériaux

Matériaux
Matériaux
Matériaux
Matériaux
Matériaux
Matériaux
Matériaux
Matériaux

Électronique:

  • 9 interrupteurs à lames (8 pour la direction du vent, 1 pour le pluviomètre, en option 1 pour la vitesse du vent au lieu d'un capteur à effet Hall), j'ai utilisé ceux-ci:
  • 1 capteur à effet Hall (pour la vitesse du vent, appelé anémomètre) -
  • Température (https://amzn.to/2RIHf6H)
  • Humidité (beaucoup de capteurs d'humidité sont livrés avec un capteur de température), j'ai utilisé le DHT11:
  • Pression (le BMP est également livré avec un capteur de température), j'ai utilisé le BMP180, https://www.adafruit.com/product/1603, ce produit est maintenant abandonné mais il existe un équivalent avec le BMP280 (https://amzn.to/2E8nmhi)
  • Photorésistance (https://amzn.to/2seQFwd)
  • Puce GPS ou GPS USB (https://amzn.to/36tZZv3).
  • 4 aimants puissants (2 pour l'anémomètre, 1 pour la direction, 1 pour le pluviomètre), j'ai utilisé les aimants en terres rares, fortement recommandés) (https://amzn.to/2LHBoKZ).
  • Une poignée de résistances assorties, j'ai ce pack qui s'est avéré extrêmement pratique dans le temps:
  • MCP3008 - pour convertir les entrées analogiques en entrées numériques pour le Raspberry Pi -

Matériel

  • Raspberry Pi - J'utilisais à l'origine le 2 avec un adaptateur sans fil, maintenant obtenez également le kit 3 B+ avec adaptateur secteur. (https://amzn.to/2P76Mop)
  • Caméra Pi
  • Un adaptateur secteur 5V solide (cela s'est avéré péniblement ennuyeux, j'ai finalement eu celui d'Adafruit, sinon la caméra tire trop de jus et peut/va accrocher le Pi, c'est ici: https://www.adafruit.com/products /501)

Matériaux:

  • 2 roulements de butée (ou des roulements de skate ou de patin à roulettes fonctionneront aussi), je les ai obtenus sur Amazon:
  • 2 boîtiers étanches (j'ai utilisé un boîtier électrique du magasin à grande surface local), peu importe, il suffit de trouver un boîtier de bonne taille qui aura suffisamment d'espace et protégera tout).
  • Certains tuyaux et embouts en PVC (différentes tailles).
  • supports de montage en PVC
  • Quelques feuilles de plexiglas mince (rien d'extraordinaire).
  • entretoises en plastique
  • mini vis (j'ai utilisé des boulons et des écrous #4).
  • 2 ornements d'arbre de Noël en plastique - utilisé pour l'anémomètre, j'ai eu le mien au lobby Hobby local.
  • Petit goujon
  • Petit morceau de contreplaqué.

Outils:

  • Dremel
  • Pistolet à colle
  • Fer à souder
  • Multimètre
  • Percer

Étape 2: Boîtier principal - Pi, GPS, appareil photo, lumière

Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière
Boîtier principal - Pi, GPS, appareil photo, lumière

Le boîtier principal abrite le PI, la caméra, le GPS et le capteur de lumière. Il est conçu pour être étanche car il abrite tous les composants critiques, les mesures sont prises à partir du boîtier distant et celui-ci est conçu pour être exposé/ouvert aux éléments.

Pas:

Choisissez un boîtier, j'ai utilisé une boîte de jonction électrique, divers boîtiers de projet et boîtiers étanches fonctionneront tout aussi bien. Le point clé est qu'il a suffisamment d'espace pour tout contenir.

Mon boîtier contient:

  • Le raspberry pi (sur les entretoises) - A besoin d'une puce WIFI, je ne veux pas utiliser Cat5e dans l'arrière-cour !
  • La caméra (également sur les impasses)
  • La puce GPS, connectée via USB (à l'aide d'un câble FTDI sparkfun: https://www.sparkfun.com/products/9718) - Le GPS fournit la latitude et la longitude, ce qui est bien, mais plus important encore, je peux obtenir l'heure précise à partir de le GPS !
  • deux prises ethernet/cat 5 pour connecter le boîtier principal à l'autre boîtier qui abrite les autres capteurs. C'était juste un moyen pratique d'avoir des câbles entre les deux boîtiers, j'ai environ 12 fils, et les deux cat5 fournissent 16 connexions possibles, donc j'ai de la place pour étendre/changer les choses.

Il y a une fenêtre à l'avant de mon boîtier pour que la caméra puisse voir. Le boîtier avec cette fenêtre protège l'appareil photo, mais j'ai eu des problèmes où le voyant rouge de l'appareil photo (quand il prend une photo) se reflète sur le plexiglas et apparaît sur la photo. J'ai utilisé du ruban adhésif noir pour atténuer cela et essayer de le bloquer (ainsi que d'autres LED du Pi et du GPS), mais ce n'est pas encore à 100%.

Étape 3: « Boîtier à distance » pour la température, l'humidité et la pression

« Enclos à distance » pour la température, l'humidité et la pression
« Enclos à distance » pour la température, l'humidité et la pression
« Enclos à distance » pour la température, l'humidité et la pression
« Enclos à distance » pour la température, l'humidité et la pression
« Enclos à distance » pour la température, l'humidité et la pression
« Enclos à distance » pour la température, l'humidité et la pression

C'est là que j'ai stocké les capteurs de température, d'humidité et de pression ainsi que les "branchements" pour le pluviomètre, la direction du vent et les capteurs de vitesse du vent.

Tout est très simple, les broches ici se connectent via les câbles Ethernet aux broches requises sur le Raspberry Pi.

J'ai essayé d'utiliser des capteurs numériques là où je le pouvais, puis n'importe quel analogique est ajouté au MCP 3008, il en faut jusqu'à 8 analogiques, ce qui était plus que suffisant pour mes besoins, mais laisse de la place pour améliorer / étendre.

Cette enceinte est ouverte à l'air (cela doit être pour une température, une humidité et une pression précises). Les trous du bas sont sortis, j'ai donc donné à certains des circuits un spray de revêtement conforme en silicone (vous pouvez l'obtenir en ligne ou dans un endroit comme Fry's Electronics). Espérons que cela devrait protéger le métal de toute humidité, bien que vous deviez faire attention et ne pas l'utiliser sur certains des capteurs.

Le haut de l'enceinte est également l'endroit où le capteur de vitesse du vent s'adapte. C'était un coup dur, j'aurais pu mettre la vitesse ou la direction du vent au dessus, je ne voyais pas d'avantages majeurs de l'un par rapport à l'autre. Dans l'ensemble, vous voulez que les deux capteurs (direction et vitesse du vent) soient suffisamment hauts pour que les bâtiments, les clôtures et les obstacles n'interfèrent pas avec les mesures.

Étape 4: Pluviomètre

Pluviomètre
Pluviomètre
Pluviomètre
Pluviomètre
Pluviomètre
Pluviomètre

J'ai surtout suivi cette instructable pour faire la jauge réelle:

www.instructables.com/id/Arduino-Weather-St…

Je l'ai fait en plexiglas pour voir ce qui se passait et j'ai pensé que ce serait cool. Dans l'ensemble, le plexiglas a bien fonctionné, mais combiné avec le Gluegun, le mastic en caoutchouc et la coupe et le perçage globaux, il ne reste pas aussi impeccable, même avec le film protecteur.

Points clés:

  • Le capteur est un simple commutateur à lames et un aimant traité comme une pression sur un bouton dans le code RaspberryPi, je compte simplement les seaux au fil du temps, puis je fais la conversion plus tard en "pouces de pluie".
  • Faites-le assez grand pour contenir suffisamment d'eau pour basculer, mais pas au point qu'il en faille beaucoup pour basculer. Lors de mon premier passage, chaque plateau n'était pas assez grand pour qu'il se remplisse et commence à s'écouler par-dessus le bord avant qu'il ne bascule.
  • J'ai également trouvé que l'eau résiduelle pouvait ajouter une erreur à la mesure. Ce qui signifie que complètement sec, il a fallu X gouttes pour remplir un côté et le renverser, une fois mouillé, il a fallu Y gouttes (ce qui est inférieur à X) pour remplir et renverser. Ce n'est pas une quantité énorme, mais cela a eu un effet lorsque vous avez essayé de calibrer et d'obtenir une bonne mesure "1 charge égale combien".
  • Équilibrez-le, vous pouvez tricher en ajoutant de la colle pour pistolet à colle aux extrémités inférieures si un côté est beaucoup plus lourd que l'autre, mais vous en avez besoin aussi près que possible de l'équilibre.
  • Vous pouvez voir sur la photo que j'ai installé un petit banc d'essai à l'aide d'éponges et d'un support en bois pour tester et équilibrer correctement avant de l'installer.

Étape 5: Direction du vent

Direction du vent
Direction du vent
Direction du vent
Direction du vent
Direction du vent
Direction du vent

C'était une simple girouette. J'ai basé l'électronique sur le système Maplin:

www.philpot.me/weatherinsider.html

Points clés:

Il s'agit d'un capteur analogique. Les huit commutateurs à lames combinés à diverses résistances divisent la sortie en morceaux afin que je puisse identifier dans quelle coordonnée se trouve le capteur par la valeur. (Le concept est expliqué dans cette instructable:

  • Après avoir vissé la partie girouette, vous devez la calibrer pour que "cette direction soit celle qui pointe vers le nord".
  • J'ai fait un banc d'essai avec du bois pour pouvoir allumer et éteindre facilement des résistances qui couvraient toute la plage de valeurs pour moi, c'était super utile !
  • J'ai utilisé un roulement de butée, ça s'est bien passé, je suis sûr qu'un roulement de skate ou de patin à roulettes ordinaire aurait été tout aussi bien.

Étape 6: Vitesse du vent

Vitesse du vent
Vitesse du vent
Vitesse du vent
Vitesse du vent
Vitesse du vent
Vitesse du vent

Celui-ci, je me suis de nouveau tourné vers la communauté Instructable et j'ai trouvé et suivi cette instructable:

www.instructables.com/id/Data-Logging-Anemo…

Points clés:

  • Vous pouvez également utiliser le capteur à effet Hall ou passer à un capteur Reed. Le capteur à effet hall est plus un capteur analogique, donc si vous l'utilisez de manière numérique, comme une pression sur un bouton, vous devez vous assurer que la lecture/la tension est suffisamment élevée pour qu'elle agisse comme une véritable pression sur un bouton, plutôt que pas assez.
  • La taille de la tasse est cruciale, tout comme la longueur du bâton ! À l'origine, j'utilisais des balles de ping-pong et elles étaient beaucoup trop petites. Je les ai aussi mis sur de longs bâtons qui ne fonctionnaient pas non plus. J'ai été très frustré et je suis ensuite tombé sur cette instructable, Ptorelli a fait un excellent travail d'explication et cela m'a aidé lorsque ma conception originale ne fonctionnait pas aussi bien.

Étape 7: Logiciel

Logiciel
Logiciel
Logiciel
Logiciel

Le logiciel est écrit en Python pour enregistrer les données des capteurs. J'ai utilisé d'autres bibliothèques Git tierces d'Adafruit et d'autres pour obtenir les informations des capteurs et du GPS. Il existe également des tâches cron qui extraient également certaines des informations de l'API. La plupart sont expliqués/présentés dans la documentation Git à l'adresse docs/install_notes.txt

Le logiciel Web est en PHP pour l'afficher sur la page Web tout en utilisant également YAML pour les fichiers de configuration et bien sûr l'outil RRD pour stocker et représenter graphiquement les données.

Il utilise l'API Weather Underground pour obtenir certaines des données intéressantes que les capteurs ne peuvent pas extraire: Enregistrez les Hi et Lows, Phase of the Moon, Sunset and Sunrise times, il y a aussi Tides disponible sur leur API, ce que j'ai trouvé vraiment chouette, mais j'habite à Austin TX qui est très loin de l'eau.

Tout cela est disponible sur Github et est activement maintenu et actuellement utilisé au fur et à mesure que j'affine et calibre mon propre système, afin que vous puissiez également soumettre des demandes de fonctionnalités et des rapports de bogues.

Le logiciel passe par un changement de thème selon l'heure de la journée, il y a 4 étapes. Si l'heure actuelle est à + ou - 2 heures du lever ou du coucher du soleil, vous obtiendrez respectivement les thèmes du lever et du coucher du soleil (pour le moment, juste un arrière-plan différent, je ferai probablement différentes couleurs de police/bordure à l'avenir). De même en dehors de ces plages donne le thème jour ou nuit.

Merci d'avoir lu, si vous souhaitez voir plus de photos et de vidéos de mes projets que de consulter ma chaîne Instagram et YouTube.

Concours Jour Pi/e
Concours Jour Pi/e
Concours Jour Pi/e
Concours Jour Pi/e

Troisième prix du concours Pi/e Day

Conseillé: