Sisällysluettelo:

Fanair: sääasema huoneeseesi: 6 vaihetta (kuvilla)
Fanair: sääasema huoneeseesi: 6 vaihetta (kuvilla)

Video: Fanair: sääasema huoneeseesi: 6 vaihetta (kuvilla)

Video: Fanair: sääasema huoneeseesi: 6 vaihetta (kuvilla)
Video: Anemometr 2/2 2024, Marraskuu
Anonim
Fanair: Sääasema huoneeseesi
Fanair: Sääasema huoneeseesi

On olemassa lukemattomia tapoja selvittää nykyinen sää, mutta silloin tiedät vain ulkona olevan sään. Entä jos haluat tietää sääsi talosi sisällä, tietyn huoneen sisällä? Tätä yritän ratkaista tällä projektilla.

Fanair havaitsee useita antureita:

  • lämpötila
  • kosteus
  • valo
  • tiettyjä kaasuja
  • ilmanpaine

Se on erittäin kompakti ja käyttää Raspberry Pi 3 B: tä arvojen hakemiseen, tallentamiseen MySQL -tietokantaan ja sitten niiden asettamiseksi helposti saataville verkkosivustolle. Koodiin ja verkkosivustoon sisältyy mahdollisuus saada sijaintisi todelliset säätiedot, jotta verkkosivustoa voidaan käyttää myös ulkosään tarkistamiseen.

Vaihe 1: Hanki kaikki tarvittavat tuotteet

Hanki kaikki tarvittavat tuotteet
Hanki kaikki tarvittavat tuotteet

Ensinnäkin tarvitset peruselektroniikkaa, kuten johtoja / hyppyjohtoja. Jos aiot juottaa kaiken yhdessä pysyväksi projektiksi, tarvitset tietysti myös juotin, juotteen ja oman mukavuutesi vuoksi piirilevyn, johon juottaa kaiken.

Tarkempia kohteita varten tein tämän materiaaliluettelon.

  • Raspberry Pi 3 B
  • MPC3008-8-kanavainen 10-bittinen ADC
  • AM2301 -lämpömittarin lämpötila- ja kosteusanturi
  • WR Rademacher WR-tyoe 930-1 PCB
  • ABS -kotelo prototyyppien luomiseen (musta)
  • LDR
  • MQ135 kaasuanturi
  • 2x BC517 Darlington -transistori
  • RGB -LED
  • Vastuspaketti
  • Summeri
  • Johdot
  • BMP280 -barometri
  • Hiljainen USB -tuuletin (5V)

Kaiken tämän pitäisi maksaa noin 110 €. Muista, että kokonaishinta on likimääräinen. Lisäksi projektissani on valokuvassa LCD -näyttö, mutta sitä ei ole kytketty, koska tapauksessani ei ollut tarpeeksi tilaa, joten se ei sisälly ohjeeseen.

Vaihe 2: Ota Raspberry Pi valmiiksi

Hanki Raspian Jessie Pixel -käyttöjärjestelmällä viralliselta Raspberry Pi -sivustolta, ja kun se on ladattu, pura se. Saat kuvatiedoston. Saadaksesi sen Pi: lle sinun on kirjoitettava se SD-kortille Win32 Disk Imager -ohjelmalla. Kun se on asennettu, valitse kuvatiedosto ja asema, jossa SD-kortti sijaitsee. Paina sitten Kirjoita ja odota, kunnes se on valmis.

Kun olet valmis, napsauta SD-korttiasi File Explorerissa ja avaa tiedosto nimeltä cmdline.txt. Siirry tekstitiedoston loppuun juuri ennen rootwaitia ja kirjoita 'ip = 254.169.10.2' välyksillä tietenkin. Kun olet tallentanut sen, napsauta hiiren kakkospainiketta jossain ikkunan sisällä ja luo uusi tiedosto nimeltä 'ssh'. Huomaa, että tällä tiedostolla ei ole tiedostopääte. Varmistaaksesi, ettei sillä ole laajennusta, napsauta Näytä -painiketta tiedostonhallinnassa ja tarkista piilotetut tiedostot. Jos se nimeää sen uudelleen ja poistaa laajennuksen, niin se lukee vain 'ssh'.

Tämän jälkeen voit vihdoin laittaa SD-korttisi Raspberry Pi -laitteeseen. Lataa ssh -asiakas (suosittelen MobaXtermia). Ja muodosta yhteys ssh: lla aiemmin määrittämääsi IP -osoitteeseen '254.169.10.2'. Käyttäjätunnus on 'pi', salasana 'vadelma'. Jos haluat, voit vaihtaa salasanan kirjoittamalla komennon 'sudo passwd' päätelaitteeseen ja noudattamalla ohjeita. Koska aiomme käyttää hyvän osan SD-kortista Fanairille, sinun pitäisi laajentaa käytettävissä olevaa tallennustilaa kirjoittamalla "sudo rapi-config" valitsemalla "Lisäasetukset" ja sitten "Laajenna tiedostojärjestelmä". Jos kehote käynnistetään uudelleen.

Käytämme 1-johdin-, SPI- ja I2C-liitäntää. Jotta voit käyttää niitä, sinun on ensin määritettävä ne!

Vaihe 3: Yhdistä kaikki toisiinsa

Yhdistä kaikki yhteen
Yhdistä kaikki yhteen
Yhdistä kaikki yhteen
Yhdistä kaikki yhteen

On aika tehdä piiri! Ensimmäistä kertaa sinun pitäisi luultavasti kokeilla sitä leipälaudalla, mutta jos sinulla ei ole aikaa siihen, voit yrittää juottaa sen yhdessä.

Tarvitsemasi piiri näyttää edellä mainitulta, mukavuuden vuoksi myös leipälautaversio.

Vaihe 4: Luo tietokanta

Tallentaaksesi tehokkaasti kaikki saamasi tiedot käytämme TSQL MySQL -tietokantaa. Ennen MySQL: n asentamista varmistamme, että kaikki on ajan tasalla kirjoittamalla muutamia komentoja päätelaitteeseen:

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

Hyväksy jokainen kehote kirjoittamalla y ja kirjoita.

Asenna MySQL -tyyppi:

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

Luo pyydettäessä haluamasi pääsalasana.

Kun olet asentanut kirjautumisen, käytä:

'mysql -uroot -p'

Ja kirjoittamalla salasanasi.

Hanki Fanair -koodi My Githubista! Napsauta 'Kloona tai lataa' ja sitten 'Lataa ZIP'. Pura koodi haluamaasi kansioon. Täysin toimivan tietokannan luomisen kysely on tietokannan kansiossa. Avaa tiedosto, kopioi koodi ja liitä se päätelaitteeseen, kun MySQL on auki. Napsauta sitten Enter ja tietokanta on valmis!

Vaihe 5: Koodin aika

Jotta voit käyttää kaikkia antureita, sinun on tietysti suoritettava ohjelma. Onneksi koodi on jo tehty (suurimmaksi osaksi), ja latasimme sen jo hakiessamme tietokannan SQL -kyselyä.

Kuten sanoin, muutamia asioita on vielä muutettava / lisättävä, jotta ohjelma toimisi kunnolla. Ensinnäkin ohjelma käyttää Darksky -sovellusliittymää saadakseen säätiedot pituus- ja leveysasteiden perusteella. Jotta voit käyttää sitä, sinun on rekisteröidyttävä. Ensimmäiset 1000 puhelua ovat ilmaisia ja sen jälkeen puhelu maksaa 0,0001 dollaria. Olen kuullut, että jos et maksa, tilisi estetään. Ollakseni rehellinen, 0,0001 dollaria puhelua kohti on melko halpaa. Fanair kutsuu uusimmat tiedot joka tunti, mikä tarkoittaa, että jos se suoritetaan kokopäiväisesti, se maksaa sinulle vain 0,876 dollaria vuodessa. Saat myös 41 päivää ilmaista, jos Fanair toimii kokopäiväisesti.

Kun olet rekisteröitynyt, etsi sovellusliittymäavaimesi. Etsi sijaintisi pituusaste ja leveysaste Google -kartoista tai yritä googlettaa se. Luo uusi tekstitiedosto Fanairin juurihakemistoon (luokat, main.py…). Nimeä tiedosto 'key_location.txt'. Avaa tekstitiedosto ja liitä ensimmäiselle riville Darksky API -avaimesi. Liitä toiselle riville pituusasteesi ja kolmannelle riville leveysaste (molemmat desimaalimuodossa). Kun olet valmis, tallenna tiedosto.

Luo samaan hakemistoon toinen tekstitiedosto nimeltä "database_dsn.txt". Ensimmäisen rivin pitäisi sanoa "localhost". Toinen rivi on "root". Kolmannelle riville sinun on kirjoitettava salasana, jonka teit tietokannalle aiemmin, ja neljännelle ja viimeiselle riville "fanair".

Napsauta hiiren kakkospainikkeella main.py -tiedostoa ja valitse muokkaa. Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt") on muutettava. Jos seurasit kuvaa, ensimmäiset 5 arvoa on vaihdettava arvosta '5, 26, 17, 27, 22, 4' arvoon '20, 21, 26, 19, 13'. '/home/muhsin/Applications/Fanair' on myös muutettava Fanairin juuripoluksi (missä main.py on). Muista laittaa vinoviiva "kodin" eteen, mutta ei "Fanairin" jälkeen.

Nyt tämä on kaikki hienoa, mutta koodin täytyy päästä Pi: hen. Onneksi sftp -protokolla on olemassa. Jos haluat laittaa tiedostot Pi: lle, käytä sftp -asiakasta, kuten FileZillaa, tai jos päätät käyttää MobaXtermia, voit ladata tiedostot helposti päätelaitteen vasemmalla puolella olevassa sftp -käyttöliittymässä.

Kokemukseni mukaan en aina saa oikeaa päivämäärää ja aikaa Raspberry Pi: ssä. Varmistaaksesi, että saat oikean päivämäärän, suosittelen noudattamaan tätä opasta: Raspberry Pi -tahdistuspäivämäärä ja -aika.

Viimeisenä mutta ei vähäisimpänä on asennettava muutama kirjasto ja aktivoitava muutama käyttöliittymä:

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

Adafruit DHT:

'pip3 install adafruit_python_dht'

1-johdin:

  1. 'sudo raspi-config'
  2. 'Liitäntävaihtoehdot'
  3. '1 johto'
  4. ota käyttöön
  5. 'sudo nano /boot/config.txt'
  6. Lisää tämä rivi tiedostoon: 'dtoverlay = w1-gpio'
  7. 'sudo uudelleenkäynnistys'

SPI:

  1. 'sudo raspi-config'
  2. 'Liitäntävaihtoehdot'
  3. 'SPI'
  4. ota käyttöön
  5. 'sudo uudelleenkäynnistys'
  6. 'sudo nano /boot/config.txt'
  7. Etsi sanaa 'dtparam = spi = on' ja poista kommentti poistamalla hashtag.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config'
  2. 'Liitäntävaihtoehdot'
  3. 'I2C'
  4. ota käyttöön
  5. "sudo uudelleenkäynnistys"
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. Etsi dtparam = i2c_arm = on ja poista kommentti poistamalla hashtag.

pullo

pip3 asenna pullo

mysql -liitin

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

spidev

'pip3 install py-spidev'

tumma

'pip3 install darkskylib'

Vaihe 6: Kokeile

Jos olet onnistunut pääsemään niin pitkälle, napauta itseäsi selässä. Nyt on tehty kaikki, jotta Fanair toimisi kunnolla. Joten testaa se kirjoittamalla "cd" "". Tiedoston sijainti on "/home/pi", esimerkiksi jos olet juuri liittänyt kotihakemistoosi. Kirjoita sitten 'python3 main.py' ja anna sen levätä 15 minuuttia, jotta tietokannassa on tietoja, kun se on valmis. Sen jälkeen paina 'ctrl + c' pysäytä ohjelma ja kirjoita 'python3 Flask.py'. Jos haluat nähdä, toimiiko verkkosivustosi, sinun on surffattava Pi: n IP -osoitteeseen, jonka kirjoitit ': 5000' sen jälkeen (kuten tämä: 169.254.10.1:5000 ').

Jotta se toimisi automaattisesti käynnistyksen jälkeen:

'sudo nano /etc/rc.local'

Tiedoston lopussa MUTTA ENNEN poistumista 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &"

Onnittelut, nyt käsikirjoituksesi on suoritettava käynnistyksestä lähtien, ja olet valmis! Jos aiot pitää projektin käynnissä etkä ole jo tehnyt sitä, suosittelen, että juotat kaiken yhteen varmistaaksesi, että kaikki pysyy paikallaan. Vaikka jos et leiki liikuttamaan sitä paljon, leipälauta toimii myös tietysti.

Suositeltava: