Indholdsfortegnelse:

Home_X: 5 trin
Home_X: 5 trin

Video: Home_X: 5 trin

Video: Home_X: 5 trin
Video: Machine Gun Kelly, X Ambassadors & Bebe Rexha - Home (from Bright: The Album) [Official Video] 2024, Juli
Anonim
Hjem_X
Hjem_X

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
Ledninger
Ledninger

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

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
Kodning
Kodning

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
Boliger
Boliger
Boliger
Boliger
Boliger
Boliger

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: