Taula de continguts:
- Pas 1: Obteniu tots els elements necessaris
- Pas 2: prepareu el vostre Raspberry Pi
- Pas 3: connecteu-ho tot junt
- Pas 4: creeu la vostra base de dades
- Pas 5: temps per al codi
- Pas 6: proveu-ho
Vídeo: Fanair: una estació meteorològica per a la vostra habitació: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Hi ha innombrables maneres d’esbrinar el temps actual, però només coneixeu el temps a l’exterior. Què passa si voleu conèixer el temps a l'interior de casa, dins d'una habitació específica? Això és el que intento resoldre amb aquest projecte.
Fanair utilitza múltiples sensors per detectar:
- temperatura
- humitat
- lleuger
- determinats gasos
- pressió de l'aire
És molt compacte i fa ús del Raspberry Pi 3 B per obtenir els valors, desar-los en una base de dades MySQL i fer-los fàcilment disponibles en un lloc web. El codi i el lloc web inclouen la possibilitat d’obtenir dades meteorològiques reals per a la vostra ubicació, de manera que el lloc web també es pugui utilitzar per comprovar el clima exterior.
Pas 1: Obteniu tots els elements necessaris
Primer de tot, necessitareu productes electrònics bàsics, com ara cables / ponts. Si teniu previst soldar-ho tot junt com a projecte permanent, evidentment també necessitareu un soldador, soldador i, per a la vostra comoditat, un PCB per soldar-ho tot.
Per a articles més específics he elaborat aquesta declaració de materials.
- Raspberry Pi 3 B
- MPC3008: ADC de 10 canals de 8 canals
- AM2301 Termòmetre Sensor de temperatura i humitat
- WR Rademacher WR-tyoe 930-1 PCB
- Funda ABS per prototipatge (negre)
- LDR
- Sensor de gas MQ135
- 2x BC517 Transistor Darlington
- LED RGB
- Paquet de resistències
- Zumbador
- Filferros
- Baròmetre BMP280
- Ventilador USB tranquil (5V)
Tot plegat hauria de costar uns 110 €. Tingueu en compte que el preu total és aproximat. A més, el meu projecte té una pantalla LCD a la foto, però no està connectada, ja que no hi havia prou espai en el meu cas, de manera que no s’inclou a l’informable.
Pas 2: prepareu el vostre Raspberry Pi
Obteniu el vostre sistema operatiu Raspian Jessie amb Pixel des del lloc oficial de Raspberry Pi i, un cop descarregat, descomprimiu-lo. Obtindreu un fitxer d'imatge. Per obtenir-lo al Pi, l’haureu d’escriure a la targeta SD mitjançant Win32 Disk Imager. Un cop instal·lat, seleccioneu el fitxer d'imatge i la unitat on resideix la targeta SD. A continuació, premeu escriure i espereu fins que acabi.
Quan hagi acabat, feu clic a la vostra targeta SD a l'Explorador de fitxers i obriu el fitxer anomenat "cmdline.txt", aneu al final del fitxer de text just abans de rootwait i escriviu "ip = 254.169.10.2" amb espais al voltant, és clar. Després de desar-lo, haureu de fer clic amb el botó dret en algun lloc de la finestra i crear un fitxer nou anomenat 'ssh'. Tingueu en compte que aquest fitxer no té una extensió de fitxer. Per assegurar-vos que no té una extensió, feu clic a "visualitza" a l'explorador de fitxers i marqueu "Fitxers ocults". Si canvia el nom i elimina l'extensió, de manera que només es llegeix "ssh".
Un cop fet això, podeu posar la targeta SD al Raspberry Pi. Baixeu-vos un client ssh (us recomano MobaXterm). I connecteu-vos amb ssh amb la IP que heu definit anteriorment '254.169.10.2'. El nom d'usuari és "pi", la contrasenya "raspberry". Si voleu, podeu canviar la contrasenya escrivint l'ordre 'sudo passwd' al terminal i seguint les instruccions. Com que farem servir una bona part de la targeta SD per a Fanair, hauríeu d'ampliar l'emmagatzematge disponible escrivint "sudo rapi-config" escollint "Opcions avançades" i després "Expandir el sistema de fitxers". Si se us demana, reinicieu.
Farem ús de la interfície 1 fil, SPI i I2C. Per poder-los utilitzar, primer els heu de configurar.
Pas 3: connecteu-ho tot junt
És hora de fer un circuit! La primera vegada probablement el provareu en una taula de treball, però si no en teniu temps, podeu provar de soldar-lo junts.
El circuit que necessiteu té l’aspecte de l’anterior, per comoditat també s’inclou una versió de taulers.
Pas 4: creeu la vostra base de dades
Per desar de manera eficient totes les dades que rebreu, farem servir una base de dades MySQL TSQL. Abans d’instal·lar MySQL, assegurem-nos que tot estigui al dia escrivint algunes ordres al terminal:
- 'sudo apt-get update'
- 'sudo apt-get upgrade'
- 'sudo apt-get dist-upgrade'
Accepteu tots els missatges escrivint "y" i introduïu.
Per instal·lar el tipus MySQL:
- 'sudo apt-get install mysql-server'
- 'sudo apt-get install mysql-client'
Quan se us demani, creeu una contrasenya d'arrel que vulgueu.
Un cop acabada la instal·lació de l'inici de sessió, utilitzeu:
'mysql -uroot -p'
I escrivint la contrasenya.
Obteniu el codi Fanair de My Github. Feu clic a "Clona o descarrega" i després a "Descarrega ZIP". Descomprimiu el codi a la carpeta que trieu. La consulta per crear la base de dades totalment operativa es troba a la carpeta de la base de dades. Obriu el fitxer, copieu el codi i enganxeu-lo al terminal amb MySQL obert. A continuació, feu clic a Retorn i la base de dades ja està acabada.
Pas 5: temps per al codi
Per fer ús de tots els sensors, òbviament, necessiteu executar un programa. Per sort, el codi ja està fet (en la seva major part) i ja el vam descarregar en obtenir la consulta SQL de la base de dades.
Com he dit, encara cal canviar / afegir algunes coses perquè el programa funcioni correctament. En primer lloc, el programa utilitza l’API Darksky per obtenir les dades meteorològiques en funció de la longitud i la latitud. Per fer-ne ús cal registrar-se. Les primeres 1000 trucades són gratuïtes i després costen 0,0001 USD per trucada. He sabut que si no paga el vostre compte es bloqueja. Ser just 0,0001 dòlars per trucada és bastant barat. Fanair truca les dades més recents cada hora, cosa que significa que en un any, si s’executa a temps complet, només us costarà 0,876 dòlars. També obtindreu 41 dies de franc si Fanair funciona a temps complet.
Un cop registrat, cerqueu la vostra clau d'API. Cerqueu la longitud i la latitud de la vostra ubicació a Google Maps o proveu de buscar-la a Google. Creeu un fitxer de text nou al directori arrel de Fanair (amb classes, main.py …). Anomeneu el fitxer "key_location.txt". Obriu el fitxer de text i enganxeu la clau API de Darksky a la primera línia. A la segona línia, enganxeu la longitud i, a la tercera, enganxeu la latitud (ambdues en format decimal). Quan hàgiu acabat, deseu el fitxer.
Al mateix directori, creeu un altre fitxer de text anomenat 'database_dsn.txt'. La primera línia hauria de dir "localhost". La segona línia és "arrel". A la tercera línia, heu d’escriure la vostra contrasenya que heu fet anteriorment per a la base de dades i a la quarta i última línia heu d’escriure ‘fanair’.
Feu clic amb el botó dret al fitxer main.py i seleccioneu edita. Cal canviar el 'fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt"). Si seguiu la imatge, els cinc primers valors haurien de canviar-se de "5, 26, 17, 27, 22, 4" a "20, 21, 26, 19, 13". També s'hauria de canviar '/ home / muhsin / Applications / Fanair' pel camí de l'arrel de Fanair (on es troba main.py). Assegureu-vos de posar una barra inclinada davant de "casa", però no després de "Fanair".
Ara tot és fantàstic, però el codi ha d’entrar al Pi. Per sort, per a nosaltres existeix el protocol sftp. Per posar els fitxers al Pi, utilitzeu un client sftp com FileZilla o si heu decidit utilitzar MobaXterm podeu penjar els fitxers fàcilment a la interfície sftp situada a l'esquerra del terminal.
Per la meva experiència, no sempre aconsegueixo la data i l’hora adequades al Raspberry Pi. Per assegurar-vos que rebreu la data i hora correctes, us suggereixo seguir aquesta guia: data i hora de sincronització de Raspberry Pi.
I, finalment, cal instal·lar algunes biblioteques i activar algunes interfícies:
'sudo apt-get install build-essential python-dev'
Adafruit DHT:
'pip3 install adafruit_python_dht'
1 cable:
- 'sudo raspi-config'
- "Opcions d'interfície"
- "1 cable"
- Activa
- 'sudo nano /boot/config.txt'
- Afegiu aquesta línia al fitxer: 'dtoverlay = w1-gpio'
- 'sudo reboot'
SPI:
- 'sudo raspi-config'
- "Opcions d'interfície"
- "SPI"
- Activa
- 'sudo reboot'
- 'sudo nano /boot/config.txt'
- Cerqueu "dtparam = spi = on" i descomenteu-lo traient l'etiqueta.
- 'sudo apt-get install python3-dev
Smbus:
- 'sudo raspi-config' '
- "Opcions d'interfície"
- "I2C"
- Activa
- 'sudo reboot'
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tools'
- 'sudo nano /boot/config.txt'
- Cerqueu dtparam = i2c_arm = on i descomenteu-lo traient l'etiqueta.
matràs
pip3 instal·la Flask
connector mysql
'pip3 install -Iv mysql-connector == 2.1.4'
spidev
'pip3 instal·la py-spidev'
escàs
'pip3 install darkskylib'
Pas 6: proveu-ho
Si heu aconseguit arribar fins aquí, toqueu-vos a la part posterior. Ara tot està fet perquè Fanair funcioni correctament. Per provar-ho, escriviu 'cd ""'. La ubicació del fitxer és "/ home / pi", per exemple, si acabeu d'enganxar-lo al directori inicial. A continuació, escriviu 'python3 main.py' i deixeu-lo reposar durant 15 minuts perquè tingui dades a la base de dades quan acabi. Després d'això, premeu 'ctrl + c' stop atureu el programa i escriviu 'python3 Flask.py'. Per veure si el vostre lloc web funciona, heu de navegar a l'adreça IP del vostre Pi que heu fet amb ': 5000' després (així: 169.254.10.1:5000 ').
Per fer-lo funcionar automàticament després de l'arrencada:
'sudo nano /etc/rc.local'
Al final del fitxer PERUT ABANS de sortir de 0:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
Enhorabona, ara que l'script s'hauria d'executar des de l'inici i ja ho heu fet. Si teniu previst mantenir el projecte en marxa i no ho heu fet, us suggeriríeu soldar-ho tot junt, només per assegurar-vos que tot quedi en marxa. Tot i que si no jugueu a moure-ho gaire, una taula de treball també funciona, és clar.
Recomanat:
Estació meteorològica NaTaLia: l'estació meteorològica amb energia solar Arduino s'ha fet correctament: 8 passos (amb imatges)
Estació meteorològica NaTaLia: Estació meteorològica amb energia solar Arduino feta de la manera correcta: després d’un any d’exitació en 2 llocs diferents, comparteixo els plans del projecte de la meva estació meteorològica amb energia solar i explico com va evolucionar cap a un sistema que realment pot sobreviure durant molt de temps períodes des de l'energia solar. Si segueixes
Estació meteorològica de bricolatge i estació de sensor WiFi: 7 passos (amb imatges)
Estació meteorològica de bricolatge i estació de sensor WiFi: en aquest projecte us mostraré com crear una estació meteorològica juntament amb una estació de sensor WiFi. L'estació del sensor mesura les dades de temperatura i humitat locals i les envia, mitjançant WiFi, a l'estació meteorològica. L'estació meteorològica mostra llavors
Estació meteorològica de l'habitació amb Arduino i BME280: 4 passos
Estació meteorològica de l'habitació amb Arduino i BME280: Anteriorment compartia una estació meteorològica senzilla que mostrava la temperatura i la humitat de l'àrea local. El problema era que trigaria a actualitzar-se i les dades no eren exactes. En aquest tutorial farem un monitor meteorològic interior
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies: 3 passos (amb imatges)
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies: Hola, aquí ja s'han introduït estacions meteorològiques instructives. Mostren la pressió, la temperatura i la humitat actuals de l’aire. El que els va faltar fins ara era una presentació del curs en els darrers 1-2 dies. Aquest procés tindria la
Com fer una estació meteorològica senzilla amb Arduino: 6 passos (amb imatges)
Com fer una estació meteorològica senzilla amb Arduino: Hola nois, en aquest instructiu us explicaré com fer una estació meteorològica senzilla per detectar la temperatura i la humitat mitjançant el sensor DHT11 i Arduino, les dades detectades es mostraran a la pantalla LCD. Abans de començar aquest instructiu, ho heu de saber