Sadržaj:
- Korak 1: Materijali
- Korak 2: Veze
- Korak 3: 3D ispis
- Korak 4: Kodirajte
- Korak 5: Baza podataka
- Korak 6: Povežite se na Wi-Fi
- Korak 7: Sve spojite
- Korak 8: Pokrenite ga
Video: AirPi - senzor kvalitete zraka: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Jeste li se ikada zapitali zašto vas boli glava? A ako je to zbog loše kvalitete zraka? Pomoću ovog uređaja možete provjeriti je li to slučaj. Ovaj uređaj mjeri CO2 vrijednost, TVOC vrijednost, temperaturu i vlažnost. Kvalitetu zraka možete vidjeti uživo na LCD zaslonu i vidjeti jasnu naznaku postaje li opasan. Na ovaj način možete na vrijeme otvoriti prozore.
Ako unesete IP adresu - prikazanu prilikom pokretanja uređaja u vašem pregledniku - web stranica će se otvoriti. Možete vidjeti mnogo informacija o unutrašnjem okruženju, zajedno s grafikonima proteklih minuta / sati. Tu je i indikacija uživo i neke informacije i savjeti na nadzornoj ploči.
Ovaj projekat je napravio student Howest Kortrijk, NMCT (New Media and Communication Technology).
Korak 1: Materijali
Ovo je sve što sam kupio za stvaranje ovog projekta. Ovo je relativno jeftin projekt, ovisno o cijeni 3D ispisa. Ako možete to odštampati u školi, ovo bi moglo biti vrlo jeftino. Inače, to ovisi o mjestu na kojem ga tiskate i materijalu u kojem ga ispisujete. Primijetit ćete da sam ga kupio na veliko, jednostavno zato što je teško pronaći pojedinačne otpornike ili LED diode, što ga čini još jeftinijim. Ako imate vremena, većinu artikala možete naručiti na aliexpress.com, dostava može potrajati, ali na ovaj način možete ograničiti svoje troškove.
Bez štampe, novac koji sam potrošio na ovaj projekat je 81, 80 €.
Ovo su materijali koji su vam potrebni:
Krug:
- Raspberry Pi 3
- SD kartica 8 GB (minimalno)
- Senzor kvalitete zraka CCS811
- Senzor temperature i vlažnosti DHT22
- Potenciometar (kontrastni LCD)
- LCD 16x2
- Žice za žene sa ženskim kratkospojnicima
- Zelena i crvena LED dioda
- Otpornici (2x470ohm i 1 4700ohm)
Slučaj:
- 3D štampa
- Screws
- Dvokomponentno ljepilo (ili drugo vruće ljepilo)
- alat za rezanje navoja
Samo ako koristite PCB:
- Lemilica
- Flux (olakšava)
- Tin
- Eksperiment pcb 2x4cm
Korak 2: Veze
Spojite žice kao gore. U datoteci za fritaciju možete vidjeti električno kolo. To nije jako komplicirano kolo, ali ako želite da bude što je moguće manji, definitivno želite nabaviti eksperimentalnu PCB ploču. Ožičenje bi bilo isto, osim što će GND i Vin biti spojeni na PCB ploču. Senzori će biti povezani ženskim kratkospojnicima ili mužjacima s lemljenjem. Ne zaboravite lemiti otpornik na senzoru DHT22.
Takođe preporučujem da koristite kratke kablove, dovoljno je 10 cm. U suprotnom bi se kutija još više napunila kablom. Ne trebaju vam jako dugi otisci jer je veličina otiska što je moguće manja.
Korak 3: 3D ispis
Prvi pomisao koji mi je pao na pamet dok sam razmišljao o kućištu bio je 3D ispis. Budući da je moj tata odštampao nekoliko drugih predmeta i sam ih je dizajnirao. Zajedno smo stvorili ovaj dizajn i razmišljali o svakom aspektu. Trebalo bi biti dovoljno dobro ohlađeno, sve se može zeznuti na svoje mjesto, a ako nije, može se gurnuti na mjesto.
Čak smo izvukli svaku komponentu da provjerimo odgovara li sve. Datoteka je dostupna svima i voljeli bismo čuti povratne informacije. Bili smo jako zadovoljni rezultatom.
Korak 4: Kodirajte
Kôd za ovaj projekt možete pronaći na Githubu. Ako ste koristili druge pinove (na primjer drugi GPIO-pin za LED diode, morat ćete prilagoditi ove varijable. Bit će pokrenute dvije python skripte, web.py za web stranicu i sensor.py za čitanje senzora i ažuriranje Uvozit ćemo klasu LCD iz lcd.py.
S konfiguriranim malinovim pi možete započeti. Prije svega morate ažurirati i nadograditi sve pakete:
sudo apt-get update && sudo apt-get upgrade
Nakon toga morate instalirati sljedeće pakete:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Sada kreirajte virtualno okruženje:
me@my -rpi: ~ $ python3 -m pip install -nadogradnja pip setuptools točak virtualenv
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system-site-packages env me@my-rpi: ~/project1 $ izvor 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
Budući da je to učinjeno, možete klonirati kôd s mog GitHub -a u svoje virtualno okruženje. To se može učiniti na više načina.
U direktoriju conf možete pronaći četiri datoteke koje ćete morati prilagoditi ako je potrebno. Definitivno ćete morati promijeniti korisnički i početni direktorij u svakoj datoteci. UWSGI ini bi trebao biti u redu sve dok niste promijenili moj kôd, svakako promijenite korisnika i virtualenv ako je potrebno.
Budući da je senzor CCS811 namjerno korišten za arduino, to ne može komunicirati preko i2c sabirnice brzinom malina pi. Morat ćete smanjiti brzinu na 10000 baudrate (koristio sam 9600) u konfiguracijskoj datoteci.
Također ćete morati nabaviti biblioteku adafruit senzora. Mogao bih ovo objasniti ovdje, ali postoji savršen adafruit vodič koji sve ovo vrlo dobro objašnjava.
Budući da želimo da se python skripte automatski pokreću kada se poveže malina, morat ćete koristiti usluge. Trebali bi biti u redu ako ste zadržali moj kôd. Sve što trebate učiniti da bi se pokrenuli je omogućiti im. Prije nego što to učinite, postoji još jedna posljednja stvar.
Budući da koristimo nginx web poslužitelj, morat ćemo deaktivirati zadano i zamijeniti ga vlastitom konfiguracijom. Da biste to učinili, potrebno je slijediti ove korake:
- kopirajte conf/nginx na *web stranice dostupne *
- Uklonite vezu do default-config
- Dodajte vezu u novu konfiguraciju
- Ponovo pokrenite nginx da biste spremili promjene
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/
me@my-rpi: ~/project1 $ sudo systemctl daemon-ponovo učitaj me@my-rpi: ~/project1 $ sudo systemctl pokreni project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*
Nginx i mysql bi trebali biti pokrenuti cijelo vrijeme. Počinju zajedno sa pi od maline. Web skripta i skripta senzora ne samo još.
Da biste to učinili, još uvijek morate omogućiti ove dvije usluge s ovim naredbama:
sudo systemctl omogući project1-flask.service
sudo systemctl omogućiti project1-sensor.service
Korak 5: Baza podataka
Moja baza podataka se sastoji od tri tabele. Korisnik nema veze s drugim tablicama. Ovo se koristi samo za prijavu i odobravanje pristupa web stranici. Kada je uređaj uključen, CO2 vrijednost i TVOC vrijednost će se upisivati u bazu podataka svakih 50 sekundi. Temperatura i vlaga svakih 5 minuta. Na ovaj način dobivamo jasan pregled prošlosti.
SQL datoteka se može pronaći ovdje, ali da biste dobili bazu podataka o malini pi, slijedite ove korake:
Nakon instalacije paketa u prethodnom koraku, mariadb/mysql bi se trebao odmah pokrenuti. Ovo možete provjeriti ovom linijom:
me@my-rpi: ~ $ sudo systemctl status mysql
Da biste stvorili bazu podataka i korisnike, jednostavno pokrenite sql-skripte u kodu s GitHub-a. Ako ste ovo uradili ispravno, trebali biste vidjeti svoje tablice pomoću ove naredbe:
me@my-rpi: ~ $ echo 'prikaži tablice;' | mysql project1 -t -u project1 -admin -p
Sada smo spremni, ovo možete testirati bez kućišta kako biste bili sigurni da sve radi. Osim ako niste povezani na wifi, morat ćete ga povezati Ethernet kabelom i pokrenuti ručno.
Korak 6: Povežite se na Wi-Fi
Otvorite konfiguracijsku datoteku wpa-supplicant u nano (nije važno, samo provjerite možete li raditi s uređivačem teksta).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Idite na dno datoteke i dodajte sljedeće (zamijenite ime ssid i ime lozinke svojim):
mreža = {
ssid = "ssid-name" psk = "name-lozinke"}
Da biste stvorili šifriranu lozinku, možete koristiti wpa_passphrase i jednostavno je kopirati u psk wpa_supplicant.conf kako biste stvari učinili sigurnijima.
wpa_passphrase "ssid-name" "" password-name"
Ako želite da se automatski poveže s ovom Wi-Fi mrežom, a u konfiguracijskoj datoteci ima i drugih, svakako promijenite prioritet na viši nivo dodavanjem ove linije na mrežu u konfiguracijskoj datoteci:
prioritet = 2
Ne zaboravite ponovo konfigurirati sučelje sa:
wpa_cli -i wlan0 ponovno konfigurirajte
Sada ste spremni i povezani na WiFi mrežu.
Korak 7: Sve spojite
Budući da je sve ožičeno i lemljeno, možemo doći do kućišta. Ovo je dizajnirano tako da možete otvoriti kućište bez olabavljenih žica. To znači da je sve pričvršćeno za donji dio. Prvo što trebate učiniti je malo prilagoditi malinu. Ima rupe na svakom uglu, ali one nisu toliko velike koliko bi trebale biti. Promjer bi trebao biti dovoljan da unutra stane vijak od 3 mm. Morali smo ispolirati rupe tako da postanu malo šire.
Druga stvar koju trebate učiniti je izrezati navoj vijka u svaku rupu. Ovo može zvučati teško, ali se lako može učiniti s pravim alatom. Preporučio bih da to učinite u lokalnoj trgovini željeza, samo zatražite alat za rezanje niti. Budući da je moj tata zlatar, imao je alate za to na poslu. Možda bih postavio novu stl datoteku kako bi se kasnije ispisala, ali za to je potreban vrlo precizan pisač.
Treći korak je pričvrstiti pi na donji dio. Trebat će vam 4 vijka dugačka 7 7 mm promjera 3 mm. Nakon toga možete gurnuti PCD ploču na predviđeno mjesto na vrhu donjeg dijela. Senzor CCS811 može se ugurati na predviđeno mjesto s lijeve strane, a DHT11 se može pričvrstiti na desnu ploču. Oboje su izolirani i dovoljno prozračeni, no nakon toga smo primijetili da je unutra još vruće. Više o tome kasnije.
Zatim morate pričvrstiti LED diode na njihovu cijev. Učinili smo to s dvokomponentnim ljepilom, ali možete to učiniti kako želite. Pobrinite se da se tamo drže.
Sada možete priključiti LCD zaslon, trebat će vam vijci istog promjera kao i prethodni, ali malo duži. Moje su bile 1 cm. Ako su četiri vijka uvrnuta, preostaje samo jedna stvar koju treba učiniti. Pričvrstite gornji dio. Potrebna su vam samo četiri vijka, istog promjera i 2 cm. Sada bi sve trebalo biti na svom mjestu i možete ga pokrenuti.
Korak 8: Pokrenite ga
Proces pokretanja ovog projekta je vrlo jednostavan:
- Priključite kabel za napajanje u lijevu stranu kućišta. Nije jako vidljiv, ali možete vidjeti kroz otvore. Ako ga dobijete jednom, to više neće biti problem.
- Dajte mu malo vremena za pokretanje.
- IP adresa će se pojaviti na ekranu deset sekundi. Jedino što trebate učiniti je provjeriti jeste li povezani na istu mrežu i unijeti IP adresu u adresnu traku preglednika.
- Sada ste na web stranici. Još nemate račun pa ga otvorite.
- Ako ste registrovani, prijavite se.
- Gotovo! Sve podatke možete vidjeti na web stranici, a LCD zaslon prikazuje trenutnu kvalitetu zraka.
Budući da toplina raste, smjestili smo senzore na dnu kućišta. Na ovaj način temperatura ne bi imala veliki utjecaj na registrirane vrijednosti. Zato za optimalna mjerenja postavite uređaj da stoji ili ga jednostavno objesite na zid.
Preporučuje se:
Mjerač kvalitete zraka u zatvorenom prostoru: 5 koraka (sa slikama)
Mjerač kvalitete zraka u zatvorenom prostoru: Jednostavan projekt za provjeru kvalitete zraka u vašoj kući. Budući da u zadnje vrijeme često boravimo/radimo od kuće, možda bi bilo dobro pratiti kvalitetu zraka i podsjetiti se kada je vrijeme da otvorite prozor i udahni malo svježeg zraka
LED prikaz statusa kvalitete zraka PurpleAir: 4 koraka
PurpleAir LED prikaz statusa kvalitete zraka: S nedavnim šumskim požarima u Kaliforniji, kvaliteta zraka u San Franciscu uvelike je pogođena. Zatekli smo se kako provjeravamo PurpleAir kartu iznova i iznova na svojim telefonima ili prijenosnim računarima pokušavajući vidjeti kada je zrak dovoljno siguran da otvori pobjedu
Jednostavno praćenje kvalitete zraka s TFT LCD zaslonom-- Ameba Arduino: 3 koraka
Jednostavno praćenje kvalitete zraka s TFT LCD zaslonom-Ameba Arduino: Uvod Sada kada većina ljudi ostaje kod kuće kako bi izbjegla bliski kontakt s potencijalnim nosiocem virusa COVID-19, kvaliteta zraka postaje važan faktor za dobrobit ljudi, posebno u tropskim zemljama gdje Korišćenje klima uređaja je neophodno tokom dana
Monitor kvalitete zraka s MQ135 i vanjskim senzorom temperature i vlažnosti preko MQTT: 4 koraka
Monitor kvalitete zraka s MQ135 i vanjskim senzorom temperature i vlažnosti preko MQTT: Ovo je za potrebe testiranja
Sustav za praćenje kvalitete zraka zagađenim česticama: 4 koraka
Sustav za praćenje kvalitete zraka zagađenim česticama: INTRO: 1 U ovom projektu pokazujem kako izgraditi detektor čestica s prikazom podataka, sigurnosnom kopijom podataka na SD kartici i IOT -om. Vizuelno neopikselni prsten prikazuje kvalitet vazduha. 2 Kvalitet zraka sve je važnija briga t