Kazalo:
- 1. korak: Materiali
- 2. korak: Povezave
- 3. korak: 3D-tiskanje
- 4. korak: Koda
- 5. korak: Baza podatkov
- 6. korak: Povežite se z omrežjem Wi-Fi
- 7. korak: Vse združite
- 8. korak: Zaženite
Video: AirPi - senzor kakovosti zraka: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ste se kdaj vprašali, zakaj vas boli glava? In če je to posledica slabe kakovosti zraka? S to napravo lahko preverite, ali je temu tako. Ta naprava meri vrednost CO2, vrednost TVOC, temperaturo in vlažnost. Kakovost zraka si lahko ogledate v živo na LCD-zaslonu in jasno označite, ali postaja nevarno. Tako lahko pravočasno odprete okna.
Če vnesete naslov IP - prikazan ob zagonu naprave v brskalniku - se bo odprlo spletno mesto. Ogledate si lahko veliko informacij o notranjem okolju skupaj z grafi zadnjih minut / ur. Na nadzorni plošči je tudi prikaz v živo in nekaj informacij in nasvetov.
Ta projekt je izdelal študent na Howest Kortrijk, NMCT (New Media and Communication Technology).
1. korak: Materiali
To je vse, kar sem kupil za ustvarjanje tega projekta. To je relativno poceni projekt, odvisno od stroškov 3D-tiskanja. Če ga lahko natisnete v šoli, je to lahko zelo poceni. Sicer je odvisno od tega, kje ga natisnete, in materiala, v katerem ga tiskate. Opazili boste, da sem kupil veliko v razsutem stanju, preprosto zato, ker težko najdem posamezne upore ali LED diode, zaradi česar je to še cenejše. Če imate čas, lahko večino artiklov naročite na aliexpress.com, dostava lahko traja nekaj časa, vendar lahko na ta način omejite svoje stroške.
Brez tiska je denar, ki sem ga porabil za ta projekt, 81,80 €.
Ti materiali, ki jih potrebujete:
Vezje:
- Malina Pi 3
- SD kartica 8 GB (najmanj)
- Senzor kakovosti zraka CCS811
- Senzor temperature in vlažnosti DHT22
- Potenciometer (kontrastni LCD)
- LCD 16x2
- Moški žice za ženske
- Zelena in rdeča LED
- Upori (2x470ohm in 1 4700ohm)
Ovitek:
- 3D-tiskanje
- Vijaki
- Dvokomponentno lepilo (ali drugo vroče lepilo)
- orodje za rezanje navojev
Samo, če uporabljate tiskano vezje:
- Spajkalnik
- Flux (olajša)
- Kositer
- Poskusite s ploščo 2x4 cm
2. korak: Povezave
Priključite žice, kot je opisano zgoraj. V datoteki za fritzing lahko vidite električni tokokrog. To ni zelo zapleteno vezje, če pa želite biti čim manjši, zagotovo želite dobiti poskusno PCB ploščo. Ožičenje bi bilo enako, le da bosta GND in Vin priključena na tiskano vezje. Tipala bodo povezana s samicami ali samci s spajkanjem. Ne pozabite spajkati upora na senzorju DHT22.
Priporočam tudi uporabo kratkih kablov, dolžine 10 cm. V nasprotnem primeru bi bila škatla še bolj napolnjena s kablom. Ne potrebujete zelo dolgih, saj je velikost tiska čim manjša.
3. korak: 3D-tiskanje
Prvi pomislek, ki mi je prišel na misel, ko sem razmišljal o etuiju, je bil 3D-tisk. Ker je moj oče natisnil nekaj drugih predmetov in jih je sam oblikoval. Skupaj smo ustvarili to zasnovo in preučili vse vidike. Moral bi biti dovolj dobro ohlajen, vse je mogoče priviti na svoje mesto, če pa ne, ga je mogoče potisniti na svoje mesto.
Vsako komponento smo celo narisali, da preverimo, ali se vse ujema. Datoteka je na voljo vsem in radi bi slišali nekaj povratnih informacij. Z rezultatom smo bili zelo zadovoljni.
4. korak: Koda
Kodo za ta projekt najdete na Githubu. Če ste uporabili druge zatiče (na primer drug pin GPIO za LED-je, jih boste morali prilagoditi. Za zagon bosta na voljo dva skripta python, web.py za spletno mesto in sensor.py za branje senzorjev in posodobitev Uvozimo razred LCD iz lcd.py.
S konfigurirano malinovo pi lahko začnete. Najprej boste morali posodobiti in nadgraditi vse pakete:
sudo apt-get update && sudo apt-get upgrade
Po tem boste morali namestiti naslednje pakete:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Zdaj ustvarite virtualno okolje:
me@my -rpi: ~ $ python3 -m pip install -nadgradnja pip setuptools wheel virtualenv
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system-site-packages env me@my-rpi: ~/project1 $ vir env/bin/ aktiviraj (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Ker je to storjeno, lahko kodo iz mojega GitHub -a klonirate v svoje virtualno okolje. To je mogoče storiti na več načinov.
V imeniku conf lahko najdete štiri datoteke, ki jih boste morali po potrebi prilagoditi. Zagotovo boste morali v vsaki datoteki spremeniti uporabniški in domači imenik. UWSGI ini bi moral biti v redu, dokler niste spremenili moje kode, po potrebi spremenite uporabnika in virtualenv.
Ker je bil senzor CCS811 namenoma uporabljen za arduino, ta ne more komunicirati preko vodila i2c s hitrostjo maline pi. Hitrost boste morali zmanjšati na baudrate 10000 (uporabil sem 9600) v konfiguracijski datoteki.
Prav tako boste morali kupiti knjižnico senzorja adafruit. To bi lahko razložil tukaj, vendar obstaja popoln priročnik adafruit, ki vse to zelo dobro razloži.
Ker želimo, da se skripti python samodejno izvajajo, ko je malina povezana, boste morali uporabiti storitve. Morali bi biti v redu, če bi ohranili mojo kodo. Vse, kar morate storiti, da jih zaženejo, je, da jih omogočite. Preden to storite, je še zadnja stvar.
Ker uporabljamo spletni strežnik nginx, bomo morali privzeto deaktivirati in jo nadomestiti z lastno konfiguracijo. Če želite to narediti, sledite tem korakom:
- kopiraj conf/nginx na *spletna mesta na voljo *
- Odstranite povezavo do default-config
- Dodajte povezavo do nove konfiguracije
- Znova zaženite nginx, da shranite spremembe
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. storitev/etc/systemd/system/
me@my-rpi: ~/project1 $ sudo systemctl daemon -reload me@my-rpi: ~/project1 $ sudo systemctl začni project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*
Nginx in mysql bi morala delovati ves čas. Začnejo skupaj z malinovim pi. Spletni skript in skript senzorja še ne.
Če želite to narediti, morate še vedno omogočiti ti dve storitvi s temi ukazi:
sudo systemctl omogoči project1-flask.service
sudo systemctl omogoči project1-sensor.service
5. korak: Baza podatkov
Moja baza podatkov je sestavljena iz treh tabel. Uporabnik nima nobene zveze z drugimi tabelami. To se uporablja samo za prijavo in odobritev dostopa do spletnega mesta. Ko je naprava vklopljena, se vrednost CO2 in vrednost TVOC zapišeta v bazo podatkov vsakih 50 sekund. Temperatura in vlaga vsakih 5 minut. Tako dobimo jasen pregled preteklosti.
Datoteko SQL najdete tukaj, vendar za pridobitev zbirke podatkov o malini pi sledite tem korakom:
Po namestitvi paketov v prejšnjem koraku bi se moral mariadb/mysql takoj zagnati. To lahko preverite s to vrstico:
me@my-rpi: ~ $ sudo systemctl status mysql
Če želite ustvariti bazo podatkov in uporabnike, preprosto zaženite skripte sql v kodi iz GitHub-a. Če ste to storili pravilno, bi morali videti tabele s tem ukazom:
me@my-rpi: ~ $ echo 'pokaži tabele;' | mysql project1 -t -u project1 -admin -p
Zdaj smo pripravljeni, to lahko preizkusite brez ohišja in se prepričate, ali vse deluje. Če niste povezani z wifi, ga morate povezati z ethernetnim kablom in ga zagnati ročno.
6. korak: Povežite se z omrežjem Wi-Fi
Odprite konfiguracijsko datoteko wpa-supplicant v nano (to v resnici ni pomembno, samo preverite, ali lahko delate z urejevalnikom besedil).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Pojdite na dno datoteke in dodajte naslednje (ime ssid in geslo zamenjajte s svojimi):
omrežje = {
ssid = "ssid-name" psk = "ime-gesla"}
Če želite ustvariti šifrirano geslo, uporabite wpa_passphrase in ga preprosto kopirajte v psk wpa_supplicant.conf, da naredite stvari bolj varne.
wpa_passphrase "ssid-name" "ime gesla"
Če želite, da se samodejno poveže s tem omrežjem Wi-Fi, v konfiguracijski datoteki pa so še drugi, poskrbite, da spremenite prednost na višjo raven, tako da v konfiguracijsko datoteko dodate to vrstico v omrežje:
prednost = 2
Ne pozabite znova konfigurirati vmesnika z:
wpa_cli -i wlan0 ponovno konfigurirajte
Zdaj ste pripravljeni in povezani z omrežjem WiFi.
7. korak: Vse združite
Ker je vse ožičeno in spajkano, lahko pridemo do ohišja. To je bilo zasnovano tako, da lahko ohišje odprete brez ohlapnih žic. To pomeni, da je vse pritrjeno na spodnji del. Najprej je treba malce prilagoditi malino. Na vsakem vogalu ima luknje, vendar te niso tako velike, kot bi morale biti. Premer bi moral zadostovati, da se v notranjost prilega 3 mm vijak. Luknje smo morali polirati, da so se nekoliko razširile.
Druga stvar, ki jo morate narediti, je, da v vsako luknjo izrežete vijačni navoj. To se morda sliši težko, vendar je to enostavno storiti s pravimi orodji. Priporočam, da to storite v lokalni trgovini s strojno opremo, samo povprašajte po orodju za rezanje niti. Ker je moj oče zlatar, je imel orodja za to pri delu. Morda bom naložil novo datoteko stl, da bo ta kasneje natisnjena, vendar bi za to potreboval zelo natančen tiskalnik.
Tretji korak je priviti pi na spodnji del. Potrebovali boste 4 7 mm dolge vijake s premerom 3 mm. Po tem lahko ploščo PCD potisnete na predvideno mesto na vrhu spodnjega dela. Senzor CCS811 lahko potisnete na predvideno mesto na levi strani, DHT11 pa pritrdite na desno ploščo. Oba sta dovolj izolirana in prezračena, potem pa smo opazili, da je v notranjosti še vedno vroče. Več o tem kasneje.
Nato morate LED pritrditi na njihovo cev. To smo naredili z dvokomponentnim lepilom, vendar lahko to storite, kot želite. Prepričajte se, da se držijo tam.
Zdaj lahko pritrdite LCD-zaslon, potrebovali boste vijake enakega premera kot prejšnji, vendar nekoliko daljši. Moje so bile 1 cm. Če so priviti štirje vijaki, ostane le še ena stvar. Pritrdite zgornji del. Potrebujete le štiri vijake z enakim premerom 2 cm. Zdaj bi moralo biti vse na svojem mestu in lahko začnete.
8. korak: Zaženite
Začetek tega projekta je zelo enostaven:
- Napajalni kabel priključite na levo stran ohišja. Ni zelo viden, vendar lahko vidite skozi odprtine. Če ga imate enkrat, to ne bo več problem.
- Dajte nekaj časa za zagon.
- Naslov IP se bo za deset sekund prikazal na zaslonu. Edino, kar morate storiti, je, da se povežete z istim omrežjem in v naslovno vrstico brskalnika vnesete naslov IP.
- Zdaj ste na spletnem mestu. Računa še nimate, zato ga ustvarite.
- Če ste registrirani, se prijavite.
- Končano! Na spletni strani si lahko ogledate vse podatke, LCD-zaslon pa prikazuje trenutno kakovost zraka.
Ker toplota narašča, smo senzorje namestili na dnu ohišja. Tako temperatura ne bi imela velikega vpliva na registrirane vrednosti. Zato za optimalne meritve napravo vstanite ali pa jo preprosto obesite na steno.
Priporočena:
Merilnik kakovosti zraka v zaprtih prostorih: 5 korakov (s slikami)
Merilnik kakovosti zraka v zaprtih prostorih: Enostaven projekt za preverjanje kakovosti zraka v vaši hiši. Ker v zadnjem času veliko ostajamo/delamo od doma, je morda dobro, da spremljate kakovost zraka in se spomnite, kdaj je čas, da odprete okno in vdihnite svež zrak
Airduino: Mobilni monitor kakovosti zraka: 5 korakov
Airduino: Mobilni monitor kakovosti zraka: Dobrodošli v mojem projektu, Airduino. Moje ime je Robbe Breens. Študiram multimedijo in komunikacijsko tehnologijo na Howest v Kortrijku v Belgiji. Ob koncu drugega semestra moramo izdelati napravo IoT, ki je odličen način, da vse
Sledite kakovosti zraka z uporabo Grafane in Raspberry Pi: 7 korakov
Spremljajte kakovost zraka z Grafano in Raspberry Pi: Iskal sem majhen projekt IOT in prijatelj mi je priporočil, da si ogledam to vadnico: https: //dzone.com/articles/raspberry-pi-iot-sensor … zelo sem priporočam, da sledite vadnici za nadaljevanje pri nastavitvi Raspberry Pi za spremljanje.
Spremljanje kakovosti zraka z DSM501A z LCD LCD Nokia: 7 korakov
Spremljanje kakovosti zraka z DSM501A z Nokijinim LCD -jem: Pozdravljeni prijatelji! V tem kratkem navodilu vam bom pokazal, kako spremljati kakovost zraka doma ali kjer koli.To proračunsko ceno za spremljanje kakovosti zraka je precej enostavno sestaviti
Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)
Nizkocenovni IoT monitor kakovosti zraka, ki temelji na RaspberryPi 4: Santiago, Čile v času zimske okoljske krize ima privilegij živeti v eni najlepših držav na svetu, vendar na žalost niso vse vrtnice. Čile v zimski sezoni zelo trpi zaradi onesnaženja zraka, mai