Turinys:
- 1 žingsnis: medžiagos
- 2 žingsnis: jungtys
- 3 žingsnis: 3D spausdinimas
- 4 žingsnis: kodas
- 5 veiksmas: duomenų bazė
- 6 veiksmas: prisijunkite prie „Wi-Fi“
- 7 žingsnis: viską sudėkite
- 8 žingsnis: paleiskite
Video: „AirPi“- oro kokybės jutiklis: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Ar kada susimąstėte, kodėl jums skauda galvą? O jei taip yra dėl prastos oro kokybės? Naudodami šį įrenginį galite patikrinti, ar taip yra. Šis prietaisas matuoja CO2 vertę, TVOC vertę, temperatūrą ir drėgmę. Skystųjų kristalų ekrane galite matyti tiesioginę oro kokybę ir aiškiai matyti, ar tai tampa pavojinga. Tokiu būdu galite laiku atidaryti langus.
Jei naršyklėje įvesite IP adresą, rodomą paleidžiant įrenginį, svetainė bus atidaryta. Galite pamatyti daug informacijos apie patalpų aplinką, taip pat pastarųjų minučių / valandų grafikus. Prietaisų skydelyje taip pat yra tiesioginė nuoroda ir tam tikra informacija bei patarimai.
Šį projektą atliko Howest Kortrijk, NMCT (Naujosios žiniasklaidos ir komunikacijos technologijų) studentas.
1 žingsnis: medžiagos
Tai viskas, ką nusipirkau kurdama šį projektą. Tai gana pigus projektas, atsižvelgiant į 3D spausdinimo kainą. Jei galite spausdinti jį mokykloje, tai gali būti labai pigu. Priešingu atveju tai priklauso nuo to, kur spausdinate, ir nuo medžiagos, kurioje spausdinate. Pastebėsite, kad daug pirkau urmu, vien todėl, kad sunku rasti atskirų rezistorių ar lempučių, todėl tai dar pigiau. Jei turite laiko, daugumą prekių galite užsisakyti aliexpress.com, pristatymas gali užtrukti, tačiau tokiu būdu galite apriboti savo išlaidas.
Be spaudinio pinigai, kuriuos išleidau šiam projektui, yra 81, 80 eurų.
Tai yra medžiagos, kurių jums reikia:
Grandinė:
- Raspberry Pi 3
- SD kortelė 8 GB (mažiausiai)
- CCS811 oro kokybės jutiklis
- DHT22 temperatūros ir drėgmės jutiklis
- Potenciometras (kontrastinis LCD)
- LCD 16x2
- Sujungimo laidai nuo moterų iki moterų
- Žalia ir raudona šviesos diodas
- Rezistoriai (2x 470 omų ir 1 4700 omų)
Byla:
- 3D spausdinimas
- Varžtai
- 2 komponentų klijai (arba kiti karšti klijai)
- siūlų pjovimo įrankis
Tik jūs naudojate PCB:
- Lituoklis
- Flux (palengvina)
- Alavas
- Eksperimento PCB 2x4cm
2 žingsnis: jungtys
Prijunkite laidus, kaip aprašyta aukščiau. Šaldymo faile galite pamatyti elektros grandinę. Tai nėra labai sudėtinga grandinė, bet jei norite, kad ji būtų kuo mažesnė, tikrai norite gauti eksperimentinę PCB plokštę. Laidai būtų tie patys, išskyrus tai, kad GND ir Vin bus prijungti prie PCB plokštės. Jutikliai bus prijungti moteriškais jungiamaisiais laidais arba patinais su litavimu. Nepamirškite lituoti rezistoriaus ant DHT22 jutiklio.
Taip pat rekomenduoju naudoti trumpus kabelius, 10 cm turėtų būti. Priešingu atveju dėžutė bus dar labiau užpildyta kabeliu. Jums nereikia labai ilgų, nes spaudinio dydis yra kuo mažesnis.
3 žingsnis: 3D spausdinimas
Pirma mintis, šovusi į galvą, kai galvojau apie dėklą, buvo 3D spausdinimas. Kadangi mano tėtis buvo išspausdinęs daugybę kitų daiktų ir pats juos sukūrė. Kartu sukūrėme šį dizainą ir apgalvojome visus aspektus. Jis turėtų būti pakankamai gerai atvėsęs, viską galima užsukti į vietą, o jei ne, galima įstumti į vietą.
Mes net nupiešėme kiekvieną komponentą, kad patikrintume, ar viskas tinka. Failas yra prieinamas visiems ir norėtume išgirsti atsiliepimų. Likome labai patenkinti rezultatu.
4 žingsnis: kodas
Šio projekto kodą rasite „Github“. Jei naudojote kitus kaiščius (pvz., Kitą GPIO kaištį šviesos diodams, turėsite pakoreguoti šiuos kintamuosius. Bus vykdomi du „python“scenarijai, „web.py“svetainei ir „sensor.py“, kad skaitytų jutiklius ir atnaujintų Mes importuosime klasės LCD iš lcd.py.
Naudodami sukonfigūruotą aviečių pi galite pradėti. Pirmiausia turite atnaujinti ir atnaujinti visus paketus:
sudo apt-get update && sudo apt-get upgrade
Po to turėsite įdiegti šiuos paketus:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Dabar sukurkite virtualią aplinką:
me@my -rpi: ~ $ python3 -m pip install -atnaujinti pip setuptools ratą virtualenv
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system-site-paketai env me@my-rpi: ~/project1 $ source env/bin/ aktyvuoti (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Kadangi tai padaryta, galite klonuoti kodą iš mano „GitHub“į savo virtualią aplinką. Tai galima padaryti keliais būdais.
Kataloge conf galite rasti keturis failus, kuriuos prireikus turėsite pakoreguoti. Jūs tikrai turėsite pakeisti vartotoją ir namų katalogą kiekviename faile. „UWSGI ini“turėtų būti gerai, jei nepakeitėte mano kodo, būtinai pakeiskite vartotoją ir „virtualenv“, jei reikia.
Kadangi CCS811 jutiklis buvo sąmoningai naudojamas arduino, tai negali susisiekti per i2c magistralę aviečių pi greičiu. Konfigūracijos faile turėsite sumažinti greitį iki 10000 (naudoju 9600).
Taip pat turėsite gauti adafruit jutiklio biblioteką. Galėčiau tai paaiškinti čia, bet yra puikus adafruit vadovas, kuris visa tai labai gerai paaiškina.
Kadangi norime, kad „Python“scenarijai būtų paleisti automatiškai, kai avietės yra prijungtos, turėsite naudotis paslaugomis. Jie turėtų būti gerai, jei išsaugotumėte mano kodą. Viskas, ką jums reikia padaryti, kad jie veiktų, yra juos įgalinti. Prieš tai darant, yra paskutinis dalykas.
Kadangi mes naudojame „nginx“žiniatinklio serverį, turėsime išjungti numatytąją ir pakeisti ją savo konfigūracija. Norėdami tai padaryti, turite atlikti šiuos veiksmus:
- nukopijuokite conf/nginx į *svetaines-prieinamas *
- Pašalinkite nuorodą į numatytąją konfigūraciją
- Pridėkite nuorodą prie naujos konfigūracijos
- Iš naujo paleiskite „nginx“, kad išsaugotumėte pakeitimus
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/
aš@mano-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*
„Nginx“ir „mysql“turėtų veikti visą laiką. Jie prasideda kartu su aviečių pi. Žiniatinklio scenarijus ir jutiklio scenarijus dar ne tik.
Norėdami tai padaryti, vis tiek turite įgalinti šias dvi paslaugas naudodami šias komandas:
sudo systemctl įgalinti project1-flask.service
sudo systemctl įgalinti project1-sensor.service
5 veiksmas: duomenų bazė
Mano duomenų bazę sudaro trys lentelės. Vartotojas neturi ryšio su kitomis lentelėmis. Tai naudojama tik norint prisijungti ir suteikti prieigą prie svetainės. Įjungus prietaisą, CO2 ir TVOC vertė bus įrašoma į duomenų bazę kas 50 sekundžių. Temperatūra ir drėgmė kas 5 minutes. Taip gauname aiškią praeities apžvalgą.
SQL failą rasite čia, tačiau norėdami gauti „Raspberry pi“duomenų bazę, atlikite šiuos veiksmus:
Įdiegus paketus ankstesniame žingsnyje, „mariadb/mysql“turėtų būti paleistas nedelsiant. Tai galite patikrinti naudodami šią eilutę:
me@my-rpi: ~ $ sudo systemctl status mysql
Norėdami sukurti duomenų bazę ir vartotojus, galite tiesiog paleisti „SQL“scenarijus, pateiktus „GitHub“kode. Jei tai padarėte teisingai, turėtumėte pamatyti lenteles naudodami šią komandą:
me@my-rpi: ~ $ echo 'rodyti lenteles;' | mysql project1 -t -u project1 -admin -p
Dabar esame pasiruošę, galite tai išbandyti be dėklo, kad įsitikintumėte, jog viskas veikia. Jei nesate prisijungę prie „Wi -Fi“, turėsite jį prijungti eterneto kabeliu ir paleisti rankiniu būdu.
6 veiksmas: prisijunkite prie „Wi-Fi“
„Nano“atidarykite „wpa-supplicant“konfigūracijos failą (nesvarbu, tiesiog įsitikinkite, kad galite dirbti su teksto redaktoriumi).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Eikite į failo apačią ir pridėkite:
tinklas = {
ssid = "ssid-name" psk = "slaptažodžio vardas"}
Norėdami sukurti užšifruotą slaptažodį, galite naudoti wpa_passphrase ir tiesiog nukopijuoti jį į wpa_supplicant.conf psk, kad viskas būtų saugiau.
wpa_passphrase "ssid-name" "slaptažodžio vardas"
Jei norite, kad jis automatiškai prisijungtų prie šio „Wi-Fi“tinklo, o konfigūracijos faile yra ir kitų, būtinai pakeiskite prioritetą į aukštesnį lygį, pridėdami šią eilutę prie tinklo konfigūracijos faile:
prioritetas = 2
Nepamirškite iš naujo sukonfigūruoti sąsajos:
wpa_cli -i wlan0 perkonfigūruoti
Dabar esate pasiruošę ir prisijungę prie „Wi -Fi“tinklo.
7 žingsnis: viską sudėkite
Kadangi viskas yra prijungta ir prilituota, galime patekti į korpusą. Tai buvo sukurta taip, kad galėtumėte atidaryti dėklą be laisvų laidų. Tai reiškia, kad viskas pritvirtinta prie apatinės dalies. Pirmas dalykas, kurį reikia padaryti, yra šiek tiek pakoreguoti avietę. Kiekviename kampe yra skylių, tačiau jos nėra tokios didelės, kaip turėtų būti. Skersmuo turėtų būti pakankamas, kad viduje tilptų 3 mm varžtas. Turėjome poliruoti skyles, kad jos būtų šiek tiek platesnės.
Antras dalykas, kurį reikia padaryti, yra įsukti varžtą į kiekvieną skylę. Tai gali atrodyti sunku, bet tai galima lengvai padaryti naudojant tinkamus įrankius. Aš rekomenduočiau tai padaryti vietinėje techninės įrangos parduotuvėje, tiesiog paprašykite siūlų pjovimo įrankio. Kadangi mano tėtis yra auksakalis, jis turėjo įrankių tai padaryti darbe. Galėčiau įkelti naują stl failą, kad vėliau jis būtų atspausdintas, tačiau tam reikia labai tikslaus spausdintuvo.
Trečias žingsnis yra prisukti pi ant apatinės dalies. Jums reikės 4 7 mm ilgio varžtų, kurių skersmuo yra 3 mm. Po to PCD plokštę galite įstumti į numatytą vietą apatinės dalies viršuje. CCS811 jutiklį galima įstumti į numatytą vietą kairėje pusėje, o DHT11 - pritvirtinti prie dešinės plokštės. Abu yra izoliuoti ir pakankamai vėdinami, tačiau vėliau pastebėjome, kad viduje vis dar karšta. Daugiau apie tai vėliau.
Tada turite prijungti šviesos diodus prie jų vamzdžio. Mes tai padarėme su 2 komponentų klijais, bet jūs galite tai padaryti, kaip jums patinka. Įsitikinkite, kad jie ten prilimpa.
Dabar galite pritvirtinti LCD ekraną, jums reikės varžtų, kurių skersmuo yra toks pat kaip ir ankstesnių, bet šiek tiek ilgesnis. Mano buvo 1 cm. Jei keturi varžtai yra įsukti, belieka tik vienas dalykas. Pritvirtinkite viršutinę dalį. Jums reikia tik keturių varžtų, kurių skersmuo yra 2 cm. Dabar viskas turėtų būti savo vietose ir galite pradėti.
8 žingsnis: paleiskite
Šio projekto pradinis procesas yra labai lengvas:
- Prijunkite maitinimo kabelį kairėje dėklo pusėje. Jis nelabai matomas, bet pro angas matosi. Jei jį gausite vieną kartą, tai vėl nebus problema.
- Skirkite šiek tiek laiko pradėti.
- IP adresas ekrane bus rodomas dešimt sekundžių. Vienintelis dalykas, kurį turite padaryti, yra įsitikinti, kad esate prisijungę prie to paties tinklo, ir įveskite IP adresą į savo naršyklės adreso juostą.
- Dabar esate svetainėje. Jūs dar neturite paskyros, todėl susikurkite paskyrą.
- Jei esate užsiregistravęs, prisijunkite.
- Padaryta! Visus duomenis galite pamatyti tinklalapyje, o LCD ekranas rodo esamą oro kokybę.
Pakilus šilumai, jutiklius pastatėme korpuso apačioje. Tokiu būdu temperatūra neturės didelės įtakos registruotoms vertėms. Taigi, norėdami atlikti optimalius matavimus, priverskite prietaisą atsistoti arba galite tiesiog pakabinti ant sienos.
Rekomenduojamas:
„Pasidaryk pats“kvėpavimo jutiklis su „Arduino“(laidus megztas tempimo jutiklis): 7 žingsniai (su nuotraukomis)
„Pasidaryk pats“kvėpavimo jutiklis su „Arduino“(laidus megztas tempimo jutiklis): šis „pasidaryk pats“jutiklis bus laidus megztas tempimo jutiklis. Jis apsisuks jūsų krūtinę/skrandį, o kai krūtinė/skrandis išsiplės ir susitrauks, taip pat padidės jutiklis, taigi ir įvesties duomenys, kurie bus tiekiami „Arduino“. Taigi
Sąsajos jutiklis, SPS-30, kietųjų dalelių jutiklis su „Arduino Duemilanove“naudojant I2C režimą: 5 žingsniai
Sąsajos „Sensirion“, SPS-30, kietųjų dalelių jutiklis su „Arduino Duemilanove“naudojant I2C režimą: Kai nagrinėjau SPS30 jutiklių sąsajas, supratau, kad dauguma šaltinių yra skirti „Raspberry Pi“, bet ne tiek daug „Arduino“. Aš skiriu šiek tiek laiko, kad jutiklis veiktų su „Arduino“, ir nusprendžiau čia paskelbti savo patirtį, kad ji galėtų
„Arduino“saulės energijos temperatūros ir drėgmės jutiklis kaip 433 MHz „Oregon“jutiklis: 6 žingsniai
„Arduino“saulės energijos temperatūros ir drėgmės jutiklis kaip 433 MHz „Oregon“jutiklis: tai saulės energija varomo temperatūros ir drėgmės jutiklio konstrukcija. Jutiklis imituoja 433 MHz „Oregon“jutiklį ir matomas „Telldus Net“šliuzuose. Ko jums reikia: 1x „10-LED“Saulės energijos judesio jutiklis " iš Ebay. Įsitikinkite, kad parašyta 3,7 V tešla
Jutiklinis jutiklis ir garso jutiklis, valdantys kintamosios/nuolatinės srovės lemputes: 5 žingsniai
Jutiklinis jutiklis ir garso jutiklis, valdantys kintamosios/nuolatinės srovės žibintus: tai mano pirmasis projektas, kuris veikia remiantis dviem pagrindiniais jutikliais: vienas yra jutiklinis jutiklis, o antrasis - garso jutiklis, kai paspausite jutiklinį kilimėlį ant jutiklinio jutiklio, kintamosios srovės lemputė persijungs ĮJUNGTA, jei atleisite, šviesa bus išjungta ir tas pats
JUTIKLIS SUHU DENGAN LCD DAN LED (temperatūros jutiklis su LCD ir LED): 6 žingsniai (su nuotraukomis)
JUTIKLIS SUHU DENGAN LCD DAN LED (temperatūros jutiklis su skystųjų kristalų ekranu ir šviesos diodu): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Išvestis LCD ir LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini and