Innholdsfortegnelse:

Home_X: 5 trinn
Home_X: 5 trinn

Video: Home_X: 5 trinn

Video: Home_X: 5 trinn
Video: ДЕТИ ЛЕДИБАГ И СУПЕР-КОТА 😱 Сказки на ночь от Маринетт Miraculous Ladybug & Cat Noir in real life 2024, Juli
Anonim
Hjem_X
Hjem_X

Jeg er student ved Howest Kortrijk som studerer New Media and Communication Technology (NMCT).

Vi måtte alle lage et prosjekt som var basert på bringebær og/eller Arduino. Vi måtte bruke sensorer og databaser for å vise dataene på et nettsted, og det var da jeg kom på ideen om å lage et minismart hus.

Med det smarte huset vil du kunne se alle sensoravlesningene på nettstedet.

I denne instruksen vil jeg guide deg gjennom hvert trinn, slik at du kan gjenskape dette prosjektet selv.

Trinn 1: Materialer: Hva trenger du

  • Bringebær Pi
  • DHT22
  • Grove - Luftkvalitetssensor
  • Grove - Gassføler (MQ2)
  • Brødbrett
  • Bringebær Pi T Skomaker
  • Stikkontakter for menn/kvinner
  • 5 mm lysdioder
  • Motstander
  • Tre og verktøy
  • Servo motor
  • GrovePi+

Du kan kjøpe disse varene online (Ali express, amazon, kiwi elektronikk …) eller i dine lokale butikker.

En detaljert liste over deler med lenke til butikkene er gitt nedenfor i styklisten.

Trinn 2: Kabling

Kabling
Kabling
Kabling
Kabling

Jeg brukte Fritzing for ledningene for å ha en fin oversikt over hvordan ledningene mine skulle gjøres. Selv brukte jeg en GrovePi+ for 2 av sensorene mine. Hvis du planlegger å lage dette uten GrovePi+, følg Fritzing -opplegget. Jeg sensorer fungerer ikke for deg. Prøv å bruke forskjellige pins.

Du finner Fritzing -filen nedenfor.

Trinn 3: Database ved hjelp av MySQL

Database ved hjelp av MySQL
Database ved hjelp av MySQL

En av de viktigste oppgavene vi måtte implementere var tilkoblingen til en MySQL -database.

Hver gang en sensor får avlesninger eller et lys tennes, ser du disse endringene i databasen.

Databasen sender deretter disse dataene til nettstedet slik at brukeren også kan se dem der.

Nedenfor finner du min.xml -fil der du har en oversikt over hvordan databasen fungerer, men først må du installere MySQL og kolbe på Raspberry Pi.

Kodingen av sensorene skjedde gjennom pycharm, så sørg for at den også er installert (på datamaskinen).

Først må du se etter oppdateringer og installere pakker, slik:

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

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Nå skal vi bruke et virtuelt miljø:

meg@my-rpi: ~ $ python3 -m pip install-oppgrader pip setuptools hjul virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@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 skal fortelle deg at mariadb.service er aktiv.

Gå nå til VCS> Importer fra versjonskontroll> GitHub en klon

Konfigurer deretter distribusjonskonfigurasjonen for katalogen du nettopp har laget, f.eks. /hjem/meg/prosjekt1.

Etter at dette er gjort, gå til tolkinnstillingene og konfigurer det virtuelle miljøet du nettopp har laget, f.eks. /home/me/project/env/bin/python. Banekartlegging må også fylles ut.

Hvis du gjorde alt dette, burde databasen allerede kjøre.

sudo systemctl status mysql

Nå må vi opprette brukere for databasen vår, slik:

sudo mariadb

OPPRETT BRUKER 'project-admin'@'localhost' IDENTIFISERT AV 'adminpassword'; OPPRETT BRUKER 'project-web'@'localhost' IDENTIFISERT MED 'webpassword'; OPPRETT BRUKER 'project-sensor'@'localhost' IDENTIFISERT MED 'sensorpassword'; LAG DATABASE -prosjektet;

TILDELE ALLE PRIVILEGER PÅ prosjekt.* Til 'project-admin'@'localhost' MED GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH -PRIVILEGER;

For å se databasen vår på pycharm må vi opprette en forbindelse.

Vi kan gjøre dette ved å gå til Vis> Verktøy Windows> Database og klikke på den grønne "pluss" -knappen.

Datakilde> MySQL og klikk (hvis tilstede) på Last ned driver -knappen som dukker opp.

Gå deretter til SSH/SSL og sjekk SSH. Fyll inn vert/bruker/passord for pi og bruk port 22 hvis den ikke er fylt ut ennå.

Hvis du vil at pycharm skal huske passordet ditt, merker du av i boksen "Husk passord".

I kategorien "Generelt" fyller du ut localhost i vert, prosjekt i Database og bruker prosjekt-admin med passordet for å kunne teste tilkoblingen.

For å gjøre databasen brukbar må du kjøre.sql som jeg plasserer nedenfor. Prøv å bruke importalternativet. Hvis du ikke kan importere en dumpfil, må du legge til tabellene manuelt.

Etter at dette er gjort må du finne conf -katalogen med de to.service -filene. Der kan du endre hver seb du finner med navnet på brukeren du bruker på pi -en din. Gruppen må også være www-data.

Det neste trinnet er å starte disse tjenestene på din pi, slik:

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl start prosjekt-*

sudo systemctl status prosjekt-*

Du bør se to aktive tjenester når alt går etter planen.

Det siste trinnet er å aktivere nginx.

Se først etter apache2 på pi -en din, hvis du har dette installert, slett det eller deaktiver det.

I filen nginx må du først endre uwsgi_pass, deretter kjøre disse kommandoene.

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 start nginx.service på nytt

sudo systemctl status nginx.service

Nginx skal være aktiv og kjører. Hvis alt er riktig, kan du nå surfe til pi -en din. Du vil se "Hei verden" først, men du må fortsatt endre innholdet i filen med koden min nedenfor.

Du kan aktivere tjenester slik at de kjøres automatisk når pi starter.

Når du gjorde alt dette, sørg for å sette minst ett hus med adresse i databasen. Du kan gjøre dette med et enkelt innlegg i.

Trinn 4: Koding

Koding
Koding
Koding
Koding

Du kan laste ned koden via Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

Koden for sensorene er inkludert i sensor.py -filen.

Ikke glem å endre navnet mitt til ditt (eller brukeren enn du bruker på pi) i tjenestefilene, slik at de kan kjøre ordentlig og plassere koden min i de allerede eksisterende filene i Pycharm.

Trinn 5: Boliger

Boliger
Boliger
Boliger
Boliger
Boliger
Boliger
Boliger
Boliger

Jeg laget en rask tegning av hvordan jeg ville ha huset mitt, men ditt kan se helt annerledes ut. Du må bare sørge for at du har en helhet slik at servoen kan åpne og lukke et vindu.

Jeg brukte hovedsakelig et lite bor og en sag for å kutte veden. Jeg sørget også for at veggene var tykke nok til at jeg kunne plassere servoen min inne i dem.

Når du er ferdig med designet og servoen er på plass, trenger du bare å koble sensorene og plassere pi -en inne i huset, og du er i gang.

Som jeg nevnte før huset ditt kan se akkurat det samme ut som mitt, trenger du bare å gjøre plass til servoen og vinduet.

Endelig er du ferdig med prosjektet. Jeg håper denne guiden er klar nok til at du også kan lage et fantastisk smarthus som jeg gjorde.

Lykke til.

Anbefalt: