Tartalomjegyzék:

AirPi - Levegőminőség -érzékelő: 8 lépés
AirPi - Levegőminőség -érzékelő: 8 lépés

Videó: AirPi - Levegőminőség -érzékelő: 8 lépés

Videó: AirPi - Levegőminőség -érzékelő: 8 lépés
Videó: EZ-WifiBroadcast , AirPi 1-я часть 2024, December
Anonim
AirPi - Levegőminőség -érzékelő
AirPi - Levegőminőség -érzékelő

Gondolkozott már azon, hogy miért fáj a feje? És ha ez a rossz levegőminőségnek köszönhető? Ezzel az eszközzel ellenőrizheti, hogy ez a helyzet. Ez a készülék méri a CO2-értéket, a TVOC-értéket, a hőmérsékletet és a páratartalmat. A levegő minőségét élőben láthatja az LCD-kijelzőn, és egyértelmű jelzést láthat, ha veszélyes. Így időben kinyithatja az ablakokat.

Ha megadja az IP -címet - amely az eszköz indításakor látható a böngészőben - megnyílik a webhely. Sok információt láthat a beltéri környezetről, valamint az elmúlt percek / órák grafikonjait. A műszerfalon élő jelzés, valamint néhány információ és tipp is található.

Ezt a projektet a Howest Kortrijk, NMCT (New Media and Communication Technology) diákja készítette.

1. lépés: Anyagok

Anyagok
Anyagok

Ez minden, amit a projekt létrehozásához vettem. Ez egy viszonylag olcsó projekt, a 3D nyomtatás költségétől függően. Ha ki tudja nyomtatni az iskolában, ez nagyon olcsó lehet. Ellenkező esetben attól függ, hogy hol nyomtatja, és milyen anyagból nyomtatja. Észre fogja venni, hogy sokat vásároltam ömlesztve, egyszerűen azért, mert nehéz megtalálni az egyes ellenállásokat vagy LED -eket, és ez még olcsóbbá teszi. Ha van ideje, a legtöbb terméket megrendelheti az aliexpress.com oldalon, a szállítás eltarthat egy ideig, de így korlátozhatja költségeit.

A nyomtatás nélkül az erre a projektre költött pénz 81, 80 euró.

Ezek a szükséges anyagok:

Áramkör:

  • Raspberry Pi 3
  • SD kártya 8 GB (minimum)
  • CCS811 levegőminőség -érzékelő
  • DHT22 hőmérséklet és páratartalom érzékelő
  • Potenciométer (kontrasztos LCD)
  • LCD 16x2
  • Női -női áthidaló vezetékek
  • Zöld és piros LED
  • Ellenállások (2x470ohm és 1 4700ohm)

Ügy:

  • 3D nyomtatás
  • Csavarok
  • 2 komponensű ragasztó (vagy más forró ragasztó)
  • menetvágó szerszám

Csak Ön használ PCB -t:

  • Forrasztópáka
  • Flux (megkönnyíti)
  • Ón
  • Kísérlet PCB 2x4cm

2. lépés: Kapcsolatok

Kapcsolatok
Kapcsolatok

Csatlakoztassa a vezetékeket a fentiek szerint. A frizuráló fájlban egy elektromos áramkör látható. Ez nem túl bonyolult áramkör, de ha azt szeretné, hogy a lehető legkisebb legyen, mindenképpen szerezzen be egy kísérleti NYÁK lapot. A kábelezés ugyanaz lenne, kivéve, ha a GND és a Vin csatlakozik a NYÁK laphoz. Az érzékelőket női áthidaló vezetékek vagy forrasztott hímek kötik össze. Ne felejtse el forrasztani az ellenállást a DHT22 érzékelőn.

Azt is javaslom, hogy rövid kábeleket használjon, 10 cm -nek meg kell felelnie. Ellenkező esetben a doboz még tele lenne kábellel. Nincs szüksége hosszúra, mivel a nyomat mérete a lehető legkisebb.

3. lépés: 3D nyomtatás

3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás

Az első gondolat, ami eszembe jutott, amikor egy esetre gondoltam, egy 3D-s nyomtatás volt. Mivel apám számos más tárgyat kinyomtatott, és maga tervezte. Együtt hoztuk létre ezt a formatervezést, és minden szempontot figyelembe vettünk. Elég jól le kell hűteni, mindent fel lehet csavarni a helyére, és ha nem, akkor a helyére tolható.

Minden összetevőt le is rajzoltunk annak ellenőrzésére, hogy minden belefér -e. A fájl mindenki számára elérhető, és szívesen várunk néhány visszajelzést. Nagyon örültünk az eredménynek.

4. lépés: Kód

A projekt kódja megtalálható a Githubon. Ha más csapokat használt (például egy másik GPIO-tűt a LED-ekhez, akkor módosítania kell ezeket a változókat. Két python-szkript fut, a web.py a webhelyhez és a sensor.py az érzékelők olvasásához és frissítéséhez Az LCD osztályt az lcd.py -ből importáljuk.

A konfigurált málna pi segítségével elindulhat. Először is frissítenie és frissítenie kell az összes csomagot:

sudo apt-get update && sudo apt-get upgrade

Ezt követően a következő csomagokat kell telepítenie:

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Most hozzon létre egy virtuális környezetet:

me@my -rpi: ~ $ python3 -m pip install -upgrade pip setuptools wheel virtualenv

me@my-rpi: ~ $ mkdir project1 && cd project1 én@my-rpi: ~/project1 $ python3 -m venv-rendszer-site-csomagok env me@my-rpi: ~/project1 $ source env/bin/ aktiválja (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Mivel ez megtörtént, klónozhatja a kódot a GitHub -ból a virtuális környezetbe. Ezt többféleképpen is meg lehet tenni.

A conf könyvtárban négy fájlt talál, amelyeket szükség esetén módosítania kell. Mindenképpen meg kell változtatnia a felhasználót és a címtárat minden fájlban. Az uWSGI ini -nek rendben kell lennie mindaddig, amíg nem módosította a kódomat, ha szükséges, győződjön meg róla, hogy megváltoztatja a felhasználót és a virtualenv -t.

Mivel a CCS811 érzékelőt szándékosan használták az arduino számára, ez nem tud kommunikálni az i2c buszon a málna pi sebességével. A sebességet 10000 baudrate -re kell csökkentenie (én 9600 -at használtam) a konfigurációs fájlban.

Meg kell szereznie az adafruit szenzor könyvtárát is. Ezt itt meg tudnám magyarázni, de van egy tökéletes adafruit útmutató, amely mindezt nagyon jól elmagyarázza.

Mivel azt akarjuk, hogy a python szkriptek automatikusan fussanak, amikor a málna csatlakoztatva van, használnia kell a szolgáltatásokat. Rendben kell lenniük, ha megtartja a kódomat. Ahhoz, hogy futni tudjanak, csak engedélyezni kell őket. Mielőtt ezt megtenné, van még egy utolsó dolog.

Mivel nginx webszervert használunk, le kell kapcsolnunk az alapértelmezettet, és le kell cserélnünk a saját konfigurációnkra. Ehhez a következő lépéseket kell követni:

  • másolja a conf/nginx-et a *sites-available *-ra
  • Távolítsa el a hivatkozást az alapértelmezett konfigurációhoz
  • Adjon hozzá egy linket az új konfigurációhoz
  • A módosítások mentéséhez indítsa újra az nginx -et

me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/

me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl állapot project1-*

Az Nginxnek és a mysql -nek mindig futnia kell. A málna pi -vel együtt indulnak. A webes szkript és a szenzor -szkript még nem csak.

Ehhez továbbra is engedélyeznie kell ezt a két szolgáltatást a következő parancsokkal:

sudo systemctl engedélyezze a project1-flask.service szolgáltatást

sudo systemctl engedélyezze a project1-sensor.service szolgáltatást

5. lépés: Adatbázis

Adatbázis
Adatbázis

Az adatbázisom három táblázatból áll. A felhasználónak nincs kapcsolata más táblákkal. Ez csak a bejelentkezéshez és a webhelyhez való hozzáférés biztosításához használható. A készülék bekapcsolásakor a CO2-érték és a TVOC-érték 50 másodpercenként bekerül az adatbázisba. A hőmérséklet és a páratartalom 5 percenként. Így világos áttekintést kapunk a múltról.

Az SQL-fájl itt található, de a málna pi adatbázisának megszerzéséhez kövesse az alábbi lépéseket:

A csomagok előző lépésben történő telepítése után a mariadb/mysql azonnal futni kell. Ezt a következő sorral ellenőrizheti:

me@my-rpi: ~ $ sudo systemctl állapot mysql

Az adatbázis és a felhasználók létrehozásához egyszerűen futtassa az sql-script-eket a GitHub-ból származó kódban. Ha ezt helyesen tette, akkor a táblákat a következő paranccsal láthatja:

me@my-rpi: ~ $ echo 'táblázatok megjelenítése;' | mysql project1 -t -u project1 -admin -p

Most már készen állunk, ezt tesztelheti tok nélkül, hogy megbizonyosodjon arról, hogy minden működik. Hacsak nem csatlakozik wifi -hez, akkor Ethernet -kábellel kell csatlakoztatnia, és manuálisan kell futtatnia.

6. lépés: Csatlakozás a Wi-Fi-hez

Nyissa meg a wpa-supplicant konfigurációs fájlt nano-ban (nem igazán számít, csak győződjön meg arról, hogy tud-e dolgozni a szövegszerkesztővel).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Lépjen a fájl aljára, és adja hozzá a következőt (cserélje le az ssid-nevet és a jelszót-nevet):

hálózat = {

ssid = "ssid-name" psk = "jelszó-név"}

Titkosított jelszó létrehozásához használja a wpa_passphrase parancsot, és egyszerűen másolja be a wpa_supplicant.conf psk fájlba, hogy biztonságosabb legyen a helyzet.

wpa_passphrase "ssid-name" "jelszó-név"

Ha azt szeretné, hogy automatikusan csatlakozzon ehhez a Wi-Fi-hálózathoz, és vannak mások is a konfigurációs fájlban, győződjön meg róla, hogy a prioritást magasabb szintre állítja, ehhez adja hozzá ezt a sort a hálózathoz a konfigurációs fájlban:

prioritás = 2

Ne felejtse el újra konfigurálni a kezelőfelületet:

wpa_cli -i wlan0 újrakonfigurálás

Most már készen áll, és csatlakozik egy wifi hálózathoz.

7. lépés: Mindent össze kell rakni

Mindent összerakni
Mindent összerakni
Mindent összerakni
Mindent összerakni
Mindent összerakni
Mindent összerakni

Mivel minden be van kötve és forrasztva, eljuthatunk a tokhoz. Ezt úgy tervezték, hogy laza vezeték nélkül kinyithassa a tokot. Ez azt jelenti, hogy minden az alsó részhez van rögzítve. Az első dolog egy kis kiigazítás a málnához. Minden sarkon vannak lyukak, de ezek nem olyan nagyok, mint kellene. Az átmérőnek elegendőnek kell lennie ahhoz, hogy egy 3 mm -es csavart bele lehessen illeszteni. Csiszolni kellett a lyukakat, hogy kissé szélesebbek legyenek.

A második dolog az, hogy csavarmenetet vágunk minden lyukba. Ez nehéznek tűnhet, de könnyen elvégezhető a megfelelő eszközökkel. Azt javaslom, hogy ezt egy helyi hardverboltban tegye meg, csak kérjen szálvágó szerszámot. Mivel édesapám ötvös, a munkahelyen megvolt az eszköze ehhez. Lehet, hogy feltöltök egy új stl-fájlt, hogy ezt később kinyomtassák, de ehhez nagyon pontos nyomtatóra van szükség.

A harmadik lépés a pi felcsavarása az alsó részre. Szüksége lesz egy 4 7 mm hosszú, 3 mm átmérőjű csavarra. Ezt követően a PCD lapot az alsó rész tetején lévő megfelelő helyre tolhatja. A CCS811 érzékelő behelyezhető a bal oldalon megadott helyre, a DHT11 pedig a jobb oldali lemezhez rögzíthető. Mindkettő elszigetelt és megfelelően szellőzik, de később észrevettük, hogy még mindig meleg van odabent. Erről bővebben a későbbiekben.

Ezután csatlakoztatnia kell a LED -eket a csőhöz. Ezt kétkomponensű ragasztóval végeztük, de tetszés szerint megteheti. Ügyeljen arra, hogy ott ragadjanak.

Most csatlakoztathatja az LCD-kijelzőt, és ugyanolyan átmérőjű csavarokra lesz szüksége, mint az előzőeknek, de kicsit hosszabb ideig. Az enyém 1 cm volt. Ha a négy csavart becsavarják, már csak egy dolgot kell hátrahagyni. Rögzítse a felső részt. Csak négy csavarra van szükség, amelyek átmérője 2 cm. Most mindennek a helyén kell lennie, és elkezdheti.

8. lépés: Indítsa el

A projekt indítási folyamata nagyon egyszerű:

  1. Csatlakoztassa a tápkábelt a tok bal oldalához. Nem nagyon látszik, de a szellőzőnyílásokon keresztül látszik. Ha egyszer megkapod, nem lesz többé gond.
  2. Adjon neki egy kis időt az induláshoz.
  3. Az IP-cím tíz másodpercig megjelenik a kijelzőn. Az egyetlen dolog, amit meg kell tennie, győződjön meg arról, hogy ugyanahhoz a hálózathoz csatlakozik, és írja be az IP-címet a böngésző címsorába.
  4. Most már a webhelyen vagy. Még nincs fiókja, ezért hozzon létre egy fiókot.
  5. Ha regisztrált, jelentkezzen be.
  6. Kész! A weboldalon minden adat látható, és az LCD-kijelző az aktuális levegő minőségét mutatja.

A melegedés óta az érzékelőket a tok alján helyeztük el. Így a hőmérsékletnek nincs nagy hatása a regisztrált értékekre. Tehát az optimális méréshez állítsa fel a készüléket, vagy egyszerűen akassza fel a falra.

Ajánlott: