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, Novembar
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. Šta ako želite znati kakvo je vrijeme u vašoj kući, u određenoj prostoriji? To pokušavam riješiti ovim projektom.

Fanair koristi više senzora za otkrivanje:

  • temperaturu
  • vlažnost
  • svjetlo
  • određeni gasovi
  • zračni pritisak

Vrlo je kompaktan i koristi Raspberry Pi 3 B za dobivanje vrijednosti, spremanje u MySQL bazu podataka, a zatim ih čini lako dostupnim na web stranici. Kôd i web stranica uključuju 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 vašu udobnost i PCB na koji ćete sve lemiti.

Za specifičnije stavke napravio sam ovaj Bilten materijala.

  • 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 prototipa (crno)
  • LDR
  • MQ135 senzor za gas
  • 2x BC517 Darlington tranzistor
  • RGB LED
  • Paket otpornika
  • Zujalica
  • Žice
  • BMP280 Barometar
  • Tihi USB ventilator (5V)

Sve zajedno ovo bi trebalo koštati oko 110 €. Imajte na umu da je ukupna cijena približna. Takođe, moj projekat ima LCD ekran na fotografiji, ali nije povezan jer u mom kućištu nije bilo dovoljno prostora, pa nije uključen u uputstva.

Korak 2: Pripremite svoj Raspberry Pi

Nabavite svoj Raspian Jessie s Pixel operativnim sistemom 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 koristeći Win32 Disk Imager. Kada se instalira, odaberite datoteku slike i pogon na kojem se nalazi vaša SD-kartica. Zatim pritisnite write i sačekajte da se završi.

Kada završi, kliknite na SD karticu u Istraživaču datoteka 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'. Primijetite da ova datoteka nema ekstenziju datoteke. Da biste bili sigurni da nema ekstenziju, kliknite na 'view' u istraživaču datoteka i provjerite 'hidden files'. Ako ga ipak preimenuje i izbriše ekstenziju tako da samo čita 'ssh'.

Nakon što to učinite, konačno 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 sistem'. 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: Povežite sve 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 kao gore, radi praktičnosti je uključena i verzija za matičnu ploču.

Korak 4: Kreirajte svoju bazu podataka

Da bismo efikasno spremili sve podatke koje ćete primiti, koristit ć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 završite instaliranje prijave pomoću:

'mysql -uroot -p'

I upisivanje lozinke.

Nabavite Fanair kod sa My Github -a! Kliknite na „Kloniraj ili preuzmi“, a zatim na „Preuzmi ZIP“. Raspakirajte kôd u folder po vašem izboru. Upit za stvaranje potpuno operativne baze podataka nalazi se u fascikli 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, kod 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 je prilično 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 dobijate 41 dan besplatno ako Fanair radi puno radno vrijeme.

Nakon registracije potražite svoj API ključ. Potražite zemljopisnu dužinu i širinu vaše lokacije na google kartama ili pokušajte proguglati. Kreirajte novu tekstualnu datoteku korijenski direktorij Fanaira (s klasama, main.py …). Dajte datoteci naziv "key_location.txt". Otvorite tekstualnu datoteku i u prvi red zalijepite Darksky API ključ. U drugi red zalijepite svoju geografsku dužinu, a u treći red svoju zemljopisnu širinu (obje u decimalnom formatu). Kada završite, sačuvajte datoteku.

U istom direktoriju kreirajte drugu tekstualnu datoteku pod nazivom 'database_dsn.txt'. U prvom retku bi trebalo biti napisano 'localhost'. Drugi red je 'root'. U treći red trebate unijeti lozinku koju ste ranije unijeli za bazu podataka, a u četvrti i posljednji red upišite 'fanair'.

Desnom tipkom miša kliknite datoteku main.py i odaberite uređivanje. '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đe treba promijeniti u vašu Fanair root stazu (gdje je main.py). Stavite kosu crtu ispred 'home', ali ne iza 'Fanair'.

Ovo je sve sjajno, ali kôd mora ući u Pi. Na našu sreću, sftp protokol postoji. Za postavljanje datoteka na Pi upotrijebite 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 -u. Da biste bili sigurni da ćete primiti tačan datum i vrijeme, predlažem da slijedite ovaj vodič: Raspberry Pi datum i vrijeme sinhronizacije.

I na kraju, ali ne najmanje važno, potrebno je instalirati nekoliko biblioteka i aktivirati nekoliko sučelja:

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

Adafruit DHT:

'pip3 install adafruit_python_dht'

1-žica:

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

SPI:

  1. 'sudo raspi-config'
  2. 'Opcije sučelja'
  3. 'SPI'
  4. Omogući
  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ći
  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 dekomentirajte ga uklanjanjem hashtaga.

boca

pip3 install Flask

mysql konektor

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

spidev

'pip3 install py-spidev'

darksky

'pip3 install darkskylib'

Korak 6: Isprobajte

Ako ste uspjeli dogurati do ovdje, dodirnite sami sebe po leđima. Sada je sve učinjeno kako bi Fanair ispravno radio. Dakle, za testiranje upišite 'cd ""'. Lokacija datoteke je "/home/pi", na primjer ako ste samo zalijepili u svoj kućni direktorij. Zatim upišite 'python3 main.py' i ostavite ga da se odmara 15 minuta kako bi imao podatke u bazi podataka kada završi. 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' nakon nje (ovako: 169.254.10.1:5000 ').

Da biste ga pokrenuli automatski nakon pokretanja:

'sudo nano /etc/rc.local'

Na kraju datoteke ALI PRIJE izlaza 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Čestitamo, sada je vaša skripta trebala biti pokrenuta od pokretanja i GOTOVI ste! Ako planirate nastaviti s radom, a već niste, predlažem da sve zalemite zajedno, samo kako biste bili sigurni da sve ostaje na mjestu. Iako ako se ne igrate da biste se mnogo kretali, ploča također funkcionira.

Preporučuje se: