Indholdsfortegnelse:
- Trin 1: Materialer: Hvad har du brug for
- Trin 2: Ledningsføring
- Trin 3: Database ved hjælp af MySQL
- Trin 4: Kodning
- Trin 5: Boliger
![Home_X: 5 trin Home_X: 5 trin](https://i.howwhatproduce.com/images/001/image-32-91-j.webp)
Video: Home_X: 5 trin
![Video: Home_X: 5 trin Video: Home_X: 5 trin](https://i.ytimg.com/vi/IumYMCllMsM/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
![Hjem_X Hjem_X](https://i.howwhatproduce.com/images/001/image-32-92-j.webp)
Jeg er studerende på Howest Kortrijk, der studerer nye medier og kommunikationsteknologi (NMCT).
Vi skulle alle lave et projekt, der var baseret på hindbær og/eller Arduino. Vi var nødt til at bruge sensorer og databaser til at vise dataene på et websted, og det var da jeg kom på ideen om at oprette et minismart hus.
Med det smarte hus vil du kunne se alle sensoraflæsninger på webstedet.
I denne instruktive guide vil jeg guide dig gennem hvert trin, så du kan genskabe dette projekt for dig selv.
Trin 1: Materialer: Hvad har du brug for
- Hindbær Pi
- DHT22
- Grove - Luftkvalitetssensor
- Grove - Gasføler (MQ2)
- Brødbræt
- Hindbær Pi T Skomager
- Han/hun Jumper Wires
- 5 mm lysdioder
- Modstande
- Træ og værktøj
- Servomotor
- GrovePi+
Du kan købe disse varer online (Ali express, amazon, kiwi elektronik …) eller i dine lokale butikker.
En detaljeret liste over dele med et link til butikkerne er angivet nedenfor i styklisten.
Trin 2: Ledningsføring
![Ledninger Ledninger](https://i.howwhatproduce.com/images/001/image-32-93-j.webp)
![Ledninger Ledninger](https://i.howwhatproduce.com/images/001/image-32-94-j.webp)
Jeg brugte Fritzing til ledningerne for at få et godt overblik over, hvordan mine ledninger skulle gøres. Jeg brugte selv en GrovePi+ til 2 af mine sensorer. Hvis du planlægger at lave dette uden en GrovePi+, skal du følge Fritzing -ordningen. Jeg sensorer virker ikke for dig. Prøv at bruge forskellige stifter.
Du kan finde Fritzing -filen herunder.
Trin 3: Database ved hjælp af MySQL
![Database ved hjælp af MySQL Database ved hjælp af MySQL](https://i.howwhatproduce.com/images/001/image-32-95-j.webp)
En af de mest vigtige opgaver, vi skulle implementere, var forbindelsen til en MySQL -database.
Hver gang en sensor får aflæsninger, eller der lyser et lys, ser du disse ændringer i databasen.
Databasen sender derefter disse data til webstedet, så brugeren også kan se dem der.
Nedenfor kan du finde min.xml -fil, hvor du har en oversigt over, hvordan databasen fungerer, men først skal du installere MySQL og kolbe på Raspberry Pi.
Kodningen af sensorerne skete via pycharm, så sørg for, at den også er installeret (på din computer).
Først skal du søge efter opdateringer og installere pakker, som denne:
sudo apt-get update && sudo apt-get upgrade
sudo apt installere -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Nu skal vi bruge et virtuelt miljø:
mig@my-rpi: ~ $ python3 -m pip installation-opgrader pip setuptools hjul virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 mig@my-rpi: ~/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/active (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Det skulle fortælle dig, at mariadb.service er aktiv.
Gå nu i pycharm til VCS> Import fra versionskontrol> GitHub en klon
Konfigurer derefter implementeringskonfigurationen til det bibliotek, du lige har oprettet, f.eks. /hjem/mig/projekt1.
Når dette er gjort, skal du gå til tolkindstillingerne og konfigurere det virtuelle miljø, du lige har oprettet, f.eks. /hjem/mig/projekt/env/bin/python. Sti -kortlægning skal også udfyldes.
Hvis du gjorde alt dette, skulle databasen allerede køre.
sudo systemctl status mysql
Nu skal vi oprette brugere til vores database, sådan:
sudo mariadb
Opret BRUGER 'project-admin'@'localhost' IDENTIFICERET MED 'adminpassword'; Opret BRUGER 'project-web'@'localhost' IDENTIFICERET MED 'webpassword'; Opret BRUGER 'project-sensor'@'localhost' IDENTIFICERET MED 'sensorpassword'; Opret DATABASE -projekt;
TILDELE ALLE PRIVILEGER PÅ projekt.* Til 'project-admin'@'localhost' MED GRANT MULIGHED; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH -PRIVILEGER;
Nu for at se vores database i pycharm skal vi oprette forbindelse.
Vi kan gøre dette ved at gå til Vis> Værktøjsvinduer> Database og klikke på den grønne "plus" -knap.
Datakilde> MySQL, og klik (hvis den findes) på knappen Download driver, der dukker op.
Gå derefter til SSH/SSL og tjek SSH. Udfyld vært/bruger/adgangskode til pi'en, og brug port 22, hvis den endnu ikke er udfyldt.
Hvis du vil have pycharm til at huske din adgangskode, skal du markere afkrydsningsfeltet "Husk adgangskode".
I fanen "Generelt" skal du udfylde localhost i host, projekt i Database og bruge projekt-admin med adgangskoden for at kunne teste forbindelsen.
For nu at gøre databasen brugbar skal du køre.sql, som jeg placerer nedenfor. Prøv at bruge importmuligheden, hvis du ikke kan importere en dumpfil, skal du tilføje tabellerne manuelt.
Når dette er gjort, skal du finde conf -biblioteket med de to.service -filer. Der skal du ændre hver seb, du finder, med navnet på den bruger, du bruger på din pi. Gruppen skal også være www-data.
Det næste trin er at starte disse tjenester på din pi, sådan:
sudo cp conf/project-*. service/etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl start projekt-*
sudo systemctl status projekt-*
Du bør se to aktive tjenester, når alt går efter planen.
Det sidste trin er at aktivere nginx.
Kontroller først for apache2 på din pi, hvis du har dette installeret, skal du slette det eller deaktivere det.
I filen nginx skal du først ændre uwsgi_pass og derefter køre disse kommandoer.
sudo cp conf/nginx/etc/nginx/sites-available/project
sudo rm/etc/nginx/sites-enabled/default
sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project
sudo systemctl genstart nginx.service
sudo systemctl status nginx.service
Nginx skal være aktiv og kørende. Hvis alt er korrekt, kan du nu surfe til din pi. Du vil først se "Hej verden", men du skal stadig ændre indholdet af den fil med min kode herunder.
Du kan aktivere tjenester, så de kører automatisk, når pi'en starter.
Når du gjorde alt dette, skal du sørge for at lægge mindst 1 hus med adresse i databasen. Du kan gøre dette med et enkelt indsæt i.
Trin 4: Kodning
![Kodning Kodning](https://i.howwhatproduce.com/images/001/image-32-96-j.webp)
![Kodning Kodning](https://i.howwhatproduce.com/images/001/image-32-97-j.webp)
Du kan downloade koden via Github:
github.com/NMCT-S2-Project-I/project-i-Tib…
Koden til sensorerne er inkluderet i filen sensor.py.
Glem ikke at ændre mit navn til dit (eller brugeren end du bruger på din pi) i servicefilerne, så de kan køre korrekt og placere min kode i de allerede eksisterende filer i din Pycharm.
Trin 5: Boliger
![Boliger Boliger](https://i.howwhatproduce.com/images/001/image-32-98-j.webp)
![Boliger Boliger](https://i.howwhatproduce.com/images/001/image-32-99-j.webp)
![Boliger Boliger](https://i.howwhatproduce.com/images/001/image-32-100-j.webp)
![Boliger Boliger](https://i.howwhatproduce.com/images/001/image-32-101-j.webp)
Jeg lavede en hurtig tegning af, hvordan jeg ville have mit hus, men dit kan se helt anderledes ud. Du skal bare sørge for at have en helhed, så servoen kan åbne og lukke et vindue.
Jeg brugte hovedsageligt en lille boremaskine og en sav til at skære træet. Jeg sørgede også for, at væggene var tykke nok, så jeg kunne placere min servo inde i dem.
Når du er færdig med dit design, og servoen er på plads, behøver du kun at forbinde sensorerne og placere pi'en inde i huset, og du er klar til at gå.
Som jeg nævnte før dit hus kan se præcis det samme ud som mit, behøver du kun at gøre plads til servoen og vinduet.
Endelig er du færdig med projektet. Jeg håber, at denne vejledning er klar nok, så du også kan lave et fantastisk smarthus som jeg gjorde.
Held og lykke.
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
![Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin](https://i.howwhatproduce.com/images/001/image-458-22-j.webp)
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
![Trin for trin pc -bygning: 9 trin Trin for trin pc -bygning: 9 trin](https://i.howwhatproduce.com/images/001/image-52-15-j.webp)
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
![Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin](https://i.howwhatproduce.com/images/001/image-227-26-j.webp)
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
![Trin-for-trin uddannelse i robotik med et sæt: 6 trin Trin-for-trin uddannelse i robotik med et sæt: 6 trin](https://i.howwhatproduce.com/images/005/image-12971-j.webp)
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
![Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin](https://i.howwhatproduce.com/images/007/image-19534-j.webp)
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)