Table des matières:

Fanair : une station météo pour votre chambre : 6 étapes (avec photos)
Fanair : une station météo pour votre chambre : 6 étapes (avec photos)

Vidéo: Fanair : une station météo pour votre chambre : 6 étapes (avec photos)

Vidéo: Fanair : une station météo pour votre chambre : 6 étapes (avec photos)
Vidéo: Home Appliances Showroom | Zigma Air Purifier Review Smart UVC Light for Bacteria and Virus 2024, Novembre
Anonim
Fanair: une station météo pour votre chambre
Fanair: une station météo pour votre chambre

Il existe d'innombrables façons de connaître la météo actuelle, mais vous ne connaissez alors que la météo à l'extérieur. Et si vous vouliez connaître la météo à l'intérieur de votre maison, à l'intérieur d'une pièce spécifique ? C'est ce que je tente de résoudre avec ce projet.

Fanair utilise plusieurs capteurs pour détecter:

  • Température
  • humidité
  • léger
  • certains gaz
  • pression de l'air

Il est très compact et utilise le Raspberry Pi 3 B, pour récupérer les valeurs, les enregistrer dans une base de données MySQL puis les rendre facilement disponibles sur un site Web. Le code et le site Web permettent d'obtenir des données météorologiques réelles pour votre emplacement afin que le site Web puisse également être utilisé pour vérifier la météo extérieure.

Étape 1: Obtenez tous les éléments requis

Obtenez tous les éléments requis
Obtenez tous les éléments requis

Tout d'abord, vous aurez besoin d'électronique de base comme des fils / câbles de démarrage. Si vous envisagez de tout souder ensemble en tant que projet permanent, vous aurez évidemment également besoin d'un fer à souder, d'une soudure et, pour votre propre confort, d'un circuit imprimé sur lequel tout souder.

Pour des articles plus spécifiques, j'ai fait cette nomenclature.

  • Framboise Pi 3 B
  • MPC3008 - CAN 8 canaux 10 bits
  • Capteur de température et d'humidité du thermomètre AM2301
  • WR Rademacher WR-tyoe 930-1 PCB
  • Boîtier ABS pour prototypage (noir)
  • LDR
  • Capteur de gaz MQ135
  • 2x BC517 Transistor Darlington
  • LED RVB
  • Pack de résistances
  • Avertisseur sonore
  • Fils
  • Baromètre BMP280
  • Ventilateur USB silencieux (5V)

Au total, cela devrait coûter environ 110 €. Gardez à l'esprit que le prix total est une approximation. De plus, mon projet a un écran LCD sur la photo mais il n'est pas connecté car il n'y avait pas assez d'espace dans mon cas, il n'est donc pas inclus dans l'instructable.

Étape 2: Préparez votre Raspberry Pi

Obtenez votre système d'exploitation Raspian Jessie avec Pixel sur le site officiel de Raspberry Pi et une fois téléchargé, décompressez-le. Vous obtiendrez un fichier image. Pour l'obtenir sur le Pi, vous devrez l'écrire sur la carte SD à l'aide de l'imageur de disque Win32. Une fois qu'il est installé, sélectionnez le fichier image et le lecteur dans lequel réside votre carte SD. Appuyez ensuite sur écriture et attendez la fin.

Quand c'est fini, cliquez sur votre carte SD dans l'explorateur de fichiers et ouvrez le fichier appelé "cmdline.txt", allez à la fin du fichier texte juste avant rootwait et écrivez "ip=254.169.10.2" avec des espaces bien sûr. Après l'avoir enregistré, vous devez cliquer avec le bouton droit quelque part dans la fenêtre et créer un nouveau fichier appelé « ssh ». Notez que ce fichier n'a pas d'extension de fichier. Pour vous assurer qu'il n'a pas d'extension, cliquez sur « afficher » dans l'explorateur de fichiers et cochez « fichiers cachés ». Si c'est le cas, renommez-le et supprimez l'extension pour qu'il se contente de lire « ssh ».

Après cela, vous pouvez enfin mettre votre carte SD dans le Raspberry Pi. Téléchargez un client ssh (je recommande MobaXterm). Et connectez-vous en utilisant ssh avec l'adresse IP que vous avez définie précédemment '254.169.10.2'. Le nom d'utilisateur est 'pi', le mot de passe 'raspberry'. Si vous le souhaitez, vous pouvez modifier le mot de passe en tapant la commande 'sudo passwd' dans le terminal et en suivant les instructions. Puisque nous allons utiliser une bonne partie de la carte SD pour Fanair, vous devez étendre le stockage disponible en tapant « sudo rapi-config » en choisissant « Options avancées », puis « Développer le système de fichiers ». Si vous y êtes invité, redémarrez.

Nous utiliserons les interfaces 1 fil, SPI et I2C. Pour pouvoir les utiliser, vous devez d'abord les configurer !

Étape 3: Connectez tout ensemble

Connectez tout ensemble
Connectez tout ensemble
Connectez tout ensemble
Connectez tout ensemble

Il est temps de faire un circuit ! La première fois, vous devriez probablement l'essayer sur une planche à pain, mais si vous n'avez pas le temps pour cela, vous pouvez essayer de le souder ensemble.

Le circuit dont vous aurez besoin ressemble à ce qui précède, pour plus de commodité, une version de maquette est également incluse.

Étape 4: créez votre base de données

Pour sauvegarder efficacement toutes les données que vous recevrez, nous utiliserons une base de données TSQL MySQL. Avant d'installer MySQL, vérifions que tout est à jour en tapant quelques commandes dans le terminal:

  • 'sudo apt-get update'
  • 'sudo apt-get upgrade'
  • 'sudo apt-get dist-upgrade'

Acceptez chaque invite en tapant 'y' et entrez.

Pour installer MySQL, tapez:

  • 'sudo apt-get install mysql-server'
  • 'sudo apt-get install mysql-client'

Lorsque vous y êtes invité, créez un mot de passe root de votre choix.

Une fois l'installation terminée, connectez-vous en utilisant:

'mysql -uroot -p'

Et en tapant votre mot de passe.

Obtenez le code Fanair sur My Github ! Cliquez sur 'Cloner ou télécharger' puis sur 'Télécharger ZIP'. Décompressez le code dans un dossier de votre choix. La requête pour créer la base de données entièrement opérationnelle se trouve dans le dossier de la base de données. Ouvrez le fichier, copiez le code et collez-le dans le terminal avec MySQL ouvert. Cliquez ensuite sur Entrée et la base de données est terminée !

Étape 5: C'est l'heure du code

Pour utiliser tous les capteurs, vous devez évidemment exécuter un programme. Heureusement, le code est déjà fait (pour la plupart), et nous l'avons déjà téléchargé lors de l'obtention de la requête SQL de la base de données.

Comme je l'ai dit, certaines choses doivent encore être modifiées / ajoutées pour que le programme fonctionne correctement. Tout d'abord, le programme utilise l'API Darksky pour obtenir les données météorologiques basées sur la longitude et la latitude. Pour en profiter, vous devez vous inscrire. Les 1000 premiers appels sont gratuits et ensuite cela coûte 0,0001 $ par appel. J'ai entendu dire que si vous ne payez pas, votre compte est bloqué. Pour être honnête, 0,0001 $ par appel est assez bon marché. Fanair appelle les données les plus récentes toutes les heures, ce qui signifie que dans un an, s'il est exécuté à temps plein, cela ne vous coûtera que 0,876 $. Vous bénéficiez également de 41 jours gratuits si Fanair fonctionne à temps plein.

Une fois inscrit, recherchez votre clé API. Recherchez la longitude et la latitude de votre position sur Google Maps ou essayez de les rechercher sur Google. Créez un nouveau fichier texte à la racine du répertoire de Fanair (avec les classes, main.py…). Nommez le fichier 'key_location.txt'. Ouvrez le fichier texte et sur la première ligne collez votre clé API Darksky. Sur la deuxième ligne collez votre longitude et sur la troisième ligne collez votre latitude (tous deux au format décimal). Lorsque vous avez terminé, enregistrez le fichier.

Dans le même répertoire, créez un autre fichier texte appelé 'database_dsn.txt'. La première ligne doit indiquer « localhost ». La deuxième ligne est 'root'. Dans la troisième ligne, vous devez taper votre mot de passe que vous avez créé pour la base de données plus tôt, et la quatrième et dernière ligne, vous devez taper « fanair ».

Cliquez avec le bouton droit sur le fichier main.py et sélectionnez modifier. Le 'fanair = Fanair(5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' doit être modifié. Si vous avez suivi l'image, les 5 premières valeurs doivent être modifiées de '5, 26, 17, 27, 22, 4' à '20, 21, 26, 19, 13'. '/home/muhsin/Applications/Fanair' doit également être remplacé par votre chemin racine Fanair (où se trouve main.py). Assurez-vous de mettre une barre oblique devant 'home' mais pas après 'Fanair'.

Maintenant, tout est génial, mais le code doit entrer dans le Pi. Heureusement pour nous, le protocole sftp existe. Pour mettre les fichiers sur le Pi, utilisez un client sftp comme FileZilla ou si vous avez décidé d'utiliser MobaXterm, vous pouvez facilement télécharger les fichiers dans l'interface sftp à gauche du terminal.

D'après mon expérience, je n'obtiens pas toujours la bonne date et la bonne heure dans le Raspberry Pi. Pour vous assurer de recevoir la date et l'heure correctes, je vous suggère de suivre ce guide: date et heure de synchronisation de Raspberry Pi.

Et enfin, quelques bibliothèques doivent être installées et quelques interfaces doivent être activées:

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

Adafruit DHT:

'pip3 installer adafruit_python_dht'

1 fil:

  1. 'sudo raspi-config'
  2. 'Options d'interfaçage'
  3. '1 fil'
  4. Permettre
  5. 'sudo nano /boot/config.txt'
  6. Ajoutez cette ligne dans le fichier: 'dtoverlay=w1-gpio'
  7. « redémarrage sud »

SPI:

  1. 'sudo raspi-config'
  2. 'Options d'interfaçage'
  3. 'SPI'
  4. Permettre
  5. « redémarrage sud »
  6. 'sudo nano /boot/config.txt'
  7. Recherchez 'dtparam=spi=on' et décommentez-le en supprimant le hashtag.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config''
  2. 'Options d'interfaçage'
  3. 'I2C'
  4. Permettre
  5. « redémarrage sud »
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. Recherchez dtparam=i2c_arm=on et décommentez-le en supprimant le hashtag.

ballon

pip3 installer le flacon

connecteur mysql

'pip3 install -Iv mysql-connector==2.1.4'

araignée

'pip3 installer py-spidev'

ciel sombre

'pip3 installe darkskylib'

Étape 6: Essayez-le

Si vous avez réussi à aller aussi loin, tapez-vous dans le dos. Maintenant, tout est fait pour que Fanair fonctionne correctement. Donc, pour le tester, tapez 'cd ""'. L'emplacement du fichier est "/home/pi" par exemple si vous venez de coller dans votre répertoire personnel. Tapez ensuite 'python3 main.py' et laissez-le reposer pendant 15 minutes afin qu'il ait des données dans la base de données une fois terminé. Après cela, appuyez sur 'ctrl + c', arrêtez le programme et tapez 'python3 Flask.py'. Pour voir si votre site Web fonctionne, vous devez surfer sur l'adresse IP de votre Pi que vous avez créée avec ':5000' après (comme ceci: 169.254.10.1:5000').

Pour qu'il s'exécute automatiquement après le démarrage:

'sudo nano /etc/rc.local'

A la fin du fichier MAIS AVANT la sortie 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Félicitations, votre script doit maintenant s'exécuter depuis le démarrage et VOUS ÊTES FAIT ! Si vous envisagez de poursuivre le projet et que vous ne l'avez pas encore fait, je vous suggère de tout souder ensemble, juste pour vous assurer que tout reste en place. Bien que si vous ne jouez pas pour le déplacer beaucoup, une planche à pain fonctionne également bien sûr.

Conseillé: