Satura rādītājs:

AirPi - gaisa kvalitātes sensors: 8 soļi
AirPi - gaisa kvalitātes sensors: 8 soļi

Video: AirPi - gaisa kvalitātes sensors: 8 soļi

Video: AirPi - gaisa kvalitātes sensors: 8 soļi
Video: Моновпрыск на неубиваемом моторе. Что нужно знать об эксплуатации мотора VW 1.8 Mono (AAM)? 2024, Novembris
Anonim
AirPi - gaisa kvalitātes sensors
AirPi - gaisa kvalitātes sensors

Vai esat kādreiz domājuši, kāpēc jums sāp galva? Un ja tas ir saistīts ar sliktu gaisa kvalitāti? Izmantojot šo ierīci, varat pārbaudīt, vai tas tā ir. Šī ierīce mēra CO2 vērtību, TVOC vērtību, temperatūru un mitrumu. Gaisa kvalitāti tiešraidē var redzēt LCD displejā un skaidri norādīt, vai tā kļūst bīstama. Tādā veidā jūs varat savlaicīgi atvērt logus.

Ja pārlūkprogrammā ievadāt IP adresi, kas tiek parādīta, ieslēdzot ierīci, vietne tiks atvērta. Jūs varat redzēt daudz informācijas par iekštelpu vidi, kā arī pēdējo minūšu / stundu grafikus. Informācijas panelī ir arī tieša norāde, kā arī informācija un padomi.

Šo projektu veica students Howest Kortrijk, NMCT (Jauno mediju un komunikāciju tehnoloģijas).

1. solis: materiāli

Materiāli
Materiāli

Tas ir viss, ko es nopirku, lai izveidotu šo projektu. Tas ir salīdzinoši lēts projekts atkarībā no 3D drukas izmaksām. Ja jūs to varat izdrukāt skolā, tas varētu būt ļoti lēts. Pretējā gadījumā tas ir atkarīgs no tā, kur to drukājat, un no materiāla, kurā to drukājat. Jūs pamanīsit, ka esmu daudz iepircis vairumā, vienkārši tāpēc, ka ir grūti atrast atsevišķus rezistorus vai gaismas diodes, un tas padara to vēl lētāku. Ja jums ir laiks, lielāko daļu preču varat pasūtīt vietnē aliexpress.com, piegāde var aizņemt kādu laiku, taču šādā veidā jūs varat ierobežot savus izdevumus.

Bez izdrukas nauda, ko es iztērēju šim projektam, ir € 81, 80.

Šie ir nepieciešamie materiāli:

Ķēde:

  • Raspberry Pi 3
  • SD karte 8 GB (vismaz)
  • CCS811 gaisa kvalitātes sensors
  • DHT22 temperatūras un mitruma sensors
  • Potenciometrs (LCD kontrasts)
  • LCD 16x2
  • Džempera vadi no sievietes līdz sievietei
  • Zaļā un sarkanā gaismas diode
  • Rezistori (2x470 omi un 1 4700 omi)

Lieta:

  • 3D drukāšana
  • Skrūves
  • 2 komponentu līme (vai cita karsta līme)
  • vītņu griešanas instruments

Tikai jūs izmantojat PCB:

  • Lodāmurs
  • Plūsma (atvieglo)
  • Alva
  • Eksperimenta PCB 2x4cm

2. darbība. Savienojumi

Savienojumi
Savienojumi

Pievienojiet vadus, kā norādīts iepriekš. Fritzes failā var redzēt elektrisko ķēdi. Tā nav ļoti sarežģīta shēma, bet, ja vēlaties to padarīt pēc iespējas mazāku, noteikti vēlaties iegūt eksperimenta PCB plati. Elektroinstalācija būtu tāda pati, izņemot to, ka GND un Vin tiks savienoti ar PCB plati. Sensori tiks savienoti ar sieviešu džemperu vadiem vai tēviņiem ar lodēšanu. Neaizmirstiet pielodēt DHT22 sensora rezistoru.

Es arī iesaku izmantot īsus kabeļus, 10 cm vajadzētu darīt. Pretējā gadījumā kaste būtu vēl vairāk piepildīta ar kabeli. Jums nav vajadzīgi īpaši gari, jo izdrukas izmērs ir pēc iespējas mazāks.

3. darbība: 3D drukāšana

3D drukāšana
3D drukāšana
3D drukāšana
3D drukāšana

Pirmā doma, kas man ienāca prātā, domājot par lietu, bija 3D druka. Tā kā mans tētis bija izdrukājis vairākus citus priekšmetus un pats tos noformēja. Kopā mēs izveidojām šo dizainu un pārdomājām visus aspektus. Tam vajadzētu būt pietiekami labi atdzesētam, visu var ieskrūvēt savās vietās, un, ja nē, to var ievietot vietā.

Mēs pat uzzīmējām katru komponentu, lai pārbaudītu, vai viss atbilst. Fails ir pieejams ikvienam, un mēs labprāt uzklausītu atsauksmes. Mēs bijām ļoti apmierināti ar rezultātu.

4. solis: kods

Šī projekta kodu var atrast vietnē Github. Ja esat izmantojis citas tapas (piemēram, citu GPIO tapu gaismas diodēm, jums būs jāpielāgo šie mainīgie. Būs divi python skripti, web.py vietnei un sensor.py, lai lasītu sensorus un atjauninātu Mēs importēsim klases LCD no lcd.py.

Izmantojot konfigurētu aveņu pi, varat sākt darbu. Pirmkārt, jums ir jāatjaunina un jājaunina visas paketes:

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

Pēc tam jums jāinstalē šādas paketes:

sudo apt instalēt -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Tagad izveidojiet virtuālo vidi:

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-paketes env me@my-rpi: ~/project1 $ source env/bin/ aktivizēt (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Tā kā tas ir izdarīts, jūs varat klonēt kodu no mana GitHub savā virtuālajā vidē. To var izdarīt vairākos veidos.

Katalogā conf varat atrast četrus failus, kas nepieciešamības gadījumā būs jāpielāgo. Katrā failā jums noteikti būs jāmaina lietotājs un mājas direktorijs. UWSGI ini vajadzētu būt labam, ja vien neesat mainījis manu kodu, ja nepieciešams, noteikti nomainiet lietotāju un virtualenv.

Tā kā CCS811 sensors tika apzināti izmantots arduino, tas nevar sazināties pa i2c kopni ar aveņu pi ātrumu. Konfigurācijas failā ātrums jāsamazina līdz 10000 bitu pārraides ātrumam (es izmantoju 9600).

Jums būs arī jāsaņem adafruit sensora bibliotēka. Es varētu to šeit izskaidrot, bet ir ideāls adafruit ceļvedis, kas to visu ļoti labi izskaidro.

Tā kā mēs vēlamies, lai pitona skripti darbotos automātiski, kad avenes ir pievienotas, jums būs jāizmanto pakalpojumi. Viņiem vajadzētu būt labi, ja jūs saglabājat manu kodu. Viss, kas jums jādara, lai tie darbotos, ir tos iespējot. Pirms jūs to darāt, ir viena pēdējā lieta.

Tā kā mēs izmantojam nginx tīmekļa serveri, mums būs jāatspējo noklusējums un jāaizstāj ar mūsu pašu konfigurāciju. Lai to izdarītu, ir jāveic šādas darbības:

  • kopēt conf/nginx uz *vietnes-pieejamas *
  • Noņemiet saiti uz noklusējuma konfigurāciju
  • Pievienojiet saiti jaunajai konfigurācijai
  • Restartējiet nginx, lai saglabātu izmaiņas

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

me@my-rpi: ~/project1 $ sudo systemctl dēmons-atkārtoti ielādējiet mani@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*

Nginx un mysql vajadzētu darboties visu laiku. Viņi sākas kopā ar aveņu pi. Tīmekļa skripts un sensora skripts ne tikai vēl.

Lai to izdarītu, jums joprojām ir jāiespējo šie divi pakalpojumi, izmantojot šīs komandas:

sudo systemctl iespējot projektu1-kolba.pakalpojums

sudo systemctl iespējojiet project1-sensor.service

5. darbība. Datu bāze

Datu bāze
Datu bāze

Mana datu bāze sastāv no trim tabulām. Lietotājam nav saistības ar citām tabulām. To izmanto tikai, lai pieteiktos un piešķirtu piekļuvi vietnei. Kad ierīce ir ieslēgta, CO2 un TVOC vērtība tiek ierakstīta datu bāzē ik pēc 50 sekundēm. Temperatūra un mitrums ik pēc 5 minūtēm. Tādā veidā mēs iegūstam skaidru pārskatu par pagātni.

SQL failu var atrast šeit, bet, lai iegūtu aveņu pi datu bāzi, jums jāveic šādas darbības:

Pēc pakotņu instalēšanas iepriekšējā solī mariadb/mysql nekavējoties jādarbojas. To var pārbaudīt, izmantojot šo rindu:

me@my-rpi: ~ $ sudo systemctl statuss mysql

Lai izveidotu datu bāzi un lietotājus, varat vienkārši palaist SQL skriptus GitHub kodā. Ja jūs to izdarījāt pareizi, jums vajadzētu redzēt savas tabulas, izmantojot šo komandu:

me@my-rpi: ~ $ echo 'rādīt tabulas;' | mysql project1 -t -u project1 -admin -p

Tagad mēs esam gatavi. Varat to pārbaudīt bez korpusa, lai pārliecinātos, ka viss darbojas. Ja vien neesat izveidojis savienojumu ar wifi, tas ir jāpievieno ar Ethernet kabeli un jāpalaiž manuāli.

6. darbība: izveidojiet savienojumu ar Wi-Fi

Atveriet wpa-supplicant konfigurācijas failu nano (tam nav īsti nozīmes, vienkārši pārliecinieties, vai varat strādāt ar teksta redaktoru).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodieties uz faila apakšdaļu un pievienojiet šādu informāciju (aizstājiet ssid-name un password-name ar savu):

tīkls = {

ssid = "ssid-name" psk = "paroles nosaukums"}

Lai izveidotu šifrētu paroli, varat izmantot wpa_passphrase un vienkārši nokopēt to vietnē wpa_supplicant.conf psk, lai padarītu lietas drošākas.

wpa_passphrase "ssid-name" "paroles nosaukums"

Ja vēlaties, lai tas automātiski izveidotu savienojumu ar šo Wi-Fi tīklu un konfigurācijas failā ir citi, noteikti mainiet prioritāti uz augstāku līmeni, pievienojot šo rindu tīklam konfigurācijas failā:

prioritāte = 2

Neaizmirstiet pārkonfigurēt saskarni ar:

wpa_cli -i wlan0 pārkonfigurēt

Tagad viss ir iestatīts un izveidots savienojums ar wifi tīklu.

7. solis: visu salieciet kopā

Visu salikt kopā
Visu salikt kopā
Visu salikt kopā
Visu salikt kopā
Visu salikt kopā
Visu salikt kopā

Tā kā viss ir pieslēgts vadiem un pielodēts, mēs varam nonākt pie lietas. Tas tika izstrādāts tā, lai jūs varētu atvērt korpusu bez vaļīgiem vadiem. Tas nozīmē, ka viss ir piestiprināts pie apakšējās daļas. Pirmā lieta, kas jādara, ir nedaudz pielāgoties avenēm. Katrā stūrī ir caurumi, taču tie nav tik lieli, kā vajadzētu. Diametram vajadzētu būt pietiekamam, lai tajā ievietotu 3 mm skrūvi. Mums vajadzēja pulēt caurumus tā, lai tie būtu nedaudz platāki.

Otra lieta, kas jādara, ir katrā caurumā iegriezt skrūves vītni. Tas var likties grūti, bet to var viegli izdarīt, izmantojot pareizos instrumentus. Es ieteiktu to darīt vietējā datortehnikas veikalā, vienkārši lūdziet pavedienu griešanas rīku. Tā kā mans tētis ir zeltkalis, viņam bija instrumenti, lai to izdarītu darbā. Es varētu augšupielādēt jaunu stl failu, lai tas vēlāk tiktu iespiests, taču tam būtu nepieciešams ļoti precīzs printeris.

Trešais solis ir pieskrūvēt pi uz apakšējās daļas. Jums būs nepieciešamas 4 7 mm garas skrūves ar 3 mm diametru. Pēc tam jūs varat ievietot PCD plāksni paredzētajā vietā apakšējās daļas augšpusē. CCS811 sensoru var iebīdīt paredzētajā vietā kreisajā pusē, un DHT11 var piestiprināt pie labās plāksnes. Abi ir pietiekami izolēti un vēdināmi, bet pēc tam pamanījām, ka iekšā joprojām kļūst karsti. Vairāk par to vēlāk.

Tad jums jāpiestiprina gaismas diodes pie caurules. Mēs to darījām ar 2 komponentu līmi, bet jūs to varat izdarīt, kā vēlaties. Pārliecinieties, ka tie tur pielīp.

Tagad jūs varat pievienot LCD displeju, jums būs nepieciešamas skrūves ar tādu pašu diametru kā iepriekšējām, bet nedaudz ilgāk. Manējie bija 1 cm. Ja četras skrūves ir ieskrūvētas, atliek tikai viena lieta. Pievienojiet augšējo daļu. Viss, kas Jums nepieciešams, ir četras skrūves ar vienādu diametru un tās ir 2 cm. Tagad visam vajadzētu būt savās vietās, un jūs varat to sākt.

8. darbība: sāciet to

Šī projekta uzsākšanas process ir ļoti vienkāršs:

  1. Pievienojiet strāvas kabeli korpusa kreisajā pusē. Tas nav ļoti redzams, bet jūs varat redzēt caur ventilācijas atverēm. Ja jūs to vienreiz saņemsiet, tas vairs nebūs problēma.
  2. Dodiet tam kādu laiku, lai sāktu.
  3. IP adrese displejā parādīsies desmit sekundes. Vienīgais, kas jums jādara, ir pārliecināties, vai esat izveidojis savienojumu ar to pašu tīklu, un ievadiet IP adresi pārlūkprogrammas adreses joslā.
  4. Jūs tagad atrodaties vietnē. Jums vēl nav konta, tāpēc izveidojiet kontu.
  5. Ja esat reģistrējies, piesakieties.
  6. Gatavs! Jūs varat redzēt visus datus tīmekļa vietnē, un LCD displejs parāda pašreizējo gaisa kvalitāti.

Kopš paaugstinās siltums, mēs esam novietojuši sensorus korpusa apakšā. Tādējādi temperatūra neietekmēs reģistrētās vērtības. Tāpēc optimāliem mērījumiem lieciet ierīcei piecelties vai vienkārši pakārt to pie sienas.

Ieteicams: