Sadržaj:

Fanair: meteorološka stanica za vašu sobu: 6 koraka (sa slikama)
Fanair: meteorološka stanica za vašu sobu: 6 koraka (sa slikama)

Video: Fanair: meteorološka stanica za vašu sobu: 6 koraka (sa slikama)

Video: Fanair: meteorološka stanica za vašu sobu: 6 koraka (sa slikama)
Video: Expert Tips on Treating Aquarium Fish Diseases with Dr. Márton Hoitsy 2024, Studeni
Anonim
Fanair: meteorološka stanica za vašu sobu
Fanair: meteorološka stanica za vašu sobu

Postoji bezbroj načina da saznate trenutno vrijeme, ali tada znate samo vrijeme vani. Što ako želite znati kakvo je vrijeme u vašoj kući, u određenoj prostoriji? To je ono što pokušavam riješiti ovim projektom.

Fanair koristi više senzora za otkrivanje:

  • temperatura
  • vlažnost
  • svjetlo
  • određene plinove
  • tlak zraka

Vrlo je kompaktan i koristi Raspberry Pi 3 B za dobivanje vrijednosti, spremanje u bazu podataka MySQL, a zatim njihovu dostupnost na web stranici. U kôd i web mjesto uključena je mogućnost dobivanja stvarnih vremenskih podataka za vašu lokaciju, tako da se web stranica može koristiti i za provjeru vanjskog vremena.

Korak 1: Nabavite sve potrebne stavke

Nabavite sve potrebne stavke
Nabavite sve potrebne stavke

Prije svega, trebat će vam osnovna elektronika, poput žica / kratkospojnih kabela. Ako planirate sve zajedno lemiti kao stalni projekt, onda će vam očito trebati i lemilica, lem, a za vlastitu udobnost i PCB na koji ćete sve lemiti.

Za specifičnije stavke napravio sam ovaj Bill of Materials.

  • Malina Pi 3 B
  • MPC3008-8-kanalni 10-bitni ADC
  • AM2301 Senzor temperature i vlažnosti termometra
  • WR Rademacher WR-tyoe 930-1 PCB
  • ABS kućište za izradu prototipova (crno)
  • LDR
  • MQ135 senzor za plin
  • 2x BC517 Darlingtonski tranzistor
  • RGB LED
  • Paket otpornika
  • Zvučni signal
  • Žice
  • Barometar BMP280
  • Tihi USB ventilator (5V)

Sve skupa ovo bi trebalo koštati oko 110 €. Imajte na umu da je ukupna cijena približna. Također, moj projekt ima LCD zaslon na fotografiji, ali nije povezan jer u mom slučaju nije bilo dovoljno prostora pa nije uključen u upute.

Korak 2: Pripremite svoj Raspberry Pi

Nabavite svoj Raspian Jessie s Pixel operativnim sustavom sa službene Raspberry Pi web stranice i nakon preuzimanja raspakirajte ga. Dobit ćete datoteku slike. Da biste ga dobili na Pi, morate ga zapisati na SD-karticu pomoću Win32 Disk Imager-a. Nakon što je instalirana, odaberite datoteku slike i pogon na kojem se nalazi vaša SD-kartica. Zatim pritisnite Write i pričekajte da završi.

Kada završi, kliknite na SD-karticu u File Exploreru i otvorite datoteku pod nazivom 'cmdline.txt' idite na kraj tekstualne datoteke neposredno prije rootwait-a i upišite 'ip = 254.169.10.2' s razmacima oko, naravno. Nakon što ga spremite, desnom tipkom miša kliknite negdje unutar prozora i stvorite novu datoteku pod nazivom 'ssh'. Uočite da ova datoteka nema nastavak datoteke. Kako biste bili sigurni da nema proširenje, kliknite na 'view' u istraživaču datoteka i provjerite 'hidden files'. Ako ga ipak preimenuje i izbriše proširenje tako da samo čita 'ssh'.

Nakon što to učinite, napokon možete staviti SD-karticu u Raspberry Pi. Preuzmite ssh klijent (preporučujem MobaXterm). I povežite se pomoću ssh -a s IP -om koji ste ranije postavili '254.169.10.2'. Korisničko ime je 'pi', lozinka 'malina'. Ako želite, možete promijeniti lozinku upisivanjem naredbe 'sudo passwd' u terminal i slijedeći upute. Budući da ćemo koristiti dobar dio SD kartice za Fanair, trebali biste proširiti dostupnu pohranu upisivanjem 'sudo rapi-config' odabirom 'Napredne opcije', a zatim 'Proširi datotečni sustav'. Ako se od vas zatraži ponovno pokretanje.

Koristit ćemo 1-žično, SPI i I2C sučelje. Da biste ih mogli koristiti, prvo ih morate postaviti!

Korak 3: Sve povežite zajedno

Povežite sve zajedno
Povežite sve zajedno
Povežite sve zajedno
Povežite sve zajedno

Vrijeme je da napravite krug! Prvi put biste ga vjerojatno trebali isprobati na ploči, ali ako za to nemate vremena, mogli biste ga pokušati lemiti zajedno.

Krug koji će vam trebati izgleda poput gore navedenog, radi praktičnosti je uključena i verzija ploče.

Korak 4: Stvorite svoju bazu podataka

Za učinkovito spremanje svih podataka koje ćete primiti upotrijebit ćemo TSQL MySQL bazu podataka. Prije instaliranja MySQL provjerimo je li sve ažurno upisivanjem nekoliko naredbi u terminal:

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

Prihvatite svaki upit upisivanjem 'y' i unesite.

Za instaliranje MySQL tipa:

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

Kada se to od vas zatraži, stvorite root lozinku po svom izboru.

Nakon što instalirate prijavu, učinite sljedeće:

'mysql -uroot -p'

I upisivanje lozinke.

Nabavite Fanair kod iz My Github -a! Kliknite na "Kloniraj ili preuzmi", a zatim na "Preuzmi ZIP". Raspakirajte kôd u mapu po svom izboru. Upit za stvaranje potpuno operativne baze podataka nalazi se u mapi baze podataka. Otvorite datoteku, kopirajte kôd i zalijepite je u terminal s otvorenim MySQL -om. Zatim pritisnite enter i baza podataka je gotova!

Korak 5: Vrijeme je za kôd

Da biste koristili sve senzore, očito morate pokrenuti program. Srećom, kôd je već gotov (većim dijelom), a već smo ga preuzeli kada smo dobili SQL upit za bazu podataka.

Kao što sam rekao, postoji nekoliko stvari koje još treba promijeniti / dodati kako bi program ispravno radio. Prije svega, program koristi Darksky API za dobivanje vremenskih podataka na temelju zemljopisne dužine i širine. Da biste ga iskoristili, morate se prijaviti. Prvih 1000 poziva je besplatno, a nakon toga košta 0,0001 USD po pozivu. Čuo sam da ako ne platite vaš račun se blokira. Da budemo pošteni, 0.0001 USD po pozivu prilično je jeftino. Fanair poziva najnovije podatke svaki sat, što znači da će vas za godinu dana ako radite puno radno vrijeme koštati samo 0,876 USD. Također dobivate 41 dan besplatno ako Fanair radi puno radno vrijeme.

Nakon registracije potražite svoj API ključ. Potražite zemljopisnu dužinu i širinu svoje lokacije na google kartama ili pokušajte proguglati. Izradite novu tekstualnu datoteku korijenski direktorij Fanaira (s klasama, main.py …). Dajte datoteci naziv "key_location.txt". Otvorite tekstualnu datoteku i u prvi redak zalijepite Darksky API ključ. U drugi redak zalijepite svoju zemljopisnu dužinu, a u treći redak svoju zemljopisnu širinu (oboje u decimalnom obliku). Kad završite, spremite datoteku.

U istom direktoriju stvorite drugu tekstualnu datoteku pod nazivom 'database_dsn.txt'. Prvi redak trebao bi reći 'localhost'. Drugi redak je 'root'. U treći redak trebate unijeti lozinku koju ste ranije unijeli za bazu podataka, a u četvrti i posljednji redak upišite 'fanair'.

Desnom tipkom miša kliknite datoteku main.py i odaberite Uredi. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' treba promijeniti. Ako ste slijedili sliku, prvih 5 vrijednosti treba promijeniti iz '5, 26, 17, 27, 22, 4' u '20, 21, 26, 19, 13 '. '/home/muhsin/Applications/Fanair' također treba promijeniti u svoj Fanair korijenski put (gdje je main.py). Stavite kosu crtu ispred "home", ali ne nakon "Fanair".

Ovo je sve super, ali kôd mora ući u Pi. Srećom po nas sftp protokol postoji. Za stavljanje datoteka na Pi koristite sftp klijent poput FileZilla ili ako ste odlučili koristiti MobaXterm, datoteke možete jednostavno prenijeti u sftp sučelje lijevo od terminala.

Prema mom iskustvu, ne dobivam uvijek pravi datum i vrijeme u Raspberry Pi. Da biste bili sigurni da ćete primiti točan datum i vrijeme, predlažem da slijedite ovaj vodič: datum i vrijeme sinkronizacije Raspberry Pi.

I za kraj, ali ne najmanje važno, potrebno je instalirati nekoliko knjižnica i aktivirati nekoliko sučelja:

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

Adafruit DHT:

'pip3 instaliraj adafruit_python_dht'

1-žica:

  1. 'sudo raspi-config'
  2. 'Opcije sučelja'
  3. '1 žica'
  4. Omogućiti
  5. 'sudo nano /boot/config.txt'
  6. Dodajte ovaj redak u datoteku: 'dtoverlay = w1-gpio'
  7. 'sudo reboot'

SPI:

  1. 'sudo raspi-config'
  2. 'Opcije sučelja'
  3. "SPI"
  4. Omogućiti
  5. 'sudo reboot'
  6. 'sudo nano /boot/config.txt'
  7. Potražite 'dtparam = spi = on' i raskomentirajte je uklanjanjem hashtaga.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. 'Opcije sučelja'
  3. 'I2C'
  4. Omogućiti
  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. Potražite dtparam = i2c_arm = on i raskomentirajte ga uklanjanjem hashtaga.

tikvica

pip3 install Flask

konektor mysql

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

spidev

'pip3 install py-spidev'

tamno nebo

'pip3 instaliraj darkskylib'

Korak 6: Isprobajte

Ako ste uspjeli doći dovdje, dodirnite se po leđima. Sada je sve učinjeno kako bi Fanair ispravno radio. Dakle, za testiranje upišite 'cd ""'. Mjesto datoteke je "/home/pi", na primjer ako ste samo zalijepili u svoj kućni direktorij. Zatim upišite 'python3 main.py' i ostavite da se odmara 15 minuta kako bi po završetku imao podatke u bazi podataka. Nakon toga pritisnite 'ctrl + c' stop stop program i upišite 'python3 Flask.py'. Da biste provjerili funkcionira li vaša web stranica, morate pregledati IP adresu vašeg Pi -a koju ste unijeli s ': 5000' iza nje (ovako: 169.254.10.1:5000 ').

Da biste ga pokrenuli automatski nakon pokretanja:

'sudo nano /etc/rc.local'

Na kraju datoteke, ali prije izlaska 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Čestitamo, sada ste trebali pokrenuti skriptu od pokretanja i GOTOVI ste! Ako planirate nastaviti s radom, a niste već predložili, spajajte sve zajedno, samo kako biste bili sigurni da sve ostaje na mjestu. Iako, ako se ne igrate, puno se krećete, ploča također funkcionira.

Preporučeni: