Innholdsfortegnelse:

Smart vekkerklokke: 13 trinn
Smart vekkerklokke: 13 trinn

Video: Smart vekkerklokke: 13 trinn

Video: Smart vekkerklokke: 13 trinn
Video: 11 ОСОБЕННОСТЕЙ ТУРЕЦКИХ МУЖЧИН // Секреты счастливых отношений с мужем - турком / Турецкие мужчины 2024, November
Anonim
Smart vekkerklokke
Smart vekkerklokke

Hei, jeg heter Alexandra Christiaens og studerer medie- og kommunikasjonsteknologi på Howest i Kortrijk, Belgia.

Som skoleoppgave måtte vi lage en IoT -enhet. Vi ble oppfordret til å gjøre noe som ville gjøre en forskjell i enten vårt eget liv eller i livet til mennesker vi kjenner. Jeg syntes det var ganske vanskelig å finne et prosjekt, og da jeg prøvde å søke etter et passende prosjekt, tenkte jeg ofte: "Jeg er for sliten for dette." Så til slutt innså jeg at dette kan være prosjektet mitt: Jeg skulle lage en smart vekkerklokke som både ville hjelpe meg med å stå opp om morgenen og hjelpe meg å komme meg i seng i tide på kvelden. Siden kravene til denne oppgaven dikterte at vi skulle bruke en Raspberry Pi til å kjøre alt på, bestemte jeg meg for å kalle enheten min "Sleepi" som et ordspill.

Hvis du vil lage denne enheten selv og få en anstendig soverutine som meg, så sjekk ut denne praktiske guiden jeg skrev nedenfor. Hvis du vil vite mer om meg og andre prosjekter jeg har laget eller kommer til å gjøre, sjekk ut porteføljen min.

Trinn 1: Trinn 1: Samle komponentene

Trinn 1: Samle komponentene
Trinn 1: Samle komponentene
Trinn 1: Samle komponentene
Trinn 1: Samle komponentene
Trinn 1: Samle komponentene
Trinn 1: Samle komponentene

Så, først og fremst, la oss sørge for at vi har alt vi trenger før vi begynner å bygge. Jeg laget en liste over de viktigste komponentene. Under finner du en pdf med mer detaljert informasjon om komponentene.

- 1 x Raspberry Pi 3 modell B

- 1 x (tomt) microSD -kort og adapter (jeg har et 16 GB kort, men 8 GB er nok)

- 1 x 5V strømforsyning for Raspberry Pi

- 1 x ethernet -kabel

- 2 x 9V batterier

- 2 x 9V batteriklips

- 1 x GPIO 40 -pinners ekspansjonskort og regnbuekabel

- 2 x BB830 loddfritt plug-in brød

- 1 x Arduino Uno

- 1 x 0,56 tommer 4*7 segment display

- 1x DS18B20 temperatursensor

- 1 x TSL2561 lysstyrkesensor

- 1 x 1602A LCD-skjerm

- 1 x nivåomformer

- 1 x SN74HC595N skiftregister

- 1 x roterende encoder

- 1 x potensiometer

- 1 x Power RGB LED

- 1 x høyttaler

- 4 x 337B transistorer

- 1 x diode

- 1 x knapp

- 3 x xl4005 31 LED -driver

- 7 x motstander (2 x 10k Ohm, 4 x 1k Ohm, 1 x 470 Ohm)

- Ulike jumper wire kabler (mann til mann og mann til hunn)

Valgfri:

- 1 x multiplex trepanel (jeg brukte en med følgende målinger som var mer enn nok: 860 mm x 860 mm x 5 mm)

- Ulike verktøy for trebearbeiding

- Akrylmaling i en farge du liker

Trinn 2: Trinn 2: Skjemaer

Trinn 2: Skjemaer
Trinn 2: Skjemaer

Etter å ha samlet alle komponentene, kunne jeg begynne å koble til alt. Først lagde jeg en Fritzing -skjema for å sikre at jeg ikke ville steke noen komponenter ved å koble dem feil. Etter noen tilbakemeldinger fra lærerne mine, gjorde jeg noen korreksjoner som resulterte i følgende skjematiske diagram og koblingsskjema:

De fleste GPIO -pinnene er utskiftbare, så du kan bytte noen av dem hvis du vil. Ikke glem å endre PIN -numrene i koden tilsvarende.

Noen elementer må imidlertid være koblet til visse pinner. Kontroller at lyssensoren er koblet til henholdsvis GPIO 23 (SDA) og GPIO 24 (SCL). Jeg forklarer hvorfor dette er viktig i trinn 5.

Trinn 3: Trinn 3: Oppsett av Raspberry Pi

Nå er det på tide å sette opp vår Pi:

1. Sett inn microSD -kortet i adapteren og koble det til datamaskinen.

Hvis microSD -kortet ditt ikke er tomt, må du formatere det først via din foretrukne metode.

2. Installer Raspbian OS -programvaren fra Raspberry pi -nettstedet.

Last ned ZIP -filen og pakk den ut til ønsket sted.

3. Last ned Win32 -diskbehandling.

Klikk på mappeikonet for å velge bildet Velg din microSD ved "Enhet" Klikk på "Skriv"

Når bildet er skrevet på MicroSD -kortet, kan du åpne det i Windows Utforsker.

Åpne filen "cmdline.txt" På slutten av filen legger du til følgende tekstlinje: ip = 169.254.10.1 Sørg for at alt er på samme linje. Lagre filen.

Ta ut MicroSD -kortet fra datamaskinen. Sørg for at strømmen til Pi er slått av og sett kortet inn i din Raspberry Pi.

Koble en ethernet -kabel til Pi og datamaskinen.

Koble din Pi til strøm med en 5, 2V strømadapter.

Trinn 4: Trinn 4: Koble til Raspberry Pi

Trinn 4: Koble til Raspberry Pi
Trinn 4: Koble til Raspberry Pi

Å koble

Pi med datamaskinen vår, bruker vi Putty.

1. Installer Putty og åpne den.

2. Fyll ut IP -adressen og porten som vist på bildet, og klikk "åpne".

3. Logg inn med følgende standardinnstillinger:

en. Brukernavn: pi

b. Passord: bringebær

4. Slik konfigurerer du WiFi:

en. Sudo nano /etc/wpa_supllicant/wpa_supllicant.conf

b. Legg til disse linjene nederst i filen:

Jeg. Nettverk = {

ii. ssid =”Fyll inn navnet på det trådløse nettverket”

iii. psk =”Fyll inn passord for det trådløse nettverket”

iv. }

c. Lukk filen og lagre den

5. Skriv inn følgende kommando for å finne ut IP -adressen til Pi: ifconfig wlan0

6. Du kan nå bruke denne IP -adressen i Putty til å opprette en trådløs tilkobling (se ovenfor).

Trinn 5: Trinn 5: Endre innstillinger med Raspi-config

Nå må vi sørge for at Pi kan kommunisere med alle komponentene våre.

Vi vil endre noen innstillinger i raspi-config

Åpne raspi-config med kommandoen:

sudo raspi-config

2. Velg 4 lokaliseringsalternativer.

3. Velg I2 Endre tidssone.

4. Endre tidssonen til din lokale tidssone og avslutt for å gå tilbake til raspi-config.

5. Velg 5 grensesnittalternativer.

6. Velg P5 I2C.

7. Aktiver I2C -kommunikasjon.

8. Velg 5 grensesnittalternativer

9. Velg P6 Serial

10. Deaktiver påloggingsskall.

11. Aktiver seriekommunikasjon

Trinn 6: Trinn 6: Endre innstillinger i /boot/config.txt

Nå må vi omkonfigurere noen ting i filen /boot/config.txt

1. Få tilgang til filen:

sudo nano /boot/config.txt

2. Nederst bør du se:

enable_uart = 1

Dette er fordi vi aktiverte den serielle porten tidligere.

3. Legg til følgende to linjer:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, buss = 3

Raspberry Pi 3 har 2 serielle porter: en seriell port for maskinvare og en seriell port for programvare. Med den første kommandoen tilordner vi programvarens serielle port til Bluetooth -funksjonen og tildeler maskinvarens serielle port til Rx- og Tx -pinnene som vi bruker til å kommunisere med Arduino.

Den andre linjen aktiverer en programvare I²C -buss på Pi. Dette er fordi maskinvaren I²C -bussen noen ganger gir feil når sensoren som er koblet til denne I²C -bussen bruker klokkestrekning. Programvaren I²C -bussen vil automatisk være aktiv på GPIO 23 (SDA) og GPIO 4 (SCL), og derfor var det så viktig å koble til lysstyrkesensoren som bruker I²C til å sende data.

Trinn 7: Trinn 7: Legg brukeren til de riktige gruppene

Til slutt legger du brukeren til noen grupper:

1. Sjekk hvilke grupper din nåværende bruker tilhører:

grupperer ditt_brukernavn

2. For at alle funksjoner skal fungere, må brukeren tilhøre følgende grupper:

adm dialout sudo input netdev gpio i2c spi ·

Om nødvendig kan du legge til brukeren i de aktuelle gruppene:

sudo adduser ditt_brukernavn gruppenavn

Trinn 8: Trinn 8: Database

Trinn 8: Database
Trinn 8: Database
Trinn 8: Database
Trinn 8: Database
Trinn 8: Database
Trinn 8: Database

For å kunne lagre de forskjellige alarmtidene som ble angitt av brukeren og de forskjellige verdiene til sensorene, måtte jeg lage en database. Du kan se databaseskematikken ovenfor.

For å legge til databasen til Raspberry Pi, gjør du følgende:

1. Gjør en tilkobling gjennom Putty

2. Oppdater MySQL

sudo apt-get oppdatering

sudo apt-get install mysql-server --fix-missing -y

sudo omstart

3. Sikre MariaDB

sudo mysql_secore_installation

4. Logg inn på MariaDB

sudo mysql -u root

5. Databasen har for øyeblikket ingen brukere. Vi bruker denne koden til å opprette en bruker, du trenger bare å fylle ut brukeren og passordet:

TILDELE ALLE PRIVILEGER PÅ *. * TIL ‘fill_in_your_chosen_username’@’%’

IDENTIFISERT AV ‘fill_in_your_chosen_password’ MED GRANT -ALTERNATIV;

FLUSH -PRIVILEGER; EXIT;

6. Last ned databasen fra Github.

7. Installer arbeidsbenken.

8. Opprett en forbindelse i arbeidsbenken med pi -en din og kjør filen.

Trinn 9: Trinn 9: Python -kode

1. Last ned og lagre Pythonfiles fra Github.

2. Last ned og åpne Pycharm.

3. Lag en tolk og distribusjonskonfigurasjon som passer for din Raspberry Pi.

4. Rediger filen mainCode1.py i Pycharm, og endre pinnumbers og databasesettinger til dine personlige innstillinger fra de foregående trinnene.

Trinn 10: Trinn 10: Kjør Python -koden automatisk

Trinn 10: Kjør Python -koden automatisk
Trinn 10: Kjør Python -koden automatisk

1. Lag en kittforbindelse med din Pi.

2. Åpne filen /etc/rc.local:

sudo nano /etc/rc.local

3. Legg til følgende linjer før du avslutter:

sove 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

Trinn 11: Trinn 11: Arduino -kode

1. Last ned og lagre.ino -filen fra Github.

2. Koble Arduino til den bærbare datamaskinen din via USB.

3. Koble fra Rx- og Tx -kablene som forbinder Arduino med Raspberry Pi.

4. Åpne filen og last den opp til Arduino.

5. Koble Arduino fra den bærbare datamaskinen og koble Rx- og Tx -kablene til igjen.

6. Gi strøm til Arduino. Displayet på 4*7 segmenter skal nå vise 12:34

Trinn 12: Trinn 12: Webserver

Trinn 12: Webserver
Trinn 12: Webserver

1. Installer apache:

sudo apt installere apache2 -y

2. Bli eier av/var/www/html -katalogen:

sudo chown pi/var/www/html

3. Gå til katalogen:

cd/var/www/html

4. Sjekk om du er eieren i stedet for root:

ls -al

5. Last ned og åpne Filezilla

6. Koble til pi -en din som vist på bildet. (enten bruk 169.254.10.1 og en ethernet-kabel eller koble til via wi-fi)

en. Gå til katalogen/var/www/html

b. Slett standard index.html -side

c. Flytt alle frontend -filene til denne katalogen

Trinn 13: Trinn 13: Bygge utsiden

Trinn 13: Bygg utvendig
Trinn 13: Bygg utvendig
Trinn 13: Bygg utvendig
Trinn 13: Bygg utvendig
Trinn 13: Bygg utvendig
Trinn 13: Bygg utvendig

Du kan lage utsiden av vekkerklokken slik du vil! Jeg laget en eske til vekkerklokken min med et multiplex trepanel med en bredde på 5 mm. Jeg du vil lage noe lignende, dette er trinnene for boksen:

1. Tegn følgende former på multiplexpanelet:

Sider: 2 x firkant (180 mm x 180 mm)

Topp og bunn: 2 x rektangel (180 mm x 300 mm)

Foran og bak: 2 x rektangel (170 mm x 300 mm)

2. Sag og slip hver form firkant og rektangel

3. Få litt ekstra tre og lag små planker på 20 mm høye og 20 mm brede.

4. Skru de små planker på innsiden (bunn, forside og bakside) av multiplexen som vist på bildene.

5. Bestem hvor du vil lage de riktige hullene for LCD-skjermen, 4*7 segment display, høyttaler, lyssensor, RGB LED, roterende encoder og knapp.

6. Mål hver komponent du vil vise på utsiden, og tegn figurer av passende størrelse på multiplexen.

7. Skjær ut de nødvendige bitene.

8. Fest noen hengsler på utsiden av esken, og koble toppen og baksiden.

9. Fest en magnet på innsiden av fronten og en liten metallplate på innsiden av oversiden.

10. Skru eller lim alt der du vil ha det.

11. Monter esken ved å skru alle utsidene sammen (unntatt toppen).

Du kan hoppe over 3 og 4 hvis du bruker mindre skruer (jeg brukte 12 mm skruer). Bruk av mindre skruer reduserer imidlertid stabiliteten til esken noe.

Anbefalt: