Obsah:

Fanair: meteorologická stanica pre vašu izbu: 6 krokov (s obrázkami)
Fanair: meteorologická stanica pre vašu izbu: 6 krokov (s obrázkami)

Video: Fanair: meteorologická stanica pre vašu izbu: 6 krokov (s obrázkami)

Video: Fanair: meteorologická stanica pre vašu izbu: 6 krokov (s obrázkami)
Video: Злые Призраки Обитают В Этом Доме | Evil Ghosts Inhabit This House 2024, Júl
Anonim
Fanair: meteorologická stanica pre vašu izbu
Fanair: meteorologická stanica pre vašu izbu

Existuje nespočetné množstvo spôsobov, ako zistiť aktuálne počasie, ale potom poznáte počasie iba vonku. Čo keď chcete vedieť počasie vo svojom dome, v konkrétnej miestnosti? To sa pokúšam vyriešiť týmto projektom.

Fanair používa viacero senzorov na snímanie:

  • teplota
  • vlhkosť
  • svetlo
  • určité plyny
  • tlak vzduchu

Je veľmi kompaktný a využíva Raspberry Pi 3 B na získavanie hodnôt, ich ukladanie do databázy MySQL a následné ľahké sprístupnenie na webovej stránke. V kóde a na webovej stránke je zahrnutá možnosť získať aktuálne údaje o počasí pre vašu polohu, aby bolo možné webovú stránku použiť aj na kontrolu vonkajšieho počasia.

Krok 1: Získajte všetky požadované položky

Získajte všetky požadované položky
Získajte všetky požadované položky

V prvom rade budete potrebovať základnú elektroniku, ako sú vodiče / prepojovacie káble. Ak plánujete spájkovať všetko dohromady ako trvalý projekt, budete samozrejme potrebovať aj spájkovačku, spájku a pre svoje vlastné pohodlie PCB na spájkovanie všetkého.

Pre konkrétnejšie položky som vyrobil tento kusovník.

  • Raspberry Pi 3 B
  • MPC3008-8-kanálový 10-bitový ADC
  • Snímač teploty a vlhkosti AM2301 teplomera
  • DPS WR Rademacher WR-tyoe 930-1
  • Puzdro ABS na prototypovanie (čierne)
  • LDR
  • Plynový snímač MQ135
  • 2x BC517 Darlington tranzistor
  • RGB LED
  • Balíček rezistorov
  • Bzučiak
  • Drôty
  • Barometer BMP280
  • Tichý ventilátor USB (5 V)

To všetko dohromady by malo stáť asi 110 EUR. Celková cena je len približná. Môj projekt má na fotografii aj obrazovku LCD, ale nie je pripojený, pretože v mojom prípade nebolo dostatok miesta, takže nie je zahrnutý v návode.

Krok 2: Pripravte si Raspberry Pi

Získajte svoj Raspian Jessie s operačným systémom Pixel z oficiálnej stránky Raspberry Pi a po stiahnutí ho rozbaľte. Dostanete súbor s obrázkom. Aby ste sa dostali na Pi, budete ho musieť zapísať na kartu SD pomocou programu Win32 Disk Imager. Po inštalácii vyberte súbor s obrázkom a jednotku, na ktorej sa nachádza karta SD. Potom stlačte písať a počkajte, kým sa nedokončí.

Po dokončení kliknite na kartu SD v programe Prieskumník a otvorte súbor s názvom „cmdline.txt“, prejdite na koniec textového súboru tesne pred rootwait a napíšte „ip = 254.169.10.2“s medzerami okolo. Po uložení by ste mali pravým tlačidlom myši kliknúť niekde do okna a vytvoriť nový súbor s názvom „ssh“. Všimnite si, že tento súbor nemá príponu. Aby ste sa uistili, že nemá príponu, kliknite v Prieskumníkovi na „zobraziť“a začiarknite políčko „Skryté súbory“. Ak ho premenuje a odstráni rozšírenie, bude čítať iba „ssh“.

Akonáhle to urobíte, môžete konečne vložiť svoju kartu SD do Raspberry Pi. Stiahnite si ssh klienta (odporúčam MobaXterm). A pripojte sa pomocou ssh s IP, ktorú ste nastavili predtým „254.169.10.2“. Používateľské meno je „pi“, heslo „malina“. Ak chcete, môžete heslo zmeniť tak, že do terminálu zadáte príkaz „sudo passwd“a budete postupovať podľa pokynov. Pretože pre Fanair použijeme značnú časť karty SD, mali by ste rozšíriť dostupné úložisko zadaním príkazu „sudo rapi-config“, výberom položky „Rozšírené možnosti“a potom „Rozbaliť systém súborov“. Ak sa zobrazí výzva, reštartujte.

Budeme používať 1-vodičové, SPI a I2C rozhranie. Aby ste ich mohli používať, musíte ich najskôr nastaviť!

Krok 3: Spojte všetko dohromady

Spojte všetko dohromady
Spojte všetko dohromady
Spojte všetko dohromady
Spojte všetko dohromady

Je čas urobiť okruh! Prvýkrát by ste to mali pravdepodobne vyskúšať na doske, ale ak na to nemáte čas, môžete to skúsiť spájkovať.

Okruh, ktorý budete potrebovať, vyzerá ako vyššie, pre pohodlie je tiež zahrnutá verzia nepájivej dosky.

Krok 4: Vytvorte si databázu

Na efektívne uloženie všetkých prijatých údajov použijeme databázu TSQL MySQL. Pred inštaláciou MySQL sa uistite, že je všetko aktuálne, zadaním niekoľkých príkazov do terminálu:

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

Prijmite každú výzvu zadaním „y“a zadajte.

Inštalácia typu MySQL:

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

Po zobrazení výzvy vytvorte heslo typu root podľa vlastného výberu.

Po dokončení inštalácie prihlásenia pomocou:

'mysql -uroot -p'

A zadaním hesla.

Získajte kód Fanair z My Github! Kliknite na „Klonovať alebo stiahnuť“a potom na „Stiahnuť ZIP“. Rozbaľte kód do priečinka podľa vášho výberu. Dotaz na vytvorenie plne funkčnej databázy je v priečinku s databázou. Otvorte súbor, skopírujte kód a vložte ho do terminálu s otvoreným MySQL. Potom kliknite na Enter a databáza je hotová!

Krok 5: Čas na kód

Na to, aby ste mohli využiť všetky senzory, zrejme potrebujete spustiť program. Našťastie je kód už hotový (z väčšej časti) a už sme ho stiahli pri získavaní databázového dotazu SQL.

Ako som povedal, je niekoľko vecí, ktoré je ešte potrebné zmeniť / pridať, aby program správne fungoval. Program predovšetkým používa Darksky API na získavanie údajov o počasí na základe zemepisnej dĺžky a šírky. Aby ste to mohli využiť, musíte sa zaregistrovať. Prvých 1 000 hovorov je bezplatných a potom ich cena stojí 0 0001 USD za hovor. Počul som, že ak nezaplatíte, váš účet bude zablokovaný. Aby sme boli spravodliví, 0,0001 dolára za hovor je dosť lacné. Spoločnosť Fanair volá najnovšie údaje každú hodinu, čo znamená, že za rok, ak bude bežať na plný úväzok, vás to bude stáť iba 0,876 dolára. Ak Fanair beží na plný úväzok, získate tiež 41 dní zadarmo.

Po registrácii vyhľadajte svoj kľúč API. Na mapách Google vyhľadajte zemepisnú dĺžku a šírku svojej polohy alebo ju skúste vygoogliť. Vytvorte nový textový súbor v koreňovom adresári programu Fanair (s triedami, main.py …). Súbor pomenujte 'key_location.txt'. Otvorte textový súbor a do prvého riadka prilepte svoj kľúč Darksky API. Na druhý riadok vložte svoju zemepisnú dĺžku a na tretí riadok vložte svoju zemepisnú šírku (obe v desatinnom formáte). Keď skončíte, uložte súbor.

V tom istom adresári vytvorte ďalší textový súbor s názvom 'database_dsn.txt'. V prvom riadku by malo byť „localhost“. Druhý riadok je „root“. Do tretieho riadka zadajte svoje heslo, ktoré ste zadali pre databázu predtým, a do štvrtého a posledného riadka zadajte „fanair“.

Pravým tlačidlom myši kliknite na súbor main.py a zvoľte Upraviť. Je potrebné zmeniť „fanair = Fanair (5, 26, 17, 27, 22, 4,„ AM2301 “, 1, 0, 0, 0,„ key_location.txt “,„ database_dsn.txt “). Ak ste postupovali podľa obrázku, prvých 5 hodnôt by ste mali zmeniť z „5, 26, 17, 27, 22, 4“na „20, 21, 26, 19, 13“. „/home/muhsin/Applications/Fanair“by sa malo zmeniť aj na vašu koreňovú cestu Fanair (kde je main.py). Nezabudnite dať lomítko pred „domov“, ale nie za „Fanair“.

Teraz je to všetko skvelé, ale kód sa musí dostať do Pi. Našťastie pre nás existuje protokol sftp. Na vloženie súborov na Pi použite klienta sftp, ako je FileZilla, alebo ak ste sa rozhodli používať MobaXterm, môžete súbory ľahko nahrať do rozhrania sftp vľavo od terminálu.

Podľa mojich skúseností nie vždy na Raspberry Pi dostanem správny dátum a čas. Aby ste sa uistili, že dostanete správny dátum a čas, navrhujem postupovať podľa tohto sprievodcu: Dátum a čas synchronizácie Raspberry Pi.

A v neposlednom rade je potrebné nainštalovať niekoľko knižníc a aktivovať niekoľko rozhraní:

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

Adafruit DHT:

'pip3 install adafruit_python_dht'

1-vodičový:

  1. 'sudo raspi-config'
  2. „Možnosti rozhrania“
  3. „1 drôt“
  4. Povoliť
  5. 'sudo nano /boot/config.txt'
  6. Pridajte do súboru tento riadok: 'dtoverlay = w1-gpio'
  7. 'sudo reboot'

SPI:

  1. 'sudo raspi-config'
  2. „Možnosti rozhrania“
  3. „SPI“
  4. Povoliť
  5. 'sudo reboot'
  6. 'sudo nano /boot/config.txt'
  7. Vyhľadajte výraz „dtparam = spi = on“a odkomentujte ho odstránením hashtagu.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. „Možnosti rozhrania“
  3. „I2C“
  4. Povoliť
  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. Vyhľadajte dtparam = i2c_arm = zapnuté a zrušte jeho odstránenie odstránením hashtagu.

fľaša

pip3 nainštalujte banku

mysql konektor

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

spidev

'pip3 install py-spidev'

tmavá obloha

'pip3 install darkskylib'

Krok 6: Skúste to

Ak ste to dokázali až doteraz, klepnite si na chrbát. Teraz je všetko urobené tak, aby Fanair fungoval správne. Ak to chcete vyskúšať, napíšte „cd““'. Umiestnenie súboru je "/home/pi", napríklad ak ste ho práve vložili do svojho domovského adresára. Potom zadajte „python3 main.py“a nechajte ho 15 minút odpočívať, aby po dokončení mal údaje v databáze. Potom stlačte „ctrl + c“zastavte program a zadajte „python3 Flask.py“. Aby ste zistili, či váš web funguje, musíte prejsť na IP adresu vášho Pi, ktorú ste zadali s ': 5000' za ním (napríklad: 169.254.10.1:5000 ').

Aby sa spustil automaticky po spustení:

'sudo nano /etc/rc.local'

Na konci súboru, ALE PRED výjazdom 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Blahoželáme, váš skript by mal bežať od spustenia a HOTOVO! Ak plánujete udržať projekt v chode a ešte ste to neurobili, navrhujem vám spájkovať všetko dohromady, aby ste sa presvedčili, že všetko zostane na svojom mieste. Aj keď to veľmi nehráte, samozrejme, funguje aj tanier.

Odporúča: