Sisukord:

AirPi - õhukvaliteedi andur: 8 sammu
AirPi - õhukvaliteedi andur: 8 sammu

Video: AirPi - õhukvaliteedi andur: 8 sammu

Video: AirPi - õhukvaliteedi andur: 8 sammu
Video: Jaguar F-Type (2019) 2.0 RWD show walkaround - Интерьер, Экстерьер, Звук выхлопа 2024, November
Anonim
AirPi - õhukvaliteedi andur
AirPi - õhukvaliteedi andur

Kas olete kunagi mõelnud, miks teil peavalu tekib? Ja kui see on tingitud halvast õhukvaliteedist? Selle seadmega saate kontrollida, kas see on nii. See seade mõõdab CO2 väärtust, TVOC väärtust, temperatuuri ja niiskust. Näete õhukvaliteeti otse LCD-ekraanilt ja näete selget märget, kui see muutub ohtlikuks. Nii saate oma aknad õigeaegselt avada.

Kui sisestate oma brauseris seadme käivitamisel kuvatud IP -aadressi, avaneb veebisait. Näete palju teavet sisekeskkonna kohta koos viimaste minutite / tundide graafikutega. Armatuurlaual on ka reaalajas näidustus ning teave ja näpunäited.

Selle projekti tegi õpilane Howest Kortrijkis, NMCT (uus meedia ja kommunikatsioonitehnoloogia).

Samm: materjalid

Materjalid
Materjalid

See on kõik, mida ma selle projekti loomiseks ostsin. See on suhteliselt odav projekt, sõltuvalt 3D-printimise maksumusest. Kui saate seda koolis printida, võib see olla väga odav. Vastasel juhul sõltub see sellest, kuhu te selle prindite ja millisest materjalist te seda prindite. Märkate, et ostsin palju lahtiselt, lihtsalt sellepärast, et on raske leida üksikuid takisteid või LED -e ning see muudab selle veelgi odavamaks. Kui teil on aega, saate enamiku esemeid tellida saidilt aliexpress.com, kohaletoimetamine võib veidi aega võtta, kuid nii saate oma kulusid piirata.

Ilma trükita on selle projekti jaoks kulutatud raha 81, 80 eurot.

Need on vajalikud materjalid:

Ahel:

  • Vaarika Pi 3
  • SD -kaart 8 GB (vähemalt)
  • CCS811 õhukvaliteedi andur
  • DHT22 temperatuuri ja niiskuse andur
  • Potentsiomeeter (kontrastne LCD)
  • LCD 16x2
  • Naissoost naissoost hüppajajuhtmed
  • Roheline ja punane LED
  • Takistid (2x470 oomi ja 1 4700 oomi)

Juhtum:

  • 3D-print
  • Kruvid
  • Kahekomponentne liim (või muu kuumliim)
  • niidi lõikamise tööriist

Ainult teie kasutate PCB -d:

  • Jootekolb
  • Flux (muudab lihtsamaks)
  • Tina
  • Katse PCB 2x4cm

Samm 2: Ühendused

Ühendused
Ühendused

Ühendage juhtmed ülaltoodud viisil. Fritsimisfailis näete elektriskeemi. See ei ole väga keeruline vooluring, kuid kui soovite selle võimalikult väikeseks muuta, soovite kindlasti saada katselise trükkplaadi. Juhtmestik oleks sama, välja arvatud see, et GND ja Vin ühendatakse trükkplaadiga. Andurid ühendatakse naissoost hüppajajuhtmete või jootmisega isastega. Ärge unustage DHT22 anduri takisti jootmist.

Samuti soovitan kasutada lühikesi kaableid, 10 cm peaks sobima. Vastasel juhul oleks kast veelgi rohkem kaabliga täidetud. Te ei vaja väga pikki, kuna trükise suurus on võimalikult väike.

Samm: 3D-printimine

3D-print
3D-print
3D-print
3D-print

Esimene mõte, mis mulle pähe kerkis, kui juhtumile mõtlesin, oli 3D-print. Kuna mu isa oli printinud välja palju muid esemeid ja kujundas need ise. Koos lõime selle disaini ja mõtlesime iga aspekti üle. See peaks olema piisavalt hästi jahutatud, kõik saab oma kohale keerata ja kui ei, siis saab selle oma kohale lükata.

Me isegi joonistasime kõik komponendid, et kontrollida, kas kõik sobib. Fail on kõigile kättesaadav ja me tahaksime kuulda tagasisidet. Jäime tulemusega väga rahule.

4. samm: kood

Selle projekti koodi leiate Githubist. Kui olete kasutanud teisi kontakte (näiteks LED-ide jaoks teist GPIO-nööpi, peate neid muutujaid kohandama. Andurite lugemiseks ja värskendamiseks käivitatakse kaks pythoni skripti, veebisait web.py ja sensor.py Me impordime klassi LCD ekraanilt lcd.py.

Seadistatud vaarika pi abil saate alustada. Kõigepealt peate värskendama ja täiendama kõiki pakette:

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

Pärast seda peate installima järgmised paketid:

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

Nüüd looge virtuaalne keskkond:

me@my -rpi: ~ $ python3 -m pip install -uuenda pip setuptools ratas virtualenv

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

Kuna see on tehtud, saate kloonida koodi minu GitHubist oma virtuaalsesse keskkonda. Seda saab teha mitmel viisil.

Kataloogist conf leiate neli faili, mida peate vajadusel kohandama. Kindlasti peate igas failis vahetama kasutajat ja kausta. UWSGI ini peaks olema korras, kui te pole minu koodi muutnud, muutke vajadusel kasutajat ja virtualenv.

Kuna arduino jaoks kasutati tahtlikult CCS811 andurit, ei saa see vaarika pi kiirusel i2c -siini kaudu suhelda. Konfiguratsioonifailis peate kiiruse vähendama 10000 baudini (ma kasutasin 9600).

Peate hankima ka adafruit sensori kogu. Ma võiksin seda siin selgitada, kuid seal on täiuslik adafruit -juhend, mis selgitab seda kõike väga hästi.

Kuna me tahame, et püütoni skriptid töötaksid automaatselt, kui vaarikas on ühendatud, peate teenuseid kasutama. Need peaksid olema korras, kui hoiate minu koodi alles. Nende käivitamiseks peate vaid lubama. Enne seda teete veel ühe viimase asja.

Kuna kasutame nginxi veebiserverit, peame vaikimisi deaktiveerima ja asendama selle oma konfiguratsiooniga. Selleks tuleks järgida neid samme:

  • kopeeri conf/nginx *saidid-saadaval *
  • Eemaldage link vaikeseadistustele
  • Lisage link uuele konfiguratsioonile
  • Muudatuste salvestamiseks taaskäivitage nginx

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

mina@minu-rpi: ~/project1 $ sudo systemctl deemon-laadige mind uuesti@my-rpi: ~/project1 $ sudo systemctl käivitage projekt1-* mina@my-rpi: ~/project1 $ sudo systemctl olek project1-*

Nginx ja mysql peaksid alati töötama. Nad alustavad koos vaarika pi. Veebiskript ja anduriskript mitte alles.

Selleks peate ikkagi need kaks teenust nende käskudega lubama:

sudo systemctl lubab project1-flask.service

sudo systemctl lubab project1-sensor.service

5. samm: andmebaas

Andmebaas
Andmebaas

Minu andmebaas koosneb kolmest tabelist. Kasutajal pole mingit seost teiste tabelitega. Seda kasutatakse ainult veebisaidile sisselogimiseks ja juurdepääsu võimaldamiseks. Seadme sisselülitamisel kirjutatakse CO2 ja TVOC väärtus andmebaasi iga 50 sekundi järel. Temperatuur ja niiskus iga 5 minuti järel. Nii saame selge ülevaate minevikust.

SQL-faili leiate siit, kuid vaarika pi andmebaasi saamiseks järgige neid samme:

Pärast eelmises etapis pakettide installimist peaks mariadb/mysql kohe töötama. Seda saate kontrollida selle rea abil:

mina@minu-rpi: ~ $ sudo systemctl olek mysql

Andmebaasi ja kasutajate loomiseks võite lihtsalt käivitada GitHubi koodis olevad SQL-skriptid. Kui tegite seda õigesti, peaksite oma tabeleid nägema selle käsu abil:

me@my-rpi: ~ $ echo 'näita tabeleid;' | mysql project1 -t -u project1 -admin -p

Nüüd oleme kõik valmis. Saate seda ilma ümbriseta testida, et veenduda, kas kõik töötab. Kui te pole WiFi -ga ühendatud, peate selle Etherneti kaabli abil ühendama ja käsitsi käivitama.

Samm: looge ühendus WiFi-ga

Avage npa-s wpa-taotleja konfiguratsioonifail (pole tegelikult oluline, lihtsalt veenduge, et saaksite tekstiredaktoriga töötada).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Minge faili lõppu ja lisage järgmine (asendage ssid-nimi ja parool-nimi omaga):

võrk = {

ssid = "ssid-name" psk = "parool-nimi"}

Krüptitud parooli loomiseks võite kasutada funktsiooni wpa_passphrase ja lihtsalt selle turvalisemaks muutmiseks kopeerida selle faili wpa_supplicant.conf.

wpa_passphrase "ssid-name" "parooli-nimi"

Kui soovite, et see selle Wi-Fi-võrguga automaatselt ühenduse looks ja konfiguratsioonifailis on ka teisi, muutke kindlasti prioriteet kõrgemale tasemele, lisades konfiguratsioonifaili võrku selle rea:

prioriteet = 2

Ärge unustage liidest uuesti konfigureerida:

wpa_cli -i wlan0 uuesti seadistada

Nüüd olete kõik seadistatud ja WiFi -võrguga ühendatud.

Samm: kõik kokku panemine

Kõike kokku pannes
Kõike kokku pannes
Kõike kokku pannes
Kõike kokku pannes
Kõike kokku pannes
Kõike kokku pannes

Kuna kõik on juhtmega ühendatud ja joodetud, võime juhtumi juurde jõuda. See oli konstrueeritud nii, et saaksite korpuse avada ilma lahtiste juhtmeteta. See tähendab, et kõik on alumise osa külge kinnitatud. Esimese asjana tuleb vaarikaga veidi kohaneda. Sellel on iga nurga peal augud, kuid need pole nii suured kui peaksid. Läbimõõt peaks olema piisav, et mahutada sisse 3 mm kruvi. Pidime augud poleerima nii, et need muutuksid veidi laiemaks.

Teine asi, mida teha, on igasse auku kruvikeerme lõikamine. See võib tunduda raske, kuid seda saab hõlpsasti teha õigete tööriistadega. Soovitaksin seda teha kohalikus ehituspoes, küsige lihtsalt niidi lõikamise tööriista. Kuna mu isa on kullassepp, oli tal tööl selleks vahendid. Võin üles laadida uue stl-faili, et see hiljem trükitaks, kuid see vajaks väga täpset printerit.

Kolmas samm on kruvida pi alumisele osale. Te vajate 4 7 mm pikkuseid kruvisid läbimõõduga 3 mm. Pärast seda saate PCD plaadi suruda alumise osa ülaosas ettenähtud kohta. CCS811 anduri saab lükata vasakul küljel ettenähtud kohta ja DHT11 kinnitada parema plaadi külge. Mõlemad on isoleeritud ja piisavalt ventileeritud, kuid hiljem märkasime, et sees läheb veel kuumaks. Sellest lähemalt hiljem.

Seejärel peate valgusdioodid nende toru külge kinnitama. Me tegime seda kahekomponendilise liimiga, kuid saate seda teha nii, nagu soovite. Veenduge, et need jäävad sinna kinni.

Nüüd saate LCD-ekraani kinnitada, vajate sama läbimõõduga kruvisid kui eelmised, kuid veidi kauem. Minu omad olid 1 cm. Kui neli kruvi sisse keerata, jääb üle vaid üks asi. Kinnitage ülemine osa. Teil on vaja ainult nelja sama läbimõõduga kruvi, mille läbimõõt on 2 cm. Nüüd peaks kõik paigas olema ja võite alustada.

8. samm: käivitage see

Selle projekti käivitamine on väga lihtne:

  1. Kinnitage toitekaabel korpuse vasakusse serva. See pole eriti nähtav, kuid ventilatsiooniavadest on näha. Kui saate selle üks kord kätte, pole see enam probleem.
  2. Andke alustamiseks veidi aega.
  3. IP-aadress kuvatakse ekraanil kümneks sekundiks. Ainus asi, mida peate tegema, on veenduda, et olete ühendatud sama võrguga, ja sisestada IP-aadress brauseri aadressiribale.
  4. Olete nüüd veebisaidil. Teil pole veel kontot, nii et looge konto.
  5. Kui olete registreeritud, logige sisse.
  6. Valmis! Veebilehel näete kõiki andmeid ja LCD-ekraan näitab praegust õhukvaliteeti.

Kuna soojus tõuseb, oleme andurid paigutanud korpuse põhja. Nii ei mõjuta temperatuur registreeritud väärtusi oluliselt. Nii et optimaalsete mõõtmiste jaoks pange seade püsti või võite selle lihtsalt seinale riputada.

Soovitan: