Tartalomjegyzék:

Fanair: időjárás állomás a szobájához: 6 lépés (képekkel)
Fanair: időjárás állomás a szobájához: 6 lépés (képekkel)

Videó: Fanair: időjárás állomás a szobájához: 6 lépés (képekkel)

Videó: Fanair: időjárás állomás a szobájához: 6 lépés (képekkel)
Videó: Ac in rainy weather 2024, November
Anonim
Fanair: időjárás állomás a szobájához
Fanair: időjárás állomás a szobájához

Számtalan módon lehet megtudni az aktuális időjárást, de akkor csak a kinti időjárást ismeri. Mi van, ha tudni szeretné az időjárást a házban, egy adott szobában? Ezt próbálom megoldani ezzel a projekttel.

A Fanair több érzékelőt használ az érzékeléshez:

  • hőfok
  • páratartalom
  • könnyű
  • bizonyos gázok
  • levegő nyomás

Nagyon kompakt, és a Raspberry Pi 3 B -t használja az értékek lekéréséhez, a MySQL adatbázisba mentéséhez, majd könnyen elérhetővé tételéhez egy webhelyen. A kód és a webhely tartalmazza azt a képességet, hogy tényleges időjárási adatokat szerezzen az Ön tartózkodási helyéről, hogy a webhely segítségével ellenőrizni lehessen a külső időjárást is.

1. lépés: Szerezze be az összes szükséges elemet

Szerezze be az összes szükséges elemet
Szerezze be az összes szükséges elemet

Először is alapvető elektronikára lesz szüksége, mint például vezetékek / áthidaló kábelek. Ha azt tervezi, hogy mindent együtt forraszt, mint állandó projektet, akkor nyilván szüksége lesz egy forrasztópákara, forrasztóra, és a saját kényelme érdekében egy NYÁK -ra, amelyhez mindent forrasztani kell.

Konkrétabb tételekhez készítettem ezt az anyagjegyzéket.

  • Raspberry Pi 3 B
  • MPC3008-8 csatornás 10 bites ADC
  • AM2301 hőmérő hőmérséklet és páratartalom érzékelő
  • WR Rademacher WR-tyoe 930-1 NYÁK
  • ABS tok prototípus készítéséhez (fekete)
  • LDR
  • MQ135 gázérzékelő
  • 2x BC517 Darlington tranzisztor
  • RGB LED
  • Ellenállás csomag
  • Berregő
  • Vezetékek
  • BMP280 barométer
  • Csendes USB ventilátor (5V)

Ennek együttesen körülbelül 110 euróba kell kerülnie. Ne feledje, hogy a teljes ár hozzávetőleges. Ezenkívül a projektemben van egy LCD képernyő a fényképen, de nincs csatlakoztatva, mivel nem volt elég hely az esetemben, ezért nem tartalmazza az utasításokat.

2. lépés: Készítse elő a Raspberry Pi -t

Szerezze be Raspian Jessie Pixel operációs rendszerét a hivatalos Raspberry Pi webhelyről, és miután letöltötte, csomagolja ki. Kapsz egy képfájlt. Ahhoz, hogy felvegye a Pi-re, írnia kell az SD-kártyára a Win32 Disk Imager segítségével. A telepítés után válassza ki a képfájlt és a meghajtót, amelyben az SD-kártya található. Ezután nyomja meg az írást, és várja meg, amíg befejeződik.

Ha elkészült, kattintson az SD-kártyára a File Explorerben, és nyissa meg a „cmdline.txt” nevű fájlt, menjen a szövegfájl végére, közvetlenül a rootwait előtt, és írja be az „ip = 254.169.10.2” szóközöket. A mentés után jobb egérgombbal kattintson az ablak belsejébe, és hozzon létre egy új fájlt, az 'ssh' nevet. Vegye figyelembe, hogy ez a fájl nem rendelkezik fájlkiterjesztéssel. Ha meg szeretné győződni arról, hogy nem rendelkezik kiterjesztéssel, kattintson a „megtekintés” elemre a fájlkezelőben, és ellenőrizze a „rejtett fájlok” lehetőséget. Ha átnevezi, és törli a kiterjesztést, így csak az „ssh” feliratot olvassa.

Ezt követően végre behelyezheti SD-kártyáját a Raspberry Pi-be. Töltsön le egy ssh klienst (a MobaXterm -et javaslom). Csatlakozzon az ssh használatával a korábban beállított „254.169.10.2” IP -címmel. A felhasználónév "pi", a jelszó "málna". Ha szeretné, megváltoztathatja a jelszót a terminálban a 'sudo passwd' parancs beírásával és az utasítások követésével. Mivel az SD-kártya jó részét fogjuk használni a Fanair számára, bővítse a rendelkezésre álló tárhelyet a „sudo rapi-config” gombbal, válassza a „Speciális beállítások”, majd a „Fájlrendszer kibontása” lehetőséget. Ha a rendszer kéri, indítsa újra.

Ki fogjuk használni az 1 vezetékes, SPI és I2C interfészt. Ahhoz, hogy használni tudja őket, először be kell állítania őket!

3. lépés: Csatlakoztasson mindent egymáshoz

Mindent összekapcsolni
Mindent összekapcsolni
Mindent összekapcsolni
Mindent összekapcsolni

Ideje áramkört csinálni! Első alkalommal valószínűleg kipróbálhatja kenyérsütő deszkán, de ha nincs ideje erre, megpróbálhatja összeforrasztani.

A szükséges áramkör a fentiekhez hasonlóan néz ki, a kényelem érdekében egy kenyérsütő változat is benne van.

4. lépés: Hozza létre az adatbázisát

A kapott adatok hatékony mentéséhez TSQL MySQL adatbázist fogunk használni. A MySQL telepítése előtt győződjünk meg arról, hogy minden naprakész, néhány parancsot beírva a terminálba:

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

Az „y” gombbal fogadjon el minden felszólítást, és írja be.

A MySQL típus telepítéséhez:

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

Amikor a rendszer kéri, hozzon létre egy tetszőleges root jelszót.

Miután befejezte a bejelentkezés telepítését a következők használatával:

'mysql -uroot -p'

És írja be a jelszavát.

Szerezd meg a Fanair kódot a My Github -ból! Kattintson a „Klón vagy letöltés”, majd a „Letöltés ZIP” lehetőségre. Csomagolja ki a kódot a kívánt mappában. A teljesen működőképes adatbázis létrehozására vonatkozó lekérdezés az adatbázis mappában található. Nyissa meg a fájlt, másolja ki a kódot, és illessze be a terminálba nyitott MySQL segítségével. Ezután kattintson az Enter gombra, és kész az adatbázis!

5. lépés: Itt az ideje a kódnak

Az összes érzékelő használatához nyilvánvalóan programot kell futtatnia. Szerencsére a kód már elkészült (nagyrészt), és már letöltöttük az adatbázis SQL lekérdezésekor.

Mint mondtam, néhány dolgot még módosítani kell / hozzá kell adni a program megfelelő működéséhez. Mindenekelőtt a program a Darksky API -t használja az időjárási adatok lekéréséhez a hosszúság és szélesség alapján. Ahhoz, hogy használni tudja, regisztrálnia kell. Az első 1000 hívás ingyenes, és utána hívásonként 0,0001 dollárba kerül. Hallottam, hogy ha nem fizet, akkor zárolják a fiókját. Az igazat megvallva 0.0001 dollár hívásonként meglehetősen olcsó. A Fanair óránként hívja le a legfrissebb adatokat, ami azt jelenti, hogy egy év alatt, ha teljes munkaidőben fut, csak 0,876 dollárba kerül. Emellett 41 nap ingyenes, ha a Fanair teljes munkaidőben üzemel.

Miután regisztrált, keresse meg az API -kulcsot. Keresse meg tartózkodási helyének hosszúságát és szélességét a Google térképen, vagy próbálja meg google -olni. Hozzon létre egy új szöveges fájlt a Fanair gyökérkönyvtárában (osztályokkal, main.py …). Nevezze el a fájlt 'key_location.txt'. Nyissa meg a szöveges fájlt, és az első sorba illessze be a Darksky API -kulcsot. A második sorba illessze be a hosszúságát, a harmadik sorba pedig a szélességét (mindkettőt tizedes formátumban). Ha elkészült, mentse el a fájlt.

Ugyanebben a könyvtárban hozzon létre egy másik "adatbázis_dsn.txt" nevű szövegfájlt. Az első sorban a „localhost” feliratot kell feltüntetni. A második sor a „root”. A harmadik sorba írja be az adatbázishoz korábban megadott jelszavát, a negyedik és utolsó sorba pedig a „fanair” -t.

Kattintson a jobb gombbal a main.py fájlra, és válassza a szerkesztés lehetőséget. A 'fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt") módosítani kell. Ha követte a képet, az első 5 értéket „5, 26, 17, 27, 22, 4” értékről „20, 21, 26, 19, 13” értékre kell módosítani. A "/home/muhsin/Applications/Fanair" fájlt szintén a Fanair gyökérútvonalára kell módosítani (ahol a main.py található). Ügyeljen arra, hogy perjelet tegyen az „otthon” elé, de ne a „Fanair” után.

Most ez minden nagyszerű, de a kódnak be kell lépnie a Pi -be. Szerencsénkre létezik az sftp protokoll. A fájlok Pi -re történő felhelyezéséhez használjon egy sftp klienst, például a FileZilla -t, vagy ha úgy döntött, hogy a MobaXterm -et használja, egyszerűen feltöltheti a fájlokat a terminál bal oldali sftp felületén.

Tapasztalatom szerint nem mindig a megfelelő dátumot és időt kapom a Raspberry Pi -ben. Annak érdekében, hogy megkapja a megfelelő dátumot, javaslom, hogy kövesse ezt az útmutatót: Raspberry Pi szinkronizálás dátuma és ideje.

Végül, de nem utolsósorban néhány könyvtárat kell telepíteni, és néhány interfészt aktiválni kell:

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

Adafruit DHT:

'pip3 install adafruit_python_dht'

1-vezetékes:

  1. 'sudo raspi-config'
  2. "Interfész opciók"
  3. "1 vezeték"
  4. Engedélyezze
  5. 'sudo nano /boot/config.txt'
  6. Adja hozzá ezt a sort a fájlhoz: 'dtoverlay = w1-gpio'
  7. 'sudo reboot'

SPI:

  1. 'sudo raspi-config'
  2. "Interfész opciók"
  3. "SPI"
  4. Engedélyezze
  5. 'sudo reboot'
  6. 'sudo nano /boot/config.txt'
  7. Keresse meg a „dtparam = spi = on” szót, és távolítsa el a megjegyzést a hashtag eltávolításával.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config'
  2. "Interfész opciók"
  3. "I2C"
  4. Engedélyezze
  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. Keresse meg a dtparam = i2c_arm = on parancsot, és távolítsa el a megjegyzést a hashtag eltávolításával.

lombik

pip3 telepítse a lombikot

mysql csatlakozó

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

spidev

'pip3 install py-spidev'

sötét ég

'pip3 install darkskylib'

6. lépés: Próbáld ki

Ha sikerült idáig eljutnia, koppintson a hátára. Most már minden megvan annak érdekében, hogy a Fanair megfelelően működjön. Tehát a teszteléshez írja be a "cd" "" fájlt. A fájl helye "/home/pi", például ha éppen beillesztette a saját könyvtárába. Ezután írja be a „python3 main.py” parancsot, és hagyja pihenni 15 percig, hogy az adatok az adatbázisban legyenek, ha elkészült. Ezt követően nyomja le a 'ctrl + c' stop programot, és írja be a 'python3 Flask.py' parancsot. Ahhoz, hogy megtudja, működik -e a webhelye, böngésznie kell a Pi IP -címére, amelyet ': 5000' után írt (például: 169.254.10.1:5000 ').

Az indítás utáni automatikus futtatáshoz:

'sudo nano /etc/rc.local'

A fájl végén, DE Mielőtt kilép a 0 -ból:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Gratulálunk, mostantól a szkriptnek futnia kell az indítástól, és kész! Ha azt tervezi, hogy folytatja a projektet, és még nem tette meg, akkor azt javaslom, hogy forrasszon össze mindent, csak hogy minden a helyén maradjon. Bár, ha nem játszik sokat mozgatni, akkor természetesen működik a kenyértábla is.

Ajánlott: