Innehållsförteckning:
- Steg 1: Material
- Steg 2: Anslutningar
- Steg 3: 3D-print
- Steg 4: Kod
- Steg 5: Databas
- Steg 6: Anslut till Wi-Fi
- Steg 7: Att sätta ihop allt
- Steg 8: Starta upp det
Video: AirPi - luftkvalitetssensor: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Har du någonsin undrat varför du får huvudvärk? Och om detta beror på en dålig luftkvalitet? Med den här enheten kan du kontrollera om så är fallet. Denna enhet mäter CO2-värdet, TVOC-värdet, temperaturen och luftfuktigheten. Du kan se luftkvaliteten live på LCD-displayen och se en tydlig indikation om det blir farligt. På så sätt kan du öppna dina fönster i tid.
Om du anger IP -adressen - som visas när du startar enheten i din webbläsare - öppnas webbplatsen. Du kan se mycket information om inomhusmiljön, tillsammans med diagram över de senaste minuterna / timmarna. Det finns också en live -indikation och lite information och tips på instrumentpanelen.
Detta projekt gjordes av en student vid Howest Kortrijk, NMCT (New Media and Communication Technology).
Steg 1: Material
Detta är allt jag köpte för att skapa det här projektet. Detta är ett relativt billigt projekt, beroende på kostnaden för 3D-print. Om du kan skriva ut det i skolan kan det vara väldigt billigt. Annars beror det på var du skriver ut det och materialet du trycker det i. Du kommer att märka att jag har köpt mycket i bulk, helt enkelt för att det är svårt att hitta enskilda motstånd eller lysdioder och det gör det ännu billigare. Om du har tid kan du beställa de flesta artiklarna på aliexpress.com, leveransen kan ta ett tag, men på så sätt kan du begränsa dina utgifter.
Utan trycket är pengarna jag spenderade på detta projekt 81,80 euro.
Dessa material behöver du:
Krets:
- Raspberry Pi 3
- SD -kort 8 GB (minimum)
- Luftkvalitetssensor CCS811
- DHT22 temperatur- och fuktsensor
- Potentiometer (kontrast LCD)
- LCD 16x2
- Kvinnliga till kvinnliga bygelkablar
- Grön och röd LED
- Motstånd (2x470ohm och 1 4700ohm)
Fall:
- 3D-print
- Skruvar
- 2 -komponentlim (eller annat varmt lim)
- trådskärverktyg
Endast om du använder ett kretskort:
- Lödkolv
- Flux (gör det lättare)
- Tenn
- Experiment PCB 2x4cm
Steg 2: Anslutningar
Anslut ledningarna enligt ovan. Du kan se en elektrisk krets i fritz -filen. Det är inte en mycket komplicerad krets, men om du vill göra den så liten som min möjliga, vill du definitivt få ett experiment PCB -kort. Ledningarna skulle vara desamma, förutom att GND och Vin kommer att anslutas till kretskortet. Sensorerna kommer att anslutas av honkablar eller hanar med lödning. Glöm inte att löda motståndet på DHT22 -sensorn.
Jag rekommenderar också att använda korta kablar, 10 cm borde göra. Annars skulle lådan fyllas med kabel ännu mer. Du behöver inte särskilt långa eftersom utskriftens storlek är så liten som möjligt.
Steg 3: 3D-print
Den första tanken som dök upp i mitt huvud när jag tänkte på ett fall var en 3D-print. Eftersom min pappa hade skrivit ut flera andra föremål och han designade dem själv. Tillsammans skapade vi denna design och tänkte på alla aspekter. Det ska vara tillräckligt kylt, allt kan skruvas på plats och om inte kan det skjutas på plats.
Vi ritade till och med varje komponent för att kontrollera om allt passar in. Filen är tillgänglig för alla och vi vill gärna höra lite feedback. Vi var mycket nöjda med resultatet.
Steg 4: Kod
Koden för detta projekt finns på Github. Om du har använt andra pins (till exempel en annan GPIO-pin för lysdioderna måste du justera dessa variabler. Det kommer att finnas två python-skript som körs, web.py för webbplatsen och sensor.py för att läsa sensorerna och uppdatera databasen. Vi kommer att importera klass -LCD från lcd.py.
Med en konfigurerad hallon pi kan du komma igång. Först och främst måste du uppdatera och uppgradera alla paket:
sudo apt-get update && sudo apt-get upgrade
Därefter måste du installera följande paket:
sudo apt installera -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Skapa nu en virtuell miljö:
me@my -rpi: ~ $ python3 -m pip installation -uppgradera pip setuptools hjul virtualenv
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system-site-packages env me@my-rpi: ~/project1 $ source env/bin/ aktivera (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Eftersom detta är gjort kan du klona koden från min GitHub till din virtuella miljö. Detta kan göras på flera sätt.
I katalogen conf kan du hitta fyra filer som du måste justera om det behövs. Du måste definitivt ändra användare och hemkatalog i varje fil. UWSGI ini ska vara bra så länge du inte ändrade min kod, se till att ändra användaren och virtualenv om det behövs.
Eftersom CCS811 -sensorn avsiktligt användes för arduino kan denna inte kommunicera över i2c -bussen med raspberry pi: s hastighet. Du måste sänka hastigheten till en baudrate på 10000 (jag använde 9600) i konfigurationsfilen.
Du måste också få biblioteket för adafruit -sensorn. Jag kan förklara detta här men det finns en perfekt adafruit -guide som förklarar allt detta mycket bra.
Eftersom vi vill att python -skripten ska köras automatiskt när hallon är ansluten måste du använda tjänsterna. De borde vara bra om du behåller min kod. Allt du behöver göra för att de ska köra är att aktivera dem. Innan du gör det är det en sista sak.
Eftersom vi använder en nginx -webbserver måste vi inaktivera standarden och ersätta den med vår egen konfiguration. För att göra detta bör dessa steg följas:
- kopiera conf/nginx till *tillgängliga webbplatser *
- Ta bort länken till standardkonfigurationen
- Lägg till en länk till den nya konfigurationen
- Starta om nginx för att spara ändringarna
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/
me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*
Nginx och mysql ska vara igång hela tiden. De startar tillsammans med hallon pi. Webbskriptet och sensorskriptet inte bara ännu.
För att göra detta måste du fortfarande aktivera dessa två tjänster med dessa kommandon:
sudo systemctl aktivera project1-flask.service
sudo systemctl aktivera project1-sensor.service
Steg 5: Databas
Min databas består av tre tabeller. Användaren har ingen relation till andra tabeller. Detta används endast för att logga in och ge åtkomst till webbplatsen. När enheten slås på kommer CO2-värdet och TVOC-värdet att skrivas till databasen var 50: e sekund. Temperatur och luftfuktighet var 5: e minut. På så sätt får vi en tydlig överblick över det förflutna.
SQL-filen finns här, men för att få databasen på hallon pi bör du följa dessa steg:
Efter installationen av paketen i föregående steg bör mariadb/mysql köras omedelbart. Du kan kontrollera detta med den här raden:
me@my-rpi: ~ $ sudo systemctl status mysql
För att skapa databasen och användare kan du helt enkelt köra sql-script i koden från GitHub. Om du gjorde detta korrekt borde du se dina tabeller med det här kommandot:
me@my-rpi: ~ $ echo 'visa tabeller;' | mysql project1 -t -u projekt1 -admin -p
Nu är vi klara, du kan testa detta utan fallet för att se till att allt fungerar. Om du inte är ansluten till wifi måste du ansluta den med en Ethernet -kabel och köra den manuellt.
Steg 6: Anslut till Wi-Fi
Öppna konfigurationsfilen wpa-supplicant i nano (spelar ingen roll, se bara till att du kan arbeta med textredigeraren).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Gå till botten av filen och lägg till följande (ersätt ssid-namn och lösenord-namn med ditt):
nätverk = {
ssid = "ssid-name" psk = "password-name"}
För att skapa ett krypterat lösenord kan du använda wpa_passphrase och helt enkelt kopiera det till wpa_supplicant.conf psk för att göra saker säkrare.
wpa_passphrase "ssid-name" "password-name"
Om du vill att den ska ansluta till detta Wi-Fi-nätverk automatiskt och det finns andra i konfigurationsfilen, se till att du ändrar prioriteten till en högre nivå genom att lägga till den här raden i nätverket i konfigurationsfilen:
prioritet = 2
Glöm inte att omkonfigurera gränssnittet med:
wpa_cli -i wlan0 omkonfigurera
Nu är du klar och ansluten till ett wifi -nätverk.
Steg 7: Att sätta ihop allt
Eftersom allt är kopplat och lödt kan vi komma till fallet. Detta var utformat så att du kunde öppna höljet utan några lösa ledningar. Det betyder att allt är fäst vid den nedre delen. Det första du ska göra är en liten anpassning till hallon. Den har hål i varje hörn, men de är inte så stora som de borde vara. Diametern ska räcka för att passa en 3 mm skruv inuti. Vi var tvungna att polera hålen så att de blev lite bredare.
Det andra du ska göra är att klippa en skruvgänga i varje hål. Detta kan låta svårt men kan enkelt göras med rätt verktyg. Jag skulle rekommendera att göra detta på en lokal järnaffär, bara be om ett trådskärningsverktyg. Eftersom min pappa är en guldsmed hade han verktygen för att göra detta på jobbet. Jag kan ladda upp en ny stl-fil så att den skrivs ut senare, men detta skulle behöva en mycket exakt skrivare.
Det tredje steget är att skruva pi på den nedre delen. Du behöver 4 7 mm långa skruvar med en diameter på 3 mm. Efter detta kan du skjuta in PCD -kortet på den medföljande platsen högst upp på den nedre delen. CCS811 -sensorn kan skjutas in på den angivna platsen på vänster sida och DHT11 kan fästas på den högra plattan. Båda är isolerade och ventilerade tillräckligt, men efteråt märkte vi att det fortfarande blev varmt inuti. Mer om det senare.
Sedan måste du fästa lysdioderna till deras rör. Vi gjorde detta med tvåkomponentslim men du kan göra det som du vill. Se till att de fastnar där.
Nu kan du fästa LCD-skärmen, du behöver skruvar med samma diameter som de tidigare, men lite längre. Min var 1 cm. Om de fyra skruvarna är skruvade är det bara en sak kvar att göra. Fäst den övre delen. Allt du behöver är fyra skruvar, med samma diameter och dessa är 2 cm. Nu ska allt vara på plats och du kan starta det.
Steg 8: Starta upp det
Startprocessen för detta projekt är mycket enkel:
- Anslut strömkabeln till väskans vänstra sida. Det är inte särskilt synligt men du kan se genom ventilerna. Om du fick det en gång kommer det inte att vara ett problem igen.
- Ge det lite tid att starta.
- IP-adressen visas på displayen i tio sekunder. Det enda du behöver göra är att se till att du är ansluten till samma nätverk och anger IP-adressen i webbläsarens adressfält.
- Du är nu på webbplatsen. Du har inget konto än så skapa ett konto.
- Om du är registrerad loggar du in.
- Gjort! Du kan se all data på webbsidan och LCD-displayen visar den aktuella luftkvaliteten.
Sedan värmen stiger har vi hittat sensorerna längst ner i fodralet. På så sätt skulle temperaturen inte ha någon stor inverkan på de registrerade värdena. Så för optimala mätningar, låt enheten stå upp eller så kan du helt enkelt hänga den på väggen.
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)