Sadržaj:

Pametni budilnik: 13 koraka
Pametni budilnik: 13 koraka

Video: Pametni budilnik: 13 koraka

Video: Pametni budilnik: 13 koraka
Video: 🟠 HOTWAV NOTE 12 - ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Juli
Anonim
Pametni budilnik
Pametni budilnik

Zdravo, moje ime je Alexandra Christiaens i studiram Medijske i komunikacijske tehnologije na Howest -u u Kortrijku, Belgija.

Kao školski zadatak, morali smo napraviti IoT uređaj. Ohrabreni smo 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: "Previše sam umoran za ovo." Tako sam na kraju shvatio da bi ovo mogao biti moj projekt: napravio bih pametni budilnik koji bi mi pomogao da ustanem ujutro i pomogao mi da na vrijeme 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 napraviti, pogledajte 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, prvo prvo, provjerimo imamo li sve što nam je potrebno prije nego počnemo graditi. Napravio sam listu 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 bateriju

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

- 1x senzor temperature DS18B20

- 1 x TSL2561 senzor za osvjetljenje

- 1 x 1602A LCD ekran

- 1 x pretvarač nivoa

- 1 x SN74HC595N registar mjenjača

- 1 x rotacijski koder

- 1 x potenciometar

- 1 x RGB LED za napajanje

- 1 x zvučnik

- 4 x 337B tranzistora

- 1 x dioda

- 1 x dugme

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

Opciono:

- 1 x multipleks drvena ploča (koristio sam jednu sa sljedećim mjerama koje su bile više nego dovoljne: 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 prž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. Ne zaboravite ipak promijeniti PIN brojeve u kodu.

Međutim, neki elementi moraju biti povezani na određene pinove. Provjerite je li senzor 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: Podešavanje Raspberry Pi

Sada je vrijeme za postavljanje našeg Pi:

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

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

2. Instalirajte softver Raspbian OS sa web lokacije Raspberry pi.

Preuzmite ZIP datoteku i ekstrahirajte je na željenu lokaciju.

3. Preuzmite Win32 menadžer diskova.

Kliknite na 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 Uvjerite se da je sve u istom redu. Sačuvajte datoteku.

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

Priključite ethernet kabl na Pi i računar.

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

Za povezivanje

Pi sa našim računarom, koristit ćemo Putty.

1. Instalirajte Putty i otvorite ga.

2. Unesite IP adresu i port kao što je prikazano na slici, a zatim kliknite ‘open’.

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. Na dnu datoteke dodajte ove redove:

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 sačuvajte je

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

6. Ovu IP adresu sada možete koristiti u programu Putty 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 završite da biste se vratili 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. Na dnu biste trebali vidjeti:

enable_uart = 1

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

3. Dodajte sljedeće dvije linije:

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 softverski serijski port Bluetooth funkciji i dodjeljujemo hardverski serijski port Rx i Tx pinovima koje ćemo koristiti za komunikaciju s Arduinom.

Druga linija aktivira softversku sabirnicu I²C na Pi. To je zato što hardverska I²C sabirnica ponekad daje greške kada senzor spojen na ovu I²C sabirnicu 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 pravilno spojiti senzor 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 kojoj grupi pripada vaš trenutni korisnik:

grupira vaše_korisničko ime

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

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 Putty -a

2. Ažurirajte MySQL

sudo apt-get update

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

sudo reboot

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’@’%’

IDENTIFIKOVANO „ispuni_u_vašu_izbranu_lozinku 'SA OPCIJOM GRANTA;

FLUSH PRIVILEGES; IZLAZ;

6. Preuzmite bazu podataka sa Github -a.

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 sačuvajte Python datoteke iz Githuba.

2. Preuzmite i otvorite Pycharm.

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

4. Uredite datoteku mainCode1.py u Pycharmu i promijenite pin -brojeve i postavke baze podataka u svoje lične 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 redove:

spava 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 Github -a.

2. Povežite svoj Arduino sa prijenosnim računarom putem USB -a.

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

4. Otvorite datoteku i postavite je na Arduino.

5. Odspojite Arduino sa prijenosnog računara i ispravno spojite Rx i Tx kabele.

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

Korak 12: Korak 12: Web server

Korak 12: Web server
Korak 12: Web server

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 umjesto root -a:

ls -al

5. Preuzmite i otvorite Filezilla

6. Uspostavite vezu sa svojim pi -om kao što je prikazano na slici. (ili koristite 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 sa višestrukim drvenim panelom širine 5 mm. Želim da napravite nešto slično, ovo su koraci za spomenutu kutiju:

1. Nacrtajte sljedeće oblike na multipleks ploči:

Stranice: 2 x kvadratne (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 brusite svaki oblik kvadrata i pravokutnika

3. Nabavite rezervno drvo 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 ekran, 4*7 segmentni ekran, zvučnik, senzor svjetline, RGB LED, okretni davač i dugme.

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 na vanjsku stranu kutije, povezujući gornju i zadnju stranu.

9. Pričvrstite magnet sa unutrašnje strane prednje strane i malu metalnu ploču sa unutrašnje 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 umanjuje stabilnost kutije.

Preporučuje se: