Sadržaj:

Pametni budilnik: 13 koraka
Pametni budilnik: 13 koraka

Video: Pametni budilnik: 13 koraka

Video: Pametni budilnik: 13 koraka
Video: Новая функция для Apple Watch #watchos 9 #ios16 #iphone 13 #iphone14 #iphone14promax 2024, Srpanj
Anonim
Pametni budilnik
Pametni budilnik

Pozdrav, moje ime je Alexandra Christiaens i studiram Medijske i komunikacijske tehnologije na Howestu u Kortrijku u Belgiji.

Kao školski zadatak, morali smo izraditi IoT uređaj. Bili smo ohrabreni da napravimo nešto što bi promijenilo bilo naše živote, bilo živote ljudi koje poznajemo. Bilo mi je prilično teško pronaći projekt, a kad sam pokušao tražiti prikladan projekt, često sam mislio: "Preumoran sam za ovo." Tako sam na kraju shvatio da bi ovo mogao biti moj projekt: napravio bih pametnu budilicu koja bi mi pomogla da ustanem ujutro i pomogla mi na vrijeme da legnem navečer. Budući da su zahtjevi za ovaj zadatak nalagali da bismo trebali koristiti Raspberry Pi za pokretanje svega, odlučio sam svoj uređaj nazvati “Sleepi” kao igru riječi.

Ako želite sami napraviti ovaj uređaj i dobiti pristojnu rutinu spavanja poput mene, pogledajte ovaj zgodan vodič koji sam napisao u nastavku. Ako želite znati više o meni i drugim projektima koje sam napravio ili ću ih napraviti, provjerite moj portfelj.

Korak 1: Korak 1: Prikupljanje komponenti

Korak 1: Prikupljanje komponenti
Korak 1: Prikupljanje komponenti
Korak 1: Prikupljanje komponenti
Korak 1: Prikupljanje komponenti
Korak 1: Prikupljanje komponenti
Korak 1: Prikupljanje komponenti

Dakle, prije svega, provjerimo imamo li sve što nam je potrebno prije nego počnemo graditi. Napravio sam popis najvažnijih komponenti. Ispod možete pronaći pdf s detaljnijim podacima o komponentama.

- 1 x Raspberry Pi 3 model B

- 1 x (prazna) microSD kartica i adapter (imam karticu od 16 GB, ali 8 GB je dovoljno)

- 1 x 5V napajanje za Raspberry Pi

- 1 x Ethernet kabel

- 2 x 9V baterije

- 2 x 9V kopče za baterije

- 1 x GPIO 40 -pinska ploča za proširenje i dugački kabel

- 2 x BB830 Plug-in Breadbord bez lemljenja

- 1 x Arduino Uno

- 1 x 0,56 inčni 4*7 segmentni zaslon

- 1x senzor temperature DS18B20

- 1 x osjetnik svjetline TSL2561

- 1 x 1602A LCD zaslon

- 1 x pretvarač razine

- 1 x registar mjenjača SN74HC595N

- 1 x rotacijski koder

- 1x potenciometar

- 1 x Power RGB LED

- 1 x zvučnik

- 4 x 337B tranzistora

- 1 x dioda

- 1 x gumb

- 3 x xl4005 31 LED upravljački program

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

- Razni kablovi za kratkospojnike (muški na muški i muški na ženski)

Izborno:

- 1 x multiplex drvena ploča (koristio sam jednu sa sljedećim mjerenjima koja su bila više nego dovoljna: 860 mm x 860 mm x 5 mm)

- Razni alati za obradu drveta

- Akrilna boja u boji koja vam se sviđa

Korak 2: Korak 2: Sheme

Korak 2: Sheme
Korak 2: Sheme

Nakon što sam prikupio sve komponente, mogao sam početi povezivati sve. Prvo sam napravio shemu Fritzinga kako bih bio siguran da neću ispržiti nijednu komponentu pogrešnim povezivanjem. Nakon povratnih informacija mojih učitelja, napravio sam neke ispravke koje su rezultirale sljedećim shematskim dijagramom i dijagramom ožičenja:

Većina GPIO pinova su zamjenjivi, pa ih možete promijeniti ako želite. Ipak, nemojte zaboraviti promijeniti PIN brojeve u kodu.

Neki elementi moraju biti povezani s određenim pinovima. Provjerite je li osjetnik svjetline povezan s GPIO 23 (SDA) i GPIO 24 (SCL). Objasnit ću zašto je to važno u koraku 5.

Korak 3: Korak 3: Postavljanje Raspberry Pi

Sada je vrijeme za postavljanje našeg Pi:

1. Stavite microSD karticu u adapter i priključite je u računalo.

Ako vaša microSD kartica nije prazna, prvo je formatirajte željenom metodom.

2. Instalirajte softver Raspbian OS s web mjesta Raspberry pi.

Preuzmite ZIP datoteku i ekstrahirajte je na željeno mjesto.

3. Preuzmite Win32 upravitelj diskova.

Pritisnite ikonu mape za odabir slike Odaberite svoj microSD na "Uređaju" Kliknite na "Napiši"

Kad je slika zapisana na vašu MicroSD karticu, možete je otvoriti u Windows Exploreru.

Otvorite datoteku "cmdline.txt" Na kraju datoteke dodajte sljedeći redak teksta: ip = 169.254.10.1 Provjerite je li sve u istom retku. Spremite datoteku.

Sada izvadite MicroSD karticu iz računala. Provjerite je li napajanje vašeg Pi isključeno i umetnite karticu u svoj Raspberry Pi.

Priključite ethernet kabel na Pi i računalo.

Priključite napajanje na svoj Pi pomoću 5, 2V adaptera za napajanje.

Korak 4: Korak 4: Povezivanje Raspberry Pi

Korak 4: Povezivanje Raspberry Pi
Korak 4: Povezivanje Raspberry Pi

Povezivanje

Pi s našim računalom, koristit ćemo Putty.

1. Instalirajte Putty i otvorite ga.

2. Ispunite IP adresu i priključak kao što je prikazano na slici, a zatim kliknite "otvori".

3. Prijavite se sa sljedećim zadanim postavkama:

a. Korisničko ime: pi

b. Lozinka: malina

4. Da biste postavili WiFi:

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

b. Pri dnu datoteke dodajte ove retke:

i. Mreža = {

ii. ssid = "Unesite ime svoje bežične mreže"

iii. psk = "Popunite lozinku svoje bežične mreže"

iv. }

c. Zatvorite datoteku i spremite je

5. Unesite sljedeću naredbu da biste saznali IP adresu vašeg Pi: ifconfig wlan0

6. Sada možete koristiti ovu IP adresu u Puttyju za uspostavljanje bežične veze (vidi gore).

Korak 5: Korak 5: Promijenite postavke pomoću Raspi-config

Sada moramo biti sigurni da Pi može komunicirati sa svim našim komponentama.

Promijenit ćemo neke postavke u raspi-config

Otvorite raspi-config naredbom:

sudo raspi-config

2. Odaberite 4 Opcije lokalizacije.

3. Odaberite I2 Promijeni vremensku zonu.

4. Promijenite vremensku zonu u lokalnu vremensku zonu i dovršite povratak na raspi-config.

5. Odaberite 5 Opcije sučelja.

6. Odaberite P5 I2C.

7. Omogućite I2C komunikaciju.

8. Odaberite 5 Opcije sučelja

9. Odaberite P6 Serijski

10. Onemogućite ljusku za prijavu.

11. Omogućite serijsku komunikaciju

Korak 6: Korak 6: Promijenite postavke u /boot/config.txt

Sada moramo ponovno konfigurirati neke stvari u datoteci /boot/config.txt

1. Pristupite datoteci:

sudo nano /boot/config.txt

2. Pri dnu biste trebali vidjeti:

enable_uart = 1

To je zato što smo serijski port omogućili ranije.

3. Dodajte sljedeća dva retka:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, sabirnica = 3

Raspberry Pi 3 ima 2 serijska porta: hardverski serijski port i softverski serijski port. Prvom naredbom dodjeljujemo serijski port softvera Bluetooth funkciji i dodjeljujemo serijski port hardvera pinovima Rx i Tx koje ćemo koristiti za komunikaciju s Arduinom.

Druga linija aktivira programsku sabirnicu I²C na Pi. To je zato što hardverska sabirnica I²C ponekad daje pogreške kada senzor spojen na ovu sabirnicu I²C koristi istezanje sata. Softverska sabirnica I²C automatski će biti aktivna na GPIO 23 (SDA) i GPIO 4 (SCL) zbog čega je bilo toliko važno ispravno spojiti osjetnik svjetline koji koristi I²C za slanje podataka.

Korak 7: Korak 7: Dodajte korisnika pravim grupama

Na kraju dodajte korisnika u neke grupe:

1. Provjerite u koje grupe spada vaš trenutni korisnik:

grupira vaše_korisničko ime

2. Da bi sve funkcije radile, korisnik mora pripadati sljedećim skupinama:

adm dialout sudo ulaz netdev gpio i2c spi ·

Ako je potrebno, dodajte korisnika u odgovarajuće grupe:

sudo adduser your_usernameime grupe

Korak 8: Korak 8: Baza podataka

Korak 8: Baza podataka
Korak 8: Baza podataka
Korak 8: Baza podataka
Korak 8: Baza podataka
Korak 8: Baza podataka
Korak 8: Baza podataka

Da bih mogao pohraniti različita vremena alarma koja je postavio korisnik i različite vrijednosti senzora, morao sam napraviti bazu podataka. Gore možete vidjeti shemu baze podataka.

Da biste dodali bazu podataka u Raspberry Pi, učinite sljedeće:

1. Uspostavite vezu putem Puttyja

2. Ažurirajte MySQL

sudo apt-get ažuriranje

sudo apt-get install mysql-server --fiks-nedostaje -y

sudo ponovno podizanje sustava

3. Osigurajte MariaDB

sudo mysql_secore_installation

4. Prijavite se na MariaDB

sudo mysql -u korijen

5. Baza podataka trenutno nema korisnika. Ovaj kôd koristimo za stvaranje korisnika, samo trebate unijeti korisnika i lozinku:

OSTVARITE SVE PRIVILEGIJE NA *. * NA 'fill_in_your_chosen_username'@'%'

IDENTIFIKIRANO pomoću ‘fill_in_your_chosen_password’ WITH GRANT OPTION;

FLUSH PRIVILEGES; IZLAZ;

6. Preuzmite bazu podataka s Githuba.

7. Instalirajte radnu površinu.

8. Uspostavite vezu u radnom stolu sa svojim pi i izvršite datoteku.

Korak 9: Korak 9: Python kod

1. Preuzmite i spremite Python datoteke iz Githuba.

2. Preuzmite i otvorite Pycharm.

3. Napravite tumač i konfiguraciju implementacije prikladnu za vaš Raspberry Pi.

4. Uredite datoteku mainCode1.py u Pycharmu i promijenite pin -brojeve i postavke baze podataka u svoje osobne postavke iz prethodnih koraka.

Korak 10: Korak 10: Autorun Python koda

Korak 10: Autorun Python koda
Korak 10: Autorun Python koda

1. Uspostavite Putty vezu sa svojim Pi -jem.

2. Otvorite datoteku /etc/rc.local:

sudo nano /etc/rc.local

3. Prije izlaska dodajte sljedeće retke:

spavaj 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

Korak 11: Korak 11: Arduino kod

1. Preuzmite i spremite.ino datoteku s Githuba.

2. Povežite svoj Arduino s prijenosnim računalom putem USB -a.

3. Odspojite Rx i Tx kabele koji povezuju Arduino s Raspberry Pi.

4. Otvorite datoteku i prenesite je na Arduino.

5. Odspojite Arduino s prijenosnog računala i ispravno spojite Rx i Tx kabele.

6. Dajte moć Arduinu. 4*7 segmentni zaslon sada bi trebao prikazivati 12:34

Korak 12: Korak 12: Web poslužitelj

Korak 12: Web poslužitelj
Korak 12: Web poslužitelj

1. Instalirajte apache:

sudo apt install apache2 -y

2. Postanite vlasnik direktorija/var/www/html:

sudo chown pi/var/www/html

3. Idite u direktorij:

cd/var/www/html

4. Provjerite jeste li vlasnik, a ne root:

ls -al

5. Preuzmite i otvorite Filezilla

6. Uspostavite vezu sa svojim pi -om kao što je prikazano na slici. (ili upotrijebite 169.254.10.1 i ethernet kabel ili se povežite putem Wi-Fi-ja)

a. Idite u direktorij/var/www/html

b. Izbrišite zadanu stranicu index.html

c. Premjestite sve datoteke sučelja u ovaj direktorij

Korak 13: Korak 13: Izgradnja izvana

Korak 13: Izgradnja izvana
Korak 13: Izgradnja izvana
Korak 13: Izgradnja izvana
Korak 13: Izgradnja izvana
Korak 13: Izgradnja izvana
Korak 13: Izgradnja izvana

Budilicu možete napraviti van kako želite! Napravio sam kutiju za budilicu s višestrukom drvenom pločom širine 5 mm. Želim da napravite nešto slično, ovo su koraci za spomenutu kutiju:

1. Na višestrukoj ploči nacrtajte sljedeće oblike:

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

Gornji i donji dio: 2 x pravokutnik (180 mm x 300 mm)

Prednja i stražnja strana: 2 x pravokutnik (170 mm x 300 mm)

2. Pilite i brušite svaki oblik kvadrata i pravokutnika

3. Nabavite malo rezervnog drva i napravite male daske visine 20 mm i širine 20 mm.

4. Pričvrstite male daske na unutarnju stranu (donju, prednju i stražnju stranu) multipleksa kako se vidi na fotografijama.

5. Odlučite gdje želite napraviti odgovarajuće rupe za LCD zaslon, 4*7 segmentni zaslon, zvučnik, osjetnik svjetline, RGB LED, okretni davač i gumb.

6. Izmjerite svaku komponentu koju želite prikazati izvana i nacrtajte oblike odgovarajuće veličine na multipleksu.

7. Izrežite potrebne komade.

8. Pričvrstite neke šarke s vanjske strane kutije, povezujući gornju i stražnju stranu.

9. Pričvrstite magnet s unutarnje strane prednje strane i malu metalnu ploču s unutarnje strane gornje strane.

10. Zašrafite ili zalijepite sve gdje želite.

11. Sastavite kutiju tako što ćete spojiti sve vanjske strane (osim vrha).

Možete preskočiti 3 i 4 ako koristite manje vijke (ja sam koristio vijke od 12 mm). Korištenje manjih vijaka ipak malo smanjuje stabilnost kutije.

Preporučeni: