Përmbajtje:

AirPi - Sensori i Cilësisë së Ajrit: 8 hapa
AirPi - Sensori i Cilësisë së Ajrit: 8 hapa

Video: AirPi - Sensori i Cilësisë së Ajrit: 8 hapa

Video: AirPi - Sensori i Cilësisë së Ajrit: 8 hapa
Video: Air quality sensor on Raspberry Pi 2024, Nëntor
Anonim
AirPi - Sensori i Cilësisë së Ajrit
AirPi - Sensori i Cilësisë së Ajrit

A keni menduar ndonjëherë pse keni dhimbje koke? Dhe nëse kjo është për shkak të një cilësie të keqe të ajrit? Me këtë pajisje ju jeni në gjendje të kontrolloni nëse ky është rasti. Kjo pajisje mat vlerën e CO2, vlerën e TVOC, temperaturën dhe lagështinë. Ju mund të shihni cilësinë e ajrit drejtpërdrejt në ekranin LCD dhe të shihni një tregues të qartë nëse po bëhet i rrezikshëm. Në këtë mënyrë ju mund të hapni dritaret tuaja në kohë.

Nëse futni adresën IP - e treguar kur filloni pajisjen në shfletuesin tuaj - faqja e internetit do të hapet. Ju mund të shihni shumë informacione për mjedisin e brendshëm, së bashku me grafikët e minutave / orëve të kaluara. Ekziston gjithashtu një tregues i drejtpërdrejtë dhe disa informacione dhe këshilla në pult.

Ky projekt është bërë nga një student në Howest Kortrijk, NMCT (Media e Re dhe Teknologji Komunikimi).

Hapi 1: Materialet

Materiale
Materiale

Kjo është gjithçka që bleva për të krijuar këtë projekt. Ky është një projekt relativisht i lirë, në varësi të kostos së printimit 3D. Nëse jeni në gjendje ta printoni në shkollë kjo mund të jetë shumë e lirë. Përndryshe varet nga vendi ku e printoni dhe materiali në të cilin e printoni. Do të vini re që kam blerë shumë me shumicë, thjesht sepse është e vështirë të gjesh rezistorë ose led të veçantë dhe kjo e bën atë edhe më të lirë. Nëse keni kohë, mund të porosisni shumicën e artikujve në aliexpress.com, dorëzimi mund të zgjasë pak, por në këtë mënyrë ju mund të kufizoni shpenzimet tuaja.

Pa shtypjen, paratë që kam shpenzuar për këtë projekt janë 81,80 €.

Këto janë materialet që ju nevojiten:

Qarku:

  • Mjedër Pi 3
  • Kartë SD 8 GB (minimumi)
  • Sensori i cilësisë së ajrit CCS811
  • Sensori i temperaturës dhe lagështisë DHT22
  • Potenciometër (LCD me kontrast)
  • LCD 16x2
  • Tela bluzë nga femra në femra
  • LED e gjelbër dhe e kuqe
  • Rezistentët (2x470ohm dhe 1 4700ohm)

Rast:

  • Printim 3D
  • Vida
  • Zam 2 përbërës (ose ngjitës tjetër i nxehtë)
  • mjet për prerjen e fijeve

Vetëm nëse përdorni PCB:

  • Makine per ngjitjen e metalit
  • Fluksi (e bën më të lehtë)
  • Kallaj
  • Eksperimentoni pcb 2x4cm

Hapi 2: Lidhjet

Lidhjet
Lidhjet

Lidhni telat si më sipër. Ju mund të shihni një qark elektrik në skedarin e ngrirë. Nuk është një qark shumë i komplikuar, por nëse doni ta bëni atë sa më të vogël që të jetë e mundur, ju patjetër që dëshironi të merrni një bord PCB eksperiment. Instalimet elektrike do të jenë të njëjta, përveç se GND dhe Vin do të lidhen me tabelën e PCB. Sensorët do të lidhen nga telat e bluzave femra ose meshkujt me saldim. Mos harroni të lidhni rezistencën në sensorin DHT22.

Unë gjithashtu rekomandoj që të përdorni kabllo të shkurtër, 10 cm duhet të bëjnë. Përndryshe, kutia do të mbushej edhe më shumë me kabllo. Ju nuk keni nevojë për ato shumë të gjata pasi madhësia e printimit është bërë sa më e vogël.

Hapi 3: Printimi 3D

Printim 3D
Printim 3D
Printim 3D
Printim 3D

Mendja e parë që më doli në kokë kur po mendoja për një rast ishte një printim 3D. Meqenëse babai im kishte printuar sende të tjera shërbyese dhe ai i kishte projektuar vetë. Së bashku ne krijuam këtë dizajn dhe menduam për çdo aspekt. Duhet të ftohet mjaft mirë, gjithçka mund të vidhet në vend dhe nëse jo, mund të futet në vend.

Ne madje vizatuam çdo komponent për të kontrolluar nëse gjithçka përshtatet. Skedari është i disponueshëm për të gjithë dhe ne do të donim të dëgjonim disa reagime. Ne ishim shumë të kënaqur me rezultatin.

Hapi 4: Kodi

Kodi për këtë projekt mund të gjendet në Github. Nëse keni përdorur kunja të tjera (për shembull një kunj tjetër GPIO për LED-të, do t'ju duhet t'i rregulloni këto variabla. Do të ketë dy skenarë python, web.py për faqen në internet dhe sensor.py për të lexuar sensorët dhe përditësuar Ne do të importojmë klasën LCD nga lcd.py.

Me një pi mjedër të konfiguruar mund të filloni. Para së gjithash do t'ju duhet të azhurnoni dhe azhurnoni të gjitha paketat:

sudo apt-merrni përditësim && sudo apt-merrni përmirësim

Pas kësaj do t'ju duhet të instaloni paketat e mëposhtme:

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

Tani krijoni një mjedis virtual:

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

me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi:/project1 $ python3 -m venv --system-site-paketat env me@my-rpi:/project1 $ source env/bin/ aktivizo (env) me@my-rpi:/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Meqenëse kjo është bërë, ju mund të klononi kodin nga GitHub im në mjedisin tuaj virtual. Kjo mund të bëhet në mënyra të shumta.

Në konfigurimin e drejtorisë mund të gjeni katër skedarë që do të duhet të rregulloni nëse është e nevojshme. Ju patjetër do të duhet të ndryshoni përdoruesin dhe drejtorinë në çdo skedar. Ini uWSGI duhet të jetë mirë për sa kohë që nuk e ndryshuat kodin tim, sigurohuni që të ndryshoni përdoruesin dhe virtualenv nëse është e nevojshme.

Meqenëse sensori CCS811 u përdor qëllimisht për arduino, ky nuk mund të komunikojë mbi autobusin i2c me shpejtësinë e mjedrës pi. Ju do të duhet të zvogëloni shpejtësinë në një baudrate prej 10000 (kam përdorur 9600) në skedarin e konfigurimit.

Ju gjithashtu do të duhet të merrni bibliotekën e sensorit adafruit. Unë mund ta shpjegoj këtë këtu, por ka një udhëzues të përsosur të adafruit që i shpjegon të gjitha këto shumë mirë.

Për shkak se ne duam që skriptet python të funksionojnë automatikisht kur mjedra është e lidhur, do të duhet të përdorni shërbimet. Ata duhet të jenë mirë nëse mbani kodin tim. E tëra çfarë ju duhet të bëni që ata të funksionojnë është t'i aktivizoni ato. Para se ta bëni këtë ka një gjë të fundit.

Meqenëse ne po përdorim një server në internet nginx, do të na duhet të çaktivizojmë parazgjedhjen dhe ta zëvendësojmë atë me konfigurimin tonë. Për ta bërë këtë, duhet të ndiqni këto hapa:

  • kopjoni konf/nginx në *faqet në dispozicion *
  • Hiq lidhjen me konfigurimin e paracaktuar
  • Shtoni një lidhje në konfigurimin e ri
  • Rinisni nginx për të ruajtur ndryshimet

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

me@my-rpi: ~/project1 $ sudo systemctl daemon-ringarko mua@my-rpi:/project1 $ sudo systemctl fillo projektin1-* me@my-rpi: ~/project1 $ sudo systemctl statusin e projektit1-*

Nginx dhe mysql duhet të funksionojnë gjatë gjithë kohës. Ata fillojnë së bashku me pi mjedër. Skenari i uebit dhe skenari i sensorit jo vetëm akoma.

Për ta bërë këtë, ju ende duhet të aktivizoni këto dy shërbime me këto komanda:

sudo systemctl aktivizoni project1-flask.service

sudo systemctl mundëson projekt1-sensor.shërbim

Hapi 5: Baza e të dhënave

Baza e të dhënave
Baza e të dhënave

Baza e të dhënave të mia përbëhet nga tre tabela. Përdoruesi nuk ka asnjë lidhje me tabelat e tjera. Kjo përdoret vetëm për t'u identifikuar dhe dhënë qasje në faqen e internetit. Kur pajisja është e ndezur, vlera e CO2 dhe vlera TVOC do të shkruhen në bazën e të dhënave çdo 50 sekonda. Temperatura dhe lagështia çdo 5 minuta. Në këtë mënyrë ne marrim një pasqyrë të qartë të së kaluarës.

Skedari SQL mund të gjendet këtu, por për të marrë bazën e të dhënave në mjedër pi, duhet të ndiqni këto hapa:

Pas instalimit të paketave në hapin e mëparshëm, mariadb/mysql duhet të funksionojë menjëherë. Ju mund ta kontrolloni këtë me këtë rresht:

me@my-rpi: status $ sudo systemctl status mysql

Për të krijuar bazën e të dhënave dhe përdoruesit, thjesht mund të ekzekutoni skriptet sql në kodin nga GitHub. Nëse e keni bërë këtë në mënyrë korrekte, duhet të shihni tabelat tuaja duke përdorur këtë komandë:

me@my-rpi: ~ $ echo 'shfaq tavolina;' | mysql project1 -t -u project1 -admin -p

Tani jemi gati, ju mund ta provoni këtë pa rast për t'u siguruar që gjithçka funksionon. Nëse nuk jeni të lidhur me wifi, do t'ju duhet ta lidhni atë me një kabllo ethernet dhe ta përdorni me dorë.

Hapi 6: Lidhuni me Wi-Fi

Hapni skedarin e konfigurimit wpa-supplicant në nano (nuk ka shumë rëndësi, thjesht sigurohuni që të punoni me redaktuesin e tekstit).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Shkoni në fund të skedarit dhe shtoni sa vijon (zëvendësoni emrin ssid dhe emrin e fjalëkalimit me tuajin):

rrjet = {

ssid = "ssid-name" psk = "emri i fjalëkalimit"}

Për të krijuar një fjalëkalim të koduar mund të përdorni wpa_passphrase dhe thjesht ta kopjoni në wpa_supplicant.conf psk për t'i bërë gjërat më të sigurta.

wpa_passphrase "ssid-name" "password-name"

Nëse dëshironi që ajo të lidhet automatikisht me këtë rrjet Wi-Fi, dhe ka të tjerë në skedarin e konfigurimit, sigurohuni që të ndryshoni përparësinë në një nivel më të lartë duke shtuar këtë linjë në rrjet në skedarin e konfigurimit:

prioritet = 2

Mos harroni të konfiguroni ndërfaqen me:

wpa_cli -i wlan0 rikonfiguro

Tani jeni gati dhe jeni lidhur me një rrjet wifi.

Hapi 7: Vendosja e gjithçkaje së bashku

Vendosja e gjithçkaje së bashku
Vendosja e gjithçkaje së bashku
Vendosja e gjithçkaje së bashku
Vendosja e gjithçkaje së bashku
Vendosja e gjithçkaje së bashku
Vendosja e gjithçkaje së bashku

Meqenëse gjithçka është e lidhur dhe e bashkuar, ne mund të shkojmë te çështja. Kjo u krijua në mënyrë që të hapni kutinë pa tela të lirshëm. Kjo do të thotë që gjithçka është ngjitur në pjesën e poshtme. Gjëja e parë që duhet bërë është një përshtatje e vogël me mjedrën. Ka vrima në çdo cep, por këto nuk janë aq të mëdha sa duhet të jenë. Diametri duhet të jetë i mjaftueshëm për të vendosur një vidë 3 mm brenda. Ne duhej të lustronim vrimat në mënyrë që ato të bëheshin pak më të gjera.

Gjëja e dytë për të bërë është prerja e një fije vidë në secilën vrimë. Kjo mund të tingëllojë e vështirë, por mund të bëhet lehtësisht me mjetet e duhura. Unë do të rekomandoja ta bëni këtë në një dyqan lokal të pajisjeve, thjesht kërkoni një mjet për prerjen e fijeve. Meqenëse babai im është një argjendar ai kishte mjetet për ta bërë këtë në punë. Mund të ngarkoj një skedar të ri stl në mënyrë që të printohet më vonë, por kjo do të kishte nevojë për një printer shumë të saktë.

Hapi i tretë është të vidhosni pi në pjesën e poshtme. Ju do të keni nevojë për 4 vida të gjata 7 mm me një diametër prej 3 mm. Pas kësaj ju mund ta fusni bordin e PCD në vendin e dhënë në krye të pjesës së poshtme. Sensori CCS811 mund të futet në vendin e dhënë në anën e majtë dhe DHT11 mund të ngjitet në pllakën e djathtë. Të dy janë të izoluar dhe të ajrosur mjaftueshëm, por më pas vumë re se akoma po nxehej brenda. Më shumë për këtë më vonë.

Pastaj ju duhet të bashkëngjitni LED -të në tubin e tyre. Ne e bëmë këtë me zam 2 përbërës, por ju mund ta bëni atë sipas dëshirës tuaj. Sigurohuni që të rrinë aty.

Tani mund të lidhni ekranin LCD, do t'ju duhet vida me të njëjtin diametër si ato të mëparshmet, por pak më të gjatë. I imi ishte 1 cm. Nëse të katër vidhat janë vidhosur, mbetet vetëm një gjë për të bërë. Bashkangjit pjesën e sipërme. Gjithçka që ju nevojitet janë katër vida, me të njëjtin diametër dhe këto janë 2cm. Tani gjithçka duhet të jetë në vend dhe ju mund ta filloni.

Hapi 8: Filloni

Procesi i fillimit të këtij projekti është shumë i thjeshtë:

  1. Bashkojeni kabllon e rrymës në anën e majtë të kutisë. Nuk është shumë e dukshme, por mund të shihni përmes shfrynave. Nëse e keni marrë një herë, ky nuk do të jetë problem përsëri.
  2. Jepini pak kohë për të filluar.
  3. Adresa IP do të shfaqet në ekran për dhjetë sekonda. E vetmja gjë që duhet të bëni është të siguroheni që jeni lidhur me të njëjtin rrjet dhe të futni adresën IP në shiritin e adresave të shfletuesit tuaj.
  4. Tani jeni në faqen e internetit. Ju nuk keni ende një llogari, kështu që krijoni një llogari.
  5. Nëse jeni regjistruar, regjistrohuni.
  6. U krye! Ju mund të shihni të gjitha të dhënat në faqen në internet dhe ekrani LCD tregon cilësinë aktuale të ajrit.

Meqenëse ngrohja rritet, ne kemi vendosur sensorët në pjesën e poshtme të kutisë. Në këtë mënyrë temperatura nuk do të ketë ndikim të madh në vlerat e regjistruara. Pra, për matje optimale, bëni që pajisja të ngrihet ose thjesht mund ta varni në mur.

Recommended: