Sisukord:
- Samm: materjalid
- Samm 2: Ühendused
- Samm: 3D-printimine
- 4. samm: kood
- 5. samm: andmebaas
- Samm: looge ühendus WiFi-ga
- Samm: kõik kokku panemine
- 8. samm: käivitage see
Video: AirPi - õhukvaliteedi andur: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
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
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
Ü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
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
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
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:
- 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.
- Andke alustamiseks veidi aega.
- 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.
- Olete nüüd veebisaidil. Teil pole veel kontot, nii et looge konto.
- Kui olete registreeritud, logige sisse.
- 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:
Postkasti andur Arduino abil: 4 sammu
Postkasti andur Arduino kasutamisel: Tere, ma loodan, et teil läheb kõik hästi. Täna näitan teile, kuidas arduino tahvli ja IDE abil anduriga postkasti teha. See projekt on väga lihtne ja enamik tarvikuid on saadaval enamikus kodudes. Tea, et Covid-19 on meid tabanud
Traadita PIR -andur: 4 sammu
Juhtmevaba PIR -andur: selle projekti eesmärk on teha patareidest toitev traadita liikumisandur. Seda saab kasutada häiresüsteemi, valgustuse jms jaoks. See võib patareidel mitu kuud kesta, sõltuvalt sellest, kas see käivitub sageli või mitte
DHT21 digitaalne temperatuuri ja niiskuse andur koos Arduinoga: 6 sammu
DHT21 digitaalne temperatuuri- ja niiskusandur koos Arduinoga: Selles õpetuses õpime, kuidas kasutada DHT21 niiskus- ja temperatuuriandurit koos Arduinoga ning kuvada väärtused OLED -ekraanil. Vaadake videot
Krokodilli päikese basseini andur: 7 sammu (piltidega)
Krokodilli päikese basseini andur: see juhend näitab, kuidas ehitada üsna eriline basseini andur, mis mõõdab basseini temperatuuri ja edastab selle WiFi kaudu rakendusele Blynk ja MQTT maaklerile. Ma nimetan seda "krokodilli päikesepaneeli anduriks". See kasutab Arduino programmeerimist
Arduino päikeseenergial töötav temperatuuri ja niiskuse andur kui 433 MHz Oregoni andur: 6 sammu
Arduino päikeseenergiaga töötava temperatuuri ja niiskuse andur kui 433 MHz Oregoni andur: see on päikeseenergial töötava temperatuuri ja niiskuse anduri konstruktsioon. Andur jäljendab 433 MHz Oregoni andurit ja on nähtav Telldus Net-lüüsis. Vajalik: 1x 10-LED Päikeseenergia liikumisandur " Ebayst. Veenduge, et see ütleb 3,7 V taigna