Turinys:

Išmanusis žadintuvas: 13 žingsnių
Išmanusis žadintuvas: 13 žingsnių

Video: Išmanusis žadintuvas: 13 žingsnių

Video: Išmanusis žadintuvas: 13 žingsnių
Video: Kaip naudotis FACEBOOK programėle? 2024, Lapkritis
Anonim
Išmanusis žadintuvas
Išmanusis žadintuvas

Sveiki, mano vardas Alexandra Christiaens ir aš studijuoju žiniasklaidos ir komunikacijos technologijas „Howest“mieste Kortrijke, Belgijoje.

Kaip mokyklos užduotis, mes turėjome pagaminti daiktų interneto įrenginį. Mus skatino padaryti kažką, kas pakeistų mūsų pačių ar pažįstamų žmonių gyvenimą. Man buvo gana sunku rasti projektą ir kai bandžiau ieškoti tinkamo projekto, dažnai pagalvojau: „Aš per daug pavargęs tam“. Taigi galiausiai supratau, kad tai gali būti mano projektas: pasidarysiu išmanųjį žadintuvą, kuris ir padėtų man atsikelti ryte, ir padėtų laiku atsigulti vakare. Kadangi reikalavimai šiai užduočiai lėmė, kad turėtume naudoti „Raspberry Pi“, kad viską paleistume, nusprendžiau savo prietaisą pavadinti „Sleepi“kaip kalambūrą.

Jei norite patys pasigaminti šį įrenginį ir gauti tinkamą miego režimą, kaip aš, peržiūrėkite šį patogų vadovą, kurį parašiau žemiau. Jei norite sužinoti daugiau apie mane ir kitus projektus, kuriuos sukūriau ar darysiu, peržiūrėkite mano portfelį.

1 žingsnis: 1 žingsnis: komponentų surinkimas

1 žingsnis: Surinkite komponentus
1 žingsnis: Surinkite komponentus
1 žingsnis: Surinkite komponentus
1 žingsnis: Surinkite komponentus
1 žingsnis: Surinkite komponentus
1 žingsnis: Surinkite komponentus

Taigi, prieš pradėdami kurti, pirmiausia įsitikinkime, kad turime viską, ko reikia. Sudariau svarbiausių komponentų sąrašą. Žemiau galite rasti pdf, kuriame yra išsamesnė informacija apie komponentus.

- 1 x Raspberry Pi 3 B modelis

- 1 x (tuščia) „microSD“kortelė ir adapteris (turiu 16 GB kortelę, bet pakanka 8 GB)

- 1 x 5 V maitinimo šaltinis „Raspberry Pi“

- 1 x eterneto kabelis

- 2 x 9V baterijos

- 2 x 9V akumuliatoriaus spaustukai

- 1 x GPIO 40 kontaktų išplėtimo plokštė ir vaivorykštės kabelis

- 2 x BB830 Plug-in Plug-in Breadbord

- 1 x „Arduino Uno“

- 1 x 0,56 colio 4*7 segmentų ekranas

- 1x DS18B20 temperatūros jutiklis

- 1 x TSL2561 šviesumo jutiklis

- 1 x 1602A skystųjų kristalų ekranas

- 1 x lygio keitiklis

- 1 x SN74HC595N pamainos registras

- 1 x rotacinis kodavimo įrenginys

- 1 x potenciometras

- 1 x maitinimo RGB šviesos diodas

- 1 x garsiakalbis

- 4 x 337B tranzistoriai

- 1 x diodas

- 1 x mygtukas

- 3 x xl4005 31 LED tvarkyklės

- 7 x rezistoriai (2 x 10 k omų, 4 x 1 k omų, 1 x 470 omų)

- Įvairūs jungiamieji laidai (nuo vyrų iki vyrų ir nuo vyrų iki moterų)

Neprivaloma:

- 1 x daugialypė medinė plokštė (aš naudojau vieną, kurio matavimai buvo daugiau nei pakankamai: 860 mm x 860 mm x 5 mm)

- Įvairūs įrankiai medienos apdirbimui

- Jums patinkančios spalvos akriliniai dažai

2 žingsnis: 2 žingsnis: schemos

2 žingsnis: schemos
2 žingsnis: schemos

Surinkęs visus komponentus, galėjau pradėti viską prijungti. Pirmiausia sukūriau „Fritzing“schemą, kad įsitikinčiau, jog nekepsiu jokių komponentų, neteisingai juos prijungęs. Po kai kurių mokytojų atsiliepimų padariau keletą pataisymų, dėl kurių buvo pateikta ši schema ir prijungimo schema:

Dauguma GPIO kaiščių yra keičiami, todėl, jei norite, galite perjungti kelis iš jų. Tačiau nepamirškite atitinkamai pakeisti kodo PIN kodų.

Tačiau kai kurie elementai turi būti prijungti prie tam tikrų kaiščių. Įsitikinkite, kad šviesumo jutiklis yra prijungtas prie GPIO 23 (SDA) ir GPIO 24 (SCL). Kodėl tai svarbu, paaiškinsiu 5 veiksme.

3 veiksmas: 3 veiksmas: „Raspberry Pi“sąranka

Dabar atėjo laikas nustatyti „Pi“:

1. Įdėkite „microSD“kortelę į adapterį ir prijunkite prie kompiuterio.

Jei jūsų „microSD“kortelė nėra tuščia, pirmiausia suformatuokite ją norimu metodu.

2. Įdiekite Raspbian OS programinę įrangą iš Raspberry pi svetainės.

Atsisiųskite ZIP failą ir išskleiskite jį į norimą vietą.

3. Atsisiųskite „Win32“disko tvarkyklę.

Spustelėkite aplanko piktogramą, kad pasirinktumėte vaizdą Pasirinkite „microSD“skiltyje „Įrenginys“Spustelėkite „Rašyti“

Kai vaizdas įrašytas į „MicroSD“kortelę, galite jį atidaryti naudodami „Windows Explorer“.

Atidarykite failą „cmdline.txt“Failo pabaigoje pridėkite šią teksto eilutę: ip = 169.254.10.1 Įsitikinkite, kad viskas yra toje pačioje eilutėje. Išsaugokite failą.

Dabar išimkite „MicroSD“kortelę iš kompiuterio. Įsitikinkite, kad „Pi“maitinimas išjungtas, ir įdėkite kortelę į „Raspberry Pi“.

Prijunkite eterneto kabelį prie „Pi“ir kompiuterio.

Naudokite „Pi“maitinimą naudodami 5, 2 V maitinimo adapterį.

4 žingsnis: 4 žingsnis: Raspberry Pi prijungimas

4 žingsnis: Raspberry Pi prijungimas
4 žingsnis: Raspberry Pi prijungimas

Prisijungti

„Pi“su kompiuteriu, naudosime „Putty“.

1. Įdiekite „Putty“ir atidarykite.

2. Įveskite IP adresą ir prievadą, kaip parodyta paveikslėlyje, ir spustelėkite „atidaryti“.

3. Prisijunkite naudodami šiuos numatytuosius nustatymus:

a. Vartotojo vardas: pi

b. Slaptažodis: avietė

4. Norėdami nustatyti „WiFi“:

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

b. Failo apačioje pridėkite šias eilutes:

i. Tinklas = {

ii. ssid = "Įveskite savo belaidžio tinklo pavadinimą"

iii. psk = "Įveskite savo belaidžio tinklo slaptažodį"

iv. }

c. Uždarykite failą ir išsaugokite

5. Norėdami išsiaiškinti savo „Pi“IP adresą, įveskite šią komandą: ifconfig wlan0

6. Dabar galite naudoti šį IP adresą „Putty“, kad sukurtumėte belaidį ryšį (žr. Aukščiau).

5 veiksmas: 5 veiksmas: pakeiskite nustatymus naudodami „Raspi-config“

Dabar turime įsitikinti, kad „Pi“gali bendrauti su visais mūsų komponentais.

Mes pakeisime kai kuriuos raspi-config nustatymus

Atidarykite raspi-config naudodami komandą:

sudo raspi-config

2. Pasirinkite 4 Lokalizavimo parinktys.

3. Pasirinkite I2 Keisti laiko juostą.

4. Pakeiskite laiko juostą į vietinę laiko juostą ir baikite, kad grįžtumėte į raspi-config.

5. Pasirinkite 5 sąsajos parinktys.

6. Pasirinkite P5 I2C.

7. Įgalinti I2C ryšį.

8. Pasirinkite 5 sąsajos parinktys

9. Pasirinkite P6 Serial

10. Išjungti prisijungimo apvalkalą.

11. Įgalinti nuoseklųjį ryšį

6 veiksmas: 6 veiksmas: pakeiskite nustatymus /boot/config.txt

Dabar turime iš naujo sukonfigūruoti kai kuriuos failus /boot/config.txt failus

1. Pasiekite failą:

sudo nano /boot/config.txt

2. Apačioje turėtumėte pamatyti:

enable_uart = 1

Taip yra todėl, kad serijinį prievadą įgalinome anksčiau.

3. Pridėkite šias dvi eilutes:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, magistralė = 3

„Raspberry Pi 3“turi 2 nuoseklius prievadus: nuoseklųjį aparatūros prievadą ir programinės įrangos nuoseklųjį prievadą. Su pirmąja komanda mes priskiriame programinės įrangos nuoseklųjį prievadą „Bluetooth“funkcijai ir aparatinės įrangos nuoseklųjį prievadą priskiriame Rx ir Tx kaiščiams, kuriuos naudosime bendraudami su „Arduino“.

Antroji linija suaktyvina programinę įrangą „I²C“prie „Pi“. Taip yra todėl, kad aparatinė I²C magistralė kartais duoda klaidų, kai prie šios I²C magistralės prijungtas jutiklis naudoja laikrodžio tempimą. Programinė įranga I²C magistralė bus automatiškai aktyvi GPIO 23 (SDA) ir GPIO 4 (SCL), todėl buvo labai svarbu teisingai prijungti šviesumo jutiklį, kuris naudoja I²C duomenims siųsti.

7 veiksmas: 7 veiksmas: pridėkite vartotoją prie tinkamų grupių

Galiausiai pridėkite vartotoją prie kai kurių grupių:

1. Patikrinkite, kurioms grupėms priklauso jūsų dabartinis vartotojas:

sugrupuoja jūsų_ vartotojo vardą

2. Kad visos funkcijos veiktų, vartotojas turi priklausyti šioms grupėms:

adm dialout sudo įvestis netdev gpio i2c spi ·

Jei reikia, pridėkite vartotoją prie atitinkamų grupių:

sudo adduser your_username grupės pavadinimas

8 veiksmas: 8 veiksmas: duomenų bazė

8 žingsnis: duomenų bazė
8 žingsnis: duomenų bazė
8 žingsnis: duomenų bazė
8 žingsnis: duomenų bazė
8 žingsnis: duomenų bazė
8 žingsnis: duomenų bazė

Kad galėčiau išsaugoti skirtingus vartotojo nustatytus aliarmo laikus ir skirtingas jutiklių vertes, turėjau sukurti duomenų bazę. Duomenų bazės schemą galite pamatyti aukščiau.

Norėdami pridėti duomenų bazę prie Raspberry Pi, atlikite šiuos veiksmus:

1. Užmegzkite ryšį per „Putty“

2. Atnaujinkite „MySQL“

sudo apt-get atnaujinimas

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

sudo perkraukite

3. Saugus MariaDB

sudo mysql_secore_installation

4. Prisijunkite prie „MariaDB“

sudo mysql -u root

5. Šiuo metu duomenų bazėje nėra vartotojų. Naudodami šį kodą mes naudojame vartotoją, jums tereikia įvesti vartotoją ir slaptažodį:

SUTEIKITE VISAS PRIVILIEGIJAS *. * Į „fill_in_your_chosen_username“@'%'

IDENTIFIKUOTAS „fill_in_your_chosen_password“SU DOTACIJOS PASIRINKIMU;

PLŪŠIMO PRIVILIEGAI; EXIT;

6. Atsisiųskite duomenų bazę iš „Github“.

7. Sumontuokite darbastalį.

8. Užmegzkite ryšį su darbalaukiu su savo pi ir paleiskite failą.

9 veiksmas: 9 veiksmas: „Python“kodas

1. Atsisiųskite ir išsaugokite „Pythonfiles“iš „Github“.

2. Atsisiųskite ir atidarykite „Pycharm“.

3. Sukurkite vertėją ir diegimo konfigūraciją, tinkamą jūsų Raspberry Pi.

4. Redaguokite failą „mainCode1.py“„Pycharm“ir pakeiskite numerius bei duomenų bazės nustatymus į savo asmeninius nustatymus iš ankstesnių veiksmų.

10 veiksmas: 10 veiksmas: automatiškai paleiskite „Python“kodą

10 veiksmas: automatiškai paleiskite „Python“kodą
10 veiksmas: automatiškai paleiskite „Python“kodą

1. Užmegzkite glaistymo ryšį su savo Pi.

2. Atidarykite failą /etc/rc.local:

sudo nano /etc/rc.local

3. Prieš išeidami pridėkite šias eilutes:

miegoti 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

11 veiksmas: 11 veiksmas: „Arduino“kodas

1. Atsisiųskite ir išsaugokite.ino failą iš „Github“.

2. Prijunkite „Arduino“prie nešiojamojo kompiuterio per USB.

3. Atjunkite Rx ir Tx kabelius, jungiančius „Arduino“su „Raspberry Pi“.

4. Atidarykite failą ir įkelkite jį į „Arduino“.

5. Atjunkite „Arduino“nuo nešiojamojo kompiuterio ir tinkamai prijunkite Rx ir Tx kabelius.

6. Suteikite galią „Arduino“. 4*7 segmentų ekrane dabar turėtų būti rodoma 12:34

12 veiksmas: 12 veiksmas: tinklalapio serveris

12 veiksmas: tinklalapio serveris
12 veiksmas: tinklalapio serveris

1. Įdiekite apache:

sudo apt įdiegti apache2 -y

2. Tapkite katalogo/var/www/html savininku:

sudo chown pi/var/www/html

3. Eikite į katalogą:

cd/var/www/html

4. Patikrinkite, ar esate savininkas, o ne root:

ls -al

5. Atsisiųskite ir atidarykite „Filezilla“

6. Užmegzkite ryšį su savo pi, kaip parodyta paveikslėlyje. (naudokite 169.254.10.1 ir eterneto kabelį arba prijunkite per „Wi-Fi“)

a. Eikite į katalogą/var/www/html

b. Ištrinkite numatytąjį puslapį index.html

c. Perkelkite visus frontend failus į šį katalogą

13 žingsnis: 13 žingsnis: išorės kūrimas

13 žingsnis: išorės kūrimas
13 žingsnis: išorės kūrimas
13 žingsnis: išorės kūrimas
13 žingsnis: išorės kūrimas
13 žingsnis: išorės kūrimas
13 žingsnis: išorės kūrimas

Žadintuvo išorę galite padaryti taip, kaip jums patinka! Aš padariau žadintuvo dėžutę su 5 mm pločio daugialypiu mediniu skydeliu. Norite padaryti kažką panašaus, tai yra nurodytos dėžutės veiksmai:

1. Ant multipleksinio skydelio nupieškite šias figūras:

Šonai: 2 x kvadratas (180 mm x 180 mm)

Viršuje ir apačioje: 2 x stačiakampis (180 mm x 300 mm)

Priekyje ir gale: 2 x stačiakampis (170 mm x 300 mm)

2. Pjaukite ir šlifuokite kiekvienos formos kvadratą ir stačiakampį

3. Paimkite atsarginę medieną ir padarykite mažas 20 mm aukščio ir 20 mm pločio lentas.

4. Prisukite mažas lentas prie multiplekso vidų (apačioje, priekyje ir gale), kaip matyti nuotraukose.

5. Nuspręskite, kur norite padaryti atitinkamas skylutes LCD ekranui, 4*7 segmentų ekranui, garsiakalbiui, šviesumo jutikliui, RGB LED, sukamajam koduotuvui ir mygtukui.

6. Išmatuokite kiekvieną komponentą, kurį norite parodyti išorėje, ir nubrėžkite tinkamo dydžio formas ant multiplekso.

7. Iškirpkite reikiamus gabalus.

8. Prie dėžutės išorės pritvirtinkite keletą vyrių, sujungdami viršutinę ir galinę puses.

9. Priekinėje pusėje pritvirtinkite magnetą, o viršutinėje pusėje - mažą metalinę plokštelę.

10. Prisukite arba priklijuokite viską, kur norite.

11. Surinkite dėžutę, sukdami visas išorines puses (išskyrus viršutinę dalį).

Galite praleisti 3 ir 4, jei naudojate mažesnius varžtus (aš naudojau 12 mm varžtus). Tačiau mažesnių varžtų naudojimas šiek tiek sumažina dėžės stabilumą.

Rekomenduojamas: