Innehållsförteckning:

Smart väckarklocka: 13 steg
Smart väckarklocka: 13 steg

Video: Smart väckarklocka: 13 steg

Video: Smart väckarklocka: 13 steg
Video: I Set Up The Lenovo Smart Clock And This Happened 2024, Juli
Anonim
Smart väckarklocka
Smart väckarklocka

Hej, jag heter Alexandra Christiaens och studerar media- och kommunikationsteknik på Howest i Kortrijk, Belgien.

Som en skoluppgift var vi tvungna att göra en IoT -enhet. Vi uppmuntrades att göra något som skulle göra skillnad i antingen vårt eget liv eller i livet för människor vi känner. Jag tyckte att det var ganska svårt att hitta ett projekt och när jag försökte söka efter ett passande projekt tänkte jag ofta:”Jag är för trött för det här.” Så så småningom insåg jag att det här kan vara mitt projekt: jag skulle göra en smart väckarklocka som både skulle hjälpa mig att gå upp på morgonen och hjälpa mig att lägga mig i tid på kvällen. Eftersom kraven för detta uppdrag dikterade att vi skulle använda en Raspberry Pi för att köra allt, bestämde jag mig för att kalla min enhet "Sleepi" som en ordlek.

Om du vill göra den här enheten själv och få en anständig sovrutin som jag, kolla in den här praktiska guiden jag skrev nedan. Om du vill veta mer om mig och andra projekt jag gjort eller kommer att göra, kolla in min portfölj.

Steg 1: Steg 1: Samla in komponenterna

Steg 1: Samla in komponenterna
Steg 1: Samla in komponenterna
Steg 1: Samla in komponenterna
Steg 1: Samla in komponenterna
Steg 1: Samla in komponenterna
Steg 1: Samla in komponenterna

Så, först och främst, låt oss se till att vi har allt vi behöver innan vi börjar bygga. Jag gjorde en lista över de viktigaste komponenterna. Nedan hittar du en pdf med mer detaljerad information om komponenterna.

- 1 x Raspberry Pi 3 modell B

- 1 x (tomt) microSD -kort och adapter (jag har ett 16 GB kort, men 8 GB räcker)

- 1 x 5V strömförsörjning för Raspberry Pi

- 1 x Ethernet -kabel

- 2 x 9V batterier

- 2 x 9V batteriklämmor

- 1 x GPIO 40 -stifts expansionskort och regnbågskabel

- 2 x BB830 Lödfritt plug-in brödbord

- 1 x Arduino Uno

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

- 1x DS18B20 temperaturgivare

- 1 x TSL2561 ljussensor

- 1 x 1602A LCD-skärm

- 1 x nivåomvandlare

- 1 x SN74HC595N skiftregister

- 1 x roterande kodare

- 1 x potentiometer

- 1 x Power RGB LED

- 1 x högtalare

- 4 x 337B -transistorer

- 1 x diod

- 1 x knapp

- 3 x xl4005 31 LED -drivrutiner

- 7 x motstånd (2 x 10k Ohm, 4 x 1k Ohm, 1 x 470 Ohm)

- Olika kabelkablar (hane till hane och hane till hona)

Frivillig:

- 1 x multiplex träpanel (jag använde en med följande mått som var mer än tillräckligt: 860 mm x 860 mm x 5 mm)

- Olika verktyg för träbearbetning

- Akrylfärg i en färg du gillar

Steg 2: Steg 2: Scheman

Steg 2: Scheman
Steg 2: Scheman

Efter att ha samlat alla komponenter kunde jag börja ansluta allt. Först gjorde jag en Fritzing -schema för att se till att jag inte skulle steka några komponenter genom att ansluta dem fel. Efter lite feedback från mina lärare gjorde jag några korrigeringar som resulterade i följande schematiska diagram och kopplingsschema:

De flesta av GPIO -stiften är utbytbara, så du kan byta några av dem om du vill. Glöm dock inte att ändra stiftnumren i koden i enlighet därmed.

Vissa element måste dock vara anslutna till vissa stift. Se till att ljussensorn är ansluten till GPIO 23 (SDA) respektive GPIO 24 (SCL). Jag förklarar varför detta är viktigt i steg 5.

Steg 3: Steg 3: Installation av Raspberry Pi

Nu är det dags att konfigurera vår Pi:

1. Sätt in ditt microSD -kort i adaptern och anslut det till datorn.

Om ditt microSD -kort inte är tomt, formatera det först med din metod.

2. Installera Raspbian OS -programvaran från Raspberry pi -webbplatsen.

Ladda ner ZIP -filen och extrahera den till önskad plats.

3. Ladda ner Win32 -skivhanteraren.

Klicka på mappikonen för att välja bilden Välj din microSD vid "Enhet" Klicka på "Skriv"

När bilden är skriven på ditt MicroSD -kort kan du öppna den i Utforskaren.

Öppna filen "cmdline.txt" I slutet av filen lägger du till följande textrad: ip = 169.254.10.1 Se till att allt står på samma rad. Spara filen.

Ta ut MicroSD -kortet från din dator. Se till att strömmen till din Pi är avstängd och sätt in kortet i din Raspberry Pi.

Anslut en ethernetkabel till din Pi och din dator.

Sätt ström till din Pi med en 5, 2V nätadapter.

Steg 4: Steg 4: Anslutning av Raspberry Pi

Steg 4: Anslut Raspberry Pi
Steg 4: Anslut Raspberry Pi

Att ansluta

Pi med vår dator använder vi Putty.

1. Installera kittet och öppna det.

2. Fyll i IP -adressen och porten som visas på bilden och klicka på "öppna".

3. Logga in med följande standardvärden:

a. Användarnamn: pi

b. Lösenord: hallon

4. Så här konfigurerar du WiFi:

a. Sudo nano /etc/wpa_supllicant/wpa_supllicant.conf

b. Lägg till dessa rader längst ned i filen:

i. Nätverk = {

ii. ssid =”Fyll i namnet på ditt trådlösa nätverk”

iii. psk =”Fyll i lösenordet för ditt trådlösa nätverk”

iv. }

c. Stäng filen och spara den

5. Ange följande kommando för att ta reda på IP: n för din Pi: ifconfig wlan0

6. Du kan nu använda denna IP -adress i Putty för att upprätta en trådlös anslutning (se ovan).

Steg 5: Steg 5: Ändra inställningar med Raspi-config

Nu måste vi se till att Pi kan kommunicera med alla våra komponenter.

Vi kommer att ändra vissa inställningar i raspi-config

Öppna raspi-config med kommandot:

sudo raspi-config

2. Välj 4 lokaliseringsalternativ.

3. Välj I2 Ändra tidszon.

4. Ändra tidszonen till din lokala tidszon och avsluta för att gå tillbaka till raspi-config.

5. Välj 5 gränssnittsalternativ.

6. Välj P5 I2C.

7. Aktivera I2C -kommunikation.

8. Välj 5 gränssnittsalternativ

9. Välj P6 Serial

10. Inaktivera inloggningsskal.

11. Aktivera seriell kommunikation

Steg 6: Steg 6: Ändra inställningar i /boot/config.txt

Nu måste vi omkonfigurera några saker i filen /boot/config.txt

1. Öppna filen:

sudo nano /boot/config.txt

2. Längst ner bör du se:

enable_uart = 1

Detta beror på att vi aktiverade den seriella porten tidigare.

3. Lägg till följande två rader:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, buss = 3

Raspberry Pi 3 har 2 seriella portar: en hårdvaruseriell port och en seriell port för programvaran. Med det första kommandot tilldelar vi programvarans seriella port till Bluetooth -funktionen och tilldelar maskinvarans seriella port till Rx- och Tx -stiften som vi använder för att kommunicera med Arduino.

Den andra raden aktiverar en programvara I²C -buss på Pi. Detta beror på att maskinvaran I²C -bussen ibland ger fel när sensorn som är ansluten till denna I²C -buss använder klocksträckning. Programvaran I²C -bussen kommer automatiskt att vara aktiv på GPIO 23 (SDA) och GPIO 4 (SCL), varför det var så viktigt att korrekt ansluta ljussensorn som använder I²C för att skicka data.

Steg 7: Steg 7: Lägg till användaren i rätt grupper

Lägg till slut användaren till några grupper:

1. Kontrollera vilka grupper din nuvarande användare tillhör:

grupperar ditt_användarnamn

2. För att alla funktioner ska fungera måste användaren tillhöra följande grupper:

adm dialout sudo input netdev gpio i2c spi ·

Om det behövs lägger du till användaren i lämpliga grupper:

sudo adduser ditt_användarnamn gruppnamn

Steg 8: Steg 8: Databas

Steg 8: Databas
Steg 8: Databas
Steg 8: Databas
Steg 8: Databas
Steg 8: Databas
Steg 8: Databas

För att kunna lagra de olika larmtiderna som användaren ställt in och sensornas olika värden, var jag tvungen att skapa en databas. Du kan se databasschemat ovan.

Så här lägger du till databasen i Raspberry Pi:

1. Gör en anslutning via Putty

2. Uppdatera MySQL

sudo apt-get uppdatering

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

sudo starta om

3. Säkra MariaDB

sudo mysql_secore_installation

4. Logga in på MariaDB

sudo mysql -u root

5. Databasen har för närvarande inga användare. Vi använder den här koden för att skapa en användare, du behöver bara fylla i användaren och lösenordet:

GE ALLA PRIVILEGER PÅ *. * TILL ‘fill_in_your_chosen_username’@’%’

IDENTIFIERAD MED ‘fill_in_your_chosen_password’ MED GRANT -ALTERNATIV;

FLUSH PRIVILEGES; EXIT;

6. Ladda ner databasen från Github.

7. Installera arbetsbänken.

8. Gör en anslutning i arbetsbänken med din pi och kör filen.

Steg 9: Steg 9: Python -kod

1. Ladda ner och spara Pythonfiles från Github.

2. Ladda ner och öppna Pycharm.

3. Gör en tolk- och distributionskonfiguration som passar din Raspberry Pi.

4. Redigera filen mainCode1.py i Pycharm och ändra pinnumbers och databasinställningar till dina personliga inställningar från föregående steg.

Steg 10: Steg 10: Kör Pythonkoden automatiskt

Steg 10: Kör Python -koden automatiskt
Steg 10: Kör Python -koden automatiskt

1. Gör en Putty -anslutning med din Pi.

2. Öppna filen /etc/rc.local:

sudo nano /etc/rc.local

3. Lägg till följande rader före utgången:

sova 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

Steg 11: Steg 11: Arduino -kod

1. Ladda ner och spara.ino -filen från Github.

2. Anslut din Arduino med din bärbara dator via USB.

3. Koppla bort Rx- och Tx -kablarna som ansluter Arduino med Raspberry Pi.

4. Öppna filen och ladda upp den till Arduino.

5. Koppla bort Arduino från din bärbara dator och anslut Rx- och Tx -kablarna igen.

6. Ge ström till Arduino. Displayen med 4*7 segment ska nu visa 12:34

Steg 12: Steg 12: Webbserver

Steg 12: Webbserver
Steg 12: Webbserver

1. Installera apache:

sudo apt installera apache2 -y

2. Bli ägare från/var/www/html -katalogen:

sudo chown pi/var/www/html

3. Gå till katalogen:

cd/var/www/html

4. Kontrollera om du är ägaren istället för root:

ls -al

5. Ladda ner och öppna Filezilla

6. Anslut din pi enligt bilden. (använd antingen 169.254.10.1 och en Ethernet-kabel eller anslut via Wi-Fi)

a. Gå till katalogen/var/www/html

b. Ta bort standardsidan index.html

c. Flytta alla frontend -filer till den här katalogen

Steg 13: Steg 13: Bygga utsidan

Steg 13: Bygga utsidan
Steg 13: Bygga utsidan
Steg 13: Bygga utsidan
Steg 13: Bygga utsidan
Steg 13: Bygga utsidan
Steg 13: Bygga utsidan

Du kan göra utsidan av väckarklockan hur du vill! Jag gjorde en låda till min väckarklocka med en multiplex träpanel med en bredd på 5 mm. Jag du vill göra något liknande, det här är stegen för rutan:

1. Rita följande former på multiplexpanelen:

Sidor: 2 x kvadrat (180 mm x 180 mm)

Topp och botten: 2 x rektangel (180 mm x 300 mm)

Fram och bak: 2 x rektangel (170 mm x 300 mm)

2. Såg och slipa varje form kvadratisk och rektangel

3. Skaffa lite extra trä och gör små plankor på 20 mm höga och 20 mm breda.

4. Skruva fast de små plankorna på insidan (botten, framsidan och baksidan) av multiplexen som visas på bilderna.

5. Bestäm var du vill göra lämpliga hål för LCD-skärmen, 4*7 segmentdisplay, högtalare, ljussensor, RGB LED, roterande pulsgivare och knapp.

6. Mät varje komponent som du vill visa på utsidan och rita former i lämplig storlek på multiplexen.

7. Skär ut nödvändiga bitar.

8. Fäst några gångjärn på utsidan av lådan, anslut topp och baksida.

9. Fäst en magnet på insidan av framsidan och en liten metallplatta på insidan av ovansidan.

10. Skruva eller limma allt där du vill ha det.

11. Montera lådan genom att skruva ihop alla utsidor (utom ovansidan).

Du kan hoppa över 3 och 4 om du använder mindre skruvar (jag använde 12 mm skruvar). Att använda mindre skruvar minskar dock lådans stabilitet något.

Rekommenderad: