Sisukord:

Fanair: teie toa ilmajaam: 6 sammu (piltidega)
Fanair: teie toa ilmajaam: 6 sammu (piltidega)

Video: Fanair: teie toa ilmajaam: 6 sammu (piltidega)

Video: Fanair: teie toa ilmajaam: 6 sammu (piltidega)
Video: Растущий пропуск под носом ► 4 Прохождение Super Mario Galaxy 2 (Nintendo Wii) 2024, Juuli
Anonim
Fanair: teie ruumi ilmajaam
Fanair: teie ruumi ilmajaam

Praeguste ilmastikutingimuste väljaselgitamiseks on lugematuid viise, kuid siis teate ainult väljas olevat ilma. Mis saab siis, kui soovite teada, milline ilm on teie majas, konkreetses toas? Seda ma üritan selle projektiga lahendada.

Fanair kasutab mitut andurit, et mõista:

  • temperatuur
  • niiskus
  • valgus
  • teatud gaasid
  • õhurõhk

See on väga kompaktne ja kasutab väärtuste hankimiseks Raspberry Pi 3 B, salvestades need MySQL -i andmebaasi ja muutes need seejärel veebisaidil hõlpsasti kättesaadavaks. Koodis ja veebisaidil on võimalus hankida teie asukoha tegelikke ilmastikuandmeid, et veebisaiti saaks kasutada ka välisilma vaatamiseks.

Samm: hankige kõik vajalikud üksused

Hankige kõik vajalikud esemed
Hankige kõik vajalikud esemed

Kõigepealt vajate elementaarset elektroonikat, nagu juhtmed / hüppajakaablid. Kui plaanite kõik kokku jootma püsiprojektina, siis on teil ilmselgelt vaja ka jootekolvi, jootet ja oma mugavuse huvides trükkplaati, mille külge kõik joodetakse.

Täpsemate esemete jaoks tegin selle materjalide nimekirja.

  • Vaarika Pi 3 B
  • MPC3008-8-kanaliline 10-bitine ADC
  • AM2301 termomeetri temperatuuri ja niiskuse andur
  • WR Rademacher WR-tyoe 930-1 PCB
  • ABS -ümbris prototüüpimiseks (must)
  • LDR
  • Gaasiandur MQ135
  • 2x BC517 Darlingtoni transistor
  • RGB LED
  • Takisti pakett
  • Sumin
  • Juhtmed
  • BMP280 baromeeter
  • Vaikne USB -ventilaator (5V)

Kokku peaks see maksma umbes 110 eurot. Pidage meeles, et koguhind on ligikaudne. Samuti on minu projektil fotol LCD -ekraan, kuid see pole ühendatud, kuna minu puhul ei olnud piisavalt ruumi, nii et see ei kuulu juhendi hulka.

2. samm: valmistage oma Raspberry Pi valmis

Hankige oma Raspian Jessie koos Pixeli operatsioonisüsteemiga ametlikult Raspberry Pi saidilt ja kui see on alla laaditud, pakkige see lahti. Saate pildifaili. Selle Pi-le saamiseks peate selle Win32 Disk Imager abil SD-kaardile kirjutama. Kui see on installitud, valige pildifail ja draiv, milles SD-kaart asub. Seejärel vajutage kirjuta ja oodake, kuni see on lõpetatud.

Kui see on lõpetatud, klõpsake File Exploreris oma SD-kaardil ja avage fail nimega cmdline.txt, minge tekstifaili lõppu vahetult enne rootwaiti ja kirjutage tühikutega muidugi „ip = 254.169.10.2”. Pärast selle salvestamist paremklõpsake kuskil akna sees ja looge uus fail nimega 'ssh'. Pange tähele, et sellel failil pole faililaiendit. Veendumaks, et sellel pole laiendit, klõpsake failihalduris nuppu „Vaata” ja märkige „peidetud failid”. Kui see nimetab selle ümber ja kustutab laienduse, loeb see lihtsalt "ssh".

Pärast seda saate oma SD-kaardi lõpuks Raspberry Pi-sse panna. Laadige alla ssh klient (soovitan MobaXterm). Ja ühendage ssh abil IP -ga, mille määrasite varem '254.169.10.2'. Kasutajanimi on 'pi', parool 'vaarikas'. Soovi korral saate parooli muuta, tippides terminalis käsu 'sudo passwd' ja järgides juhiseid. Kuna me kasutame Fanairi jaoks palju SD-kaarti, peaksite laiendama saadaolevat salvestusruumi, tippides "sudo rapi-config", valides "Advanced Options" ja seejärel "Expand File System". Kui küsitakse, taaskäivitage.

Kasutame 1-juhtmelist, SPI ja I2C liidest. Nende kasutamiseks peate need kõigepealt seadistama!

Samm: ühendage kõik kokku

Ühendage kõik koos
Ühendage kõik koos
Ühendage kõik koos
Ühendage kõik koos

On aeg ringrada teha! Esimest korda peaksite seda tõenäoliselt leivaplaadil proovima, kuid kui teil pole selleks aega, võite proovida seda kokku jootma.

Vajalik vooluring näeb välja nagu ülaltoodud, mugavuse huvides on kaasas ka leivaplaadi versioon.

Samm: looge oma andmebaas

Kõigi saadud andmete tõhusaks salvestamiseks kasutame TSQL MySQL andmebaasi. Enne MySQL -i installimist veenduge, et kõik oleks ajakohane, tippides terminalis mõned käsud:

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

Aktsepteerige iga viip, sisestades "y" ja sisestades.

MySQL -i installimiseks tehke järgmist.

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

Kui küsitakse, looge oma valitud juurparool.

Kui olete sisselogimise installimise lõpetanud, kasutage järgmist.

'mysql -uroot -p'

Ja sisestage oma parool.

Hankige Fanairi kood My Githubist! Klõpsake "Kloonige või laadige alla" ja seejärel "Laadi ZIP alla". Pakkige kood lahti valitud kaustas. Päring täielikult toimiva andmebaasi loomiseks on andmebaasi kaustas. Avage fail, kopeerige kood ja kleepige see terminali, kui MySQL on avatud. Seejärel klõpsake sisestusklahvi ja andmebaas on valmis!

Samm: aeg koodiks

Kõigi andurite kasutamiseks peate ilmselgelt programmi käivitama. Õnneks on kood juba tehtud (enamasti) ja me laadisime selle juba alla andmebaasi SQL -päringu saamisel.

Nagu ma ütlesin, on mõned asjad, mida on vaja veel muuta / lisada, et programm korralikult töötaks. Esiteks kasutab programm Darksky API -d ilmastikuandmete saamiseks pikkus- ja laiuskraadidel. Selle kasutamiseks peate registreeruma. Esimesed 1000 kõnet on tasuta ja hiljem maksab see kõne kohta 0,0001 dollarit. Olen kuulnud, et kui te ei maksa, blokeeritakse teie konto. Ausalt öeldes on 0,0001 dollarit kõne kohta üsna odav. Fanair helistab uusimaid andmeid iga tund, mis tähendab, et täistööajaga töötamise korral maksab see teile aasta jooksul ainult 0,876 dollarit. Samuti saate 41 päeva tasuta, kui Fanair töötab täistööajaga.

Kui olete registreerunud, otsige oma API -võtit. Otsige oma asukoha pikkus- ja laiuskraade Google Mapsist või proovige seda googeldada. Looge uus tekstifail Fanairi juurkataloogi (koos klassidega, main.py …). Andke failile nimi „key_location.txt”. Avage tekstifail ja kleepige esimesel real oma Darksky API võti. Teisele reale kleepige oma pikkuskraad ja kolmandale reale oma laiuskraad (mõlemad kümnendvormingus). Kui olete lõpetanud, salvestage fail.

Looge samas kataloogis teine tekstifail nimega „database_dsn.txt”. Esimene rida peaks ütlema "localhost". Teine rida on "juur". Kolmandale reale peaksite sisestama parooli, mille andmekogu jaoks varem tegite, ja neljandale ja viimasele reale „fanair”.

Paremklõpsake faili main.py ja valige redigeerimine. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' tuleb muuta. Kui järgisite pilti, tuleks esimesed 5 väärtust muuta väärtustest „5, 26, 17, 27, 22, 4” väärtuseks „20, 21, 26, 19, 13”. „/home/muhsin/Applications/Fanair” tuleks samuti muuta oma Fanairi juureteeks (kus on main.py). Pange kindlasti kaldkriips „kodu” ette, kuid mitte „Fanairi” järele.

Nüüd on see kõik suurepärane, kuid kood peab pi sisse saama. Meie õnneks on sftp -protokoll olemas. Failide Pi -le panemiseks kasutage sftp -klienti, näiteks FileZilla, või kui otsustasite kasutada MobaXterm -i, saate failid hõlpsalt üles laadida terminalist vasakul asuvas sftp -liideses.

Minu kogemuste kohaselt ei saa ma Raspberry Pi -s alati õiget kuupäeva ja kellaaega. Et veenduda õige kuupäeva saabumises, soovitan järgida seda juhendit: Raspberry Pi sünkroonimise kuupäev ja kellaaeg.

Ja lõpuks, kuid mitte vähem, tuleb installida mõned teegid ja aktiveerida mõned liidesed:

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

Adafruit DHT:

'pip3 install adafruit_python_dht'

1-juhtmeline:

  1. 'sudo raspi-config'
  2. "Liidese valikud"
  3. '1 traat'
  4. Luba
  5. 'sudo nano /boot/config.txt'
  6. Lisage see rida faili: 'dtoverlay = w1-gpio'
  7. "sudo reboot"

SPI:

  1. 'sudo raspi-config'
  2. "Liidese valikud"
  3. „SPI”
  4. Luba
  5. "sudo reboot"
  6. 'sudo nano /boot/config.txt'
  7. Otsige 'dtparam = spi = on' ja tühistage see, eemaldades räsimärgi.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config'
  2. "Liidese valikud"
  3. "I2C"
  4. Luba
  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. Otsige dtparam = i2c_arm = on ja tühistage see, eemaldades räsimärgi.

kolb

pip3 install Flask

mysql pistik

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

spidev

'pip3 install py-spidev'

tume

'pip3 install darkskylib'

6. samm: proovige järele

Kui teil on õnnestunud nii kaugele jõuda, koputage ennast tagaküljele. Nüüd on kõik tehtud, et Fanair korralikult töötaks. Nii et selle testimiseks tippige "cd" "". Faili asukoht on näiteks "/home/pi", kui kleepisite just oma kodukataloogi. Seejärel tippige „python3 main.py” ja laske sellel 15 minutit puhata, nii et pärast seda on andmebaasis andmed. Seejärel vajutage programmi peatamiseks klahvikombinatsiooni "ctrl + c" ja tippige "python3 Flask.py". Et näha, kas teie veebisait töötab, peate surfama oma Pi IP -aadressile, mille olete teinud pärast seda:: 5000 (nagu see: 169.254.10.1:5000 ').

Selle käivitamiseks pärast käivitamist toimige järgmiselt.

'sudo nano /etc/rc.local'

Faili lõpus, AGA ENNE väljumist 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Õnnitleme, skript peaks käivituma ja olete valmis! Kui kavatsete projekti jätkata ja te pole seda juba teinud, soovitan teil kõik kokku jootma, veendumaks, et kõik jääb paigale. Kuigi kui te ei mängi selle liigutamiseks palju, töötab loomulikult ka leivalaud.

Soovitan: