Taula de continguts:

Fanair: una estació meteorològica per a la vostra habitació: 6 passos (amb imatges)
Fanair: una estació meteorològica per a la vostra habitació: 6 passos (amb imatges)

Vídeo: Fanair: una estació meteorològica per a la vostra habitació: 6 passos (amb imatges)

Vídeo: Fanair: una estació meteorològica per a la vostra habitació: 6 passos (amb imatges)
Vídeo: ✅Простая идея. Стало гораздо удобней работать.🔨 2024, Desembre
Anonim
Fanair: una estació meteorològica per a la vostra habitació
Fanair: una estació meteorològica per a la vostra habitació

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

Obteniu tots els elements necessaris
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

Connecteu-ho tot junt
Connecteu-ho tot junt
Connecteu-ho tot junt
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:

  1. 'sudo raspi-config'
  2. "Opcions d'interfície"
  3. "1 cable"
  4. Activa
  5. 'sudo nano /boot/config.txt'
  6. Afegiu aquesta línia al fitxer: 'dtoverlay = w1-gpio'
  7. 'sudo reboot'

SPI:

  1. 'sudo raspi-config'
  2. "Opcions d'interfície"
  3. "SPI"
  4. Activa
  5. 'sudo reboot'
  6. 'sudo nano /boot/config.txt'
  7. Cerqueu "dtparam = spi = on" i descomenteu-lo traient l'etiqueta.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. "Opcions d'interfície"
  3. "I2C"
  4. Activa
  5. 'sudo reboot'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. 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: