Table des matières:

Station météo solaire Raspberry Pi : 7 étapes (avec photos)
Station météo solaire Raspberry Pi : 7 étapes (avec photos)

Vidéo: Station météo solaire Raspberry Pi : 7 étapes (avec photos)

Vidéo: Station météo solaire Raspberry Pi : 7 étapes (avec photos)
Vidéo: Station de surveillance RASPBERRY PI - Caméra, température et relay 2024, Novembre
Anonim
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi
Station météo solaire Raspberry Pi

Poussé par l'achèvement de mes deux projets précédents, la caméra compacte et la console de jeux portable, j'ai voulu trouver un nouveau défi. La progression naturelle était un système à distance extérieur…

Je voulais construire une station météo Raspberry Pi capable de se maintenir hors réseau et de m'envoyer les résultats via une connexion sans fil, de n'importe où ! Ce projet a vraiment eu ses défis, mais heureusement, alimenter le Raspberry Pi est l'un des principaux défis qui a été rendu facile en utilisant le PiJuice comme alimentation avec son support solaire supplémentaire (complet avec notre technologie révolutionnaire PiAnywhere - le meilleur moyen de retirez votre Pi de la grille !).

Ma pensée initiale était d'utiliser le fantastique module AirPi pour prendre des lectures. Cependant, cela présentait deux inconvénients principaux; il nécessite une connexion Internet directe pour télécharger les résultats et il doit être connecté directement au GPIO sur le Pi, ce qui signifie qu'il ne peut pas être exposé à l'air sans exposer également le Raspberry Pi (pas idéal si nous voulons que cette station météo durer n'importe quelle durée).

La solution… construire mon propre module de détection ! En m'inspirant d'une grande partie de l'AirPi, j'ai pu créer un prototype très simple à l'aide de quelques capteurs que je possédais déjà; température, humidité, niveaux de lumière et gaz généraux. Et ce qui est bien, c'est qu'il est vraiment facile d'ajouter plus de capteurs à tout moment.

J'ai décidé d'utiliser un Raspberry Pi a+ principalement en raison de sa faible consommation électrique. Pour m'envoyer les résultats, j'ai utilisé le module EFCom Pro GPRS/GSM, qui peut envoyer un SMS directement sur mon téléphone portable avec les résultats ! Plutôt chouette, non ?

Je suis heureux d'avoir ici toutes les idées que vous avez pour d'autres grands projets solaires ou portables. Faites-le moi savoir dans les commentaires et je ferai de mon mieux pour créer un tutoriel !

Étape 1: Pièces

les pièces
les pièces

1 x PiJuice + panneau solaire (complet avec notre technologie révolutionnaire PiAnywhere - la meilleure façon de retirer votre Pi du réseau !)

1 x Raspberry Pi a+

1 module GPRS/GSM EFCom Pro

1 x carte SIM

1 x planche à pain

Protoboard

1 x CAN MCP3008

1 x LDR

1 x LM35 (Capteur de température)

1 x DHT22 (capteur d'humidité)

1 x capteur de qualité de l'air général TGS2600

1 résistance de 2,2 KΩ

1 résistance de 22 KΩ

1 résistance de 10 KΩ

10 x fils de cavalier femelle - femelle

Assortiment de fils de calibre simple

1 x boîte de jonction extérieure simple

1 x boîte de jonction extérieure double

1 x connecteur de câble étanche

2 passe-câbles semi-aveugles de 20 mm

Étape 2: Circuit de détection

Circuit de détection
Circuit de détection
Circuit de détection
Circuit de détection
Circuit de détection
Circuit de détection

Il y a pas mal d'éléments différents dans ce projet, il est donc préférable de tout faire par étapes. Tout d'abord, je vais expliquer comment assembler le circuit de détection.

C'est une bonne idée de commencer par construire cela sur une planche à pain, juste au cas où vous feriez des erreurs, j'ai inclus un schéma de circuit et des images étape par étape, auxquelles vous pouvez vous référer.

  1. Le premier composant à être câblé est ce convertisseur analogique-numérique MCP3008. Cela peut prendre jusqu'à 8 entrées analogiques et communique avec le Raspberry Pi via SPI. Avec la puce tournée vers le haut et le demi-cercle coupé à l'extrémité la plus éloignée de vous, les broches de droite se connectent toutes au Raspberry Pi. Connectez-les comme indiqué. Si vous souhaitez en savoir un peu plus sur le fonctionnement de la puce, voici un excellent guide sur le MCP3008 et le protocole SPI.
  2. Les broches de gauche sont les 8 entrées analogiques, numérotées de 0 à 7 de haut en bas. Nous n'utiliserons que les 3 premiers (CH0, CH1, CH2), pour le LDR, le capteur général de gaz (TGS2600) et le capteur de température (LM35). Connectez d'abord le LDR comme indiqué sur le schéma. Un côté à la terre et l'autre à 3,3V via une résistance de 2,2KΩ et CH0.
  3. Ensuite, connectez le "capteur de gaz général". Ce capteur de gaz est utilisé pour la détection de contaminants atmosphériques tels que l'hydrogène et le monoxyde de carbone. Je n'ai pas encore trouvé comment obtenir des concentrations spécifiques, donc pour l'instant le résultat de ce capteur est un niveau de pourcentage de base, où 100% est complètement saturé. Avec le capteur vers le haut (broches sur la face inférieure), la broche directement à droite du petit affleurement est la broche 1, puis les chiffres augmentent dans le sens des aiguilles d'une montre autour de la broche. Ainsi, les broches 1 et 2 se connectent à 5V, la broche 3 se connecte à CH1 et à la terre via une résistance de 22KΩ et la broche 4 se connecte directement à la terre.
  4. Le dernier capteur analogique à connecter est le capteur de température LM35. Celui-ci a 3 broches. Prenez le capteur de manière à ce que le côté plat soit le plus proche de vous, la broche la plus à gauche se connecte directement à 5V (non marqué sur le schéma, mon mauvais !), la broche centrale se connecte à CH2 et la broche la plus à droite se connecte directement à la terre. Facile!
  5. Le dernier composant à connecter est le capteur d'humidité DHT22. Il s'agit d'un capteur numérique qui peut donc être connecté directement au Raspberry Pi. Prenez le capteur avec la grille face à vous et les quatre broches en dessous. Les broches sont commandées à partir de 1 à gauche. Connectez 1 à 3,3 V. La broche 2 va à GPIO4 et 3,3V via une résistance de 10KΩ. Laissez la broche 3 déconnectée et la broche 4 va directement à la terre.

C'est ça! Le circuit de test a été construit. J'espère ajouter d'autres composants quand j'aurai le temps. J'aimerais vraiment ajouter un capteur de pression, un capteur de vitesse du vent et j'aimerais obtenir des données plus intelligentes sur les concentrations de gaz.

Étape 3: Module GSM

Module GSM
Module GSM
Module GSM
Module GSM

Maintenant que les circuits de détection ont été construits, il doit y avoir un moyen de recevoir les résultats. C'est là qu'intervient le module GSM. Nous allons l'utiliser pour envoyer les résultats sur le réseau cellulaire dans un SMS, une fois par jour.

Le module GSM communique avec le Raspberry Pi via série en utilisant UART. Voici quelques informations intéressantes sur la communication série avec le Raspberry Pi. Afin de prendre le contrôle du port série du Pi, nous devons d'abord effectuer une configuration.

Démarrez votre Raspberry Pi avec une image Raspbian standard. Modifiez maintenant le fichier "/boot/cmdline.txt" de:

"dwc_otg.lpm_enable=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 lift=deadline rootwait"

à:

"dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 lift=délai rootwait"

en supprimant la section de texte soulignée.

Deuxièmement, vous devez éditer le fichier "/etc/inittab", en commentant la deuxième ligne de la section suivante:

#Faire apparaître un getty sur la ligne série Raspberry PiT0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Pour qu'il se lise:

#Faire apparaître un getty sur la ligne série Raspberry Pi#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

et redémarrez le Pi. Maintenant, le port série devrait être libre de communiquer avec vous comme vous le souhaitez. Il est temps de câbler le module GSM. Jetez un œil au schéma de circuit de l'étape précédente et aux images ci-dessus pour voir comment cela se fait. Fondamentalement, TX est connecté à RX et RX est connecté à TX. Sur le Raspberry Pi TX et RX sont GPIO 14 et 15 respectivement.

Maintenant, vous voulez probablement vérifier que ce module fonctionne, alors essayons d'envoyer un texte ! Pour cela, vous devez télécharger Minicom. C'est un programme qui vous permet d'écrire sur le port série. Utilisation:

"sudo apt-get install minicom"

Une fois installé, minicom peut être ouvert avec la commande suivante:

"minicom -b 9600 -o -D /dev/ttyAMA0"

9600 est le débit en bauds et /dev/ttyAMA0 est le nom du port série du Pi. Cela ouvrira un émulateur de terminal dans lequel tout ce que vous écrivez apparaîtra sur le port série, c'est-à-dire sera envoyé au module GSM.

Insérez votre carte SIM rechargée dans le module GSM et appuyez sur le bouton d'alimentation. Après quoi une led bleue devrait s'allumer. Le module GSM utilise le jeu de commandes AT, voici la documentation si vous êtes vraiment intéressé. Nous vérifions maintenant que Raspberry Pi a détecté le module avec la commande suivante:

"À"

le module devrait alors répondre par:

"D'ACCORD"

Super! Ensuite, nous devons configurer le module pour envoyer un SMS sous forme de texte plutôt que de binaire:

"AT+CMGF = 1"

encore une fois, la réponse devrait être "OK". Maintenant, nous écrivons la commande pour envoyer un SMS:

"AT+CMGS= "44************* "", remplacez les étoiles par votre numéro.

Le modem répond avec ">" après quoi vous pouvez écrire votre message. Pour envoyer le message, appuyez sur. Voilà, et avec un peu de chance, vous venez de recevoir un SMS directement de votre Raspberry Pi.

Eh bien, maintenant que nous savons que le module GSM fonctionne, vous pouvez fermer minicom; nous n'en aurons pas besoin pour le reste du projet.

Étape 4: Téléchargez le logiciel et testez à sec

Téléchargez le logiciel et testez
Téléchargez le logiciel et testez
Téléchargez le logiciel et testez
Téléchargez le logiciel et testez

À ce stade, tout devrait être câblé et prêt à être testé pour un essai à sec. J'ai écrit un programme python assez simple qui prendra les lectures de chaque capteur, puis enverra les résultats à votre téléphone portable. Vous pouvez télécharger l'intégralité du programme à partir de la page PiJuice Github. Ce pourrait également être le bon moment pour tester avec le module PiJuice. Il se branche simplement sur le GPIO du Raspberry Pi, tous les fils connectés au Pi sont simplement branchés directement sur les broches correspondantes du PiJuice. Facile comme Pi. Pour télécharger le code, utilisez la commande:

git clone

Ceci est configuré pour envoyer des données une fois par jour. À des fins de test, ce n'est pas génial, vous voudrez peut-être modifier le programme. C'est facile à faire; il suffit d'ouvrir le fichier; "sudo nano weatherstation.py". Près du haut, il y a une section "définir le délai". Commentez la ligne "delay=86400" et décommentez "delay=5". Désormais, les résultats seront envoyés toutes les 5 secondes. Vous voudrez également modifier le programme afin qu'il contienne votre propre numéro de téléphone portable. Trouvez où il est écrit "+44**********" et remplacez les étoiles par votre propre numéro.

Avant de lancer le programme, vous aurez juste besoin de télécharger une bibliothèque pour lire le capteur d'humidité DHT22:

git clone

Et la bibliothèque doit être installée:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

"sudo apt-get install build-essential python-dev"

"sudo python setup.py install"

Cool, maintenant vous pouvez tester le programme.

"sudo python station météo.py"

Pendant que le programme fonctionne, les résultats doivent être envoyés sur votre mobile mais également imprimés dans le terminal toutes les 5 secondes.

Étape 5: Construisez le circuit

Construisez le circuit
Construisez le circuit
Construisez le circuit
Construisez le circuit
Construisez le circuit
Construisez le circuit

Maintenant que tout fonctionne dans la pratique, il est temps de construire la vraie chose. Les images montrent l'idée générale de la façon dont l'ensemble de l'unité s'emboîte. Il y a deux unités de logement distinctes; un pour le circuit de détection (qui aura des trous pour permettre à l'air de circuler à l'intérieur) et un pour le Raspberry Pi, l'unité GPRS et PiJuice, (complètement étanche) le panneau solaire sera câblé dans l'unité de calcul avec une jonction étanche à l'eau. Les deux unités peuvent alors être facilement détachées de sorte que le boîtier du capteur ou le boîtier de calcul puisse être retiré sans avoir à démonter l'ensemble de l'unité. C'est très bien si vous souhaitez ajouter plus de capteurs ou si vous avez besoin de votre Raspberry Pi ou PiJuice pour un autre projet.

Vous devrez casser le protoboard pour qu'il rentre dans la plus petite des deux boîtes de jonction. C'est là que le circuit de détection est logé. Le circuit de détection est maintenant transféré de la maquette à la carte proto. Maintenant, vous devrez faire un peu de soudure. Assurez-vous que vous êtes à l'aise avec l'utilisation d'un fer à souder en toute sécurité. Si vous n'êtes pas sûr, demandez l'aide d'un soudeur compétent.

Un grand merci à Patrick dans le labo ici, qui m'a évité de faire un vrai hachage de ce circuit. Il a réussi à le mettre en place en quelques minutes ! Si, comme moi, vous n'êtes pas le meilleur constructeur de circuits, et que vous n'avez pas un génie comme Patrick prêt à vous aider, alors vous pouvez toujours laisser le circuit sur une planche à pain, du moment qu'il rentre dans votre coffret électrique.

Étape 6: Préparation des unités d'habitation

Préparation des logements
Préparation des logements
Préparation des logements
Préparation des logements
Préparation des logements
Préparation des logements

C'est dans cette partie que ça devient vraiment amusant. Vous avez peut-être remarqué les anneaux sur chaque boîte. Ceux-ci sont conçus pour être défoncés afin que les boîtiers puissent devenir des jonctions pour l'électricité. Nous les utiliserons pour la connexion entre l'unité de détection et l'unité de calcul, pour la connexion au panneau solaire et également comme ventilation pour l'unité de détection afin de permettre la circulation de l'air.

Percez d'abord un trou sur chaque boîte pour la connexion entre les deux, comme on le voit sur les photos. Percer les trous peut être difficile à faire proprement, mais un bord rugueux n'a pas d'importance. J'ai trouvé que la meilleure méthode consiste à utiliser un tournevis pour percer d'abord l'anneau dentelé autour de chaque trou, puis le retirer comme un couvercle en étain de peinture. Le connecteur de câble étanche est ensuite utilisé pour connecter les deux boîtiers.

Ensuite, vous devrez faire un autre trou dans le boîtier informatique pour le fil du panneau solaire. Ce trou est ensuite bouché avec l'un de vos passe-câbles semi-aveugles. Avant de mettre le passe-câble, percez un trou dans celui-ci pour le passage du câble. Cela doit être aussi petit que possible pour le garder étanche, puis poussez l'extrémité micro USB à travers le trou (c'est l'extrémité qui se connecte au PiJuice).

Enfin, un trou supplémentaire doit être fait dans l'unité de détection pour permettre à l'air d'entrer et de sortir. J'ai décidé d'opter pour le tout juste en face de la jonction entre les deux box. Il peut être nécessaire d'ajouter un deuxième trou. Je suppose que nous le saurons après un certain temps en utilisant la station météo.

Étape 7: Câblage et finition de la station météo

Câblage et finition de la station météo
Câblage et finition de la station météo
Câblage et finition de la station météo
Câblage et finition de la station météo
Câblage et finition de la station météo
Câblage et finition de la station météo

D'accord, presque là. La dernière étape consiste à tout câbler.

A commencer par l'unité de calcul. Dans cette boîte, nous avons le Raspberry Pi, le PiJuice qui se connecte au Raspberry Pi GPIO et le module GSM qui se connecte à la sortie GPIO du PiJuice via des câbles de raccordement femelle à femelle. Agréable et douillet ! à ce stade, je conseillerais probablement de mettre une sorte de scellant autour du point d'entrée du câble USB du panneau solaire. Une sorte de résine ou de superglue fonctionnerait probablement.

Passez ensuite à l'unité de détection. Sur la photo, de haut en bas, les fils sont; le gris, le blanc, le violet et le bleu sont les lignes de données SPI, le noir est la masse, l'orange est de 3,3 V, le rouge est de 5 V et le vert est le GPIO 4. Vous aurez besoin de trouver des cavaliers pour vous y connecter, puis de les alimenter via le câble étanche connecteur comme on le voit sur les photos. Ensuite, chaque fil peut être connecté au GPIO correspondant et le connecteur peut être resserré. À ce stade, il est facile de voir comment la conception pourrait être améliorée; le LDR ne sera pas exposé à beaucoup de lumière (bien que cela puisse toujours être utile pour connaître les valeurs relatives, et faire un trou supplémentaire pourrait aider), je pense qu'il serait préférable d'utiliser la même taille que l'unité de calcul boîte pour l'unité de détection également, il serait alors plus facile d'insérer la carte de circuit dans la boîte et il y aurait de la place pour jouer avec différents agencements.

Je l'ai installé dans le jardin maintenant, comme vous pouvez le voir sur les photos. J'espère que dans les prochains jours je pourrai aussi publier des résultats ! Et comme je l'ai dit plus tôt, si vous avez des idées de projets sympas, faites le moi savoir !

Conseillé: