Kazalo:
- 1. korak: 1. korak: Zbiranje komponent
- 2. korak: 2. korak: Sheme
- 3. korak: 3. korak: Nastavitev Raspberry Pi
- 4. korak: 4. korak: Povezovanje Raspberry Pi
- 5. korak: 5. korak: spremenite nastavitve z Raspi-config
- 6. korak: 6. korak: spremenite nastavitve v /boot/config.txt
- 7. korak: 7. korak: dodajte uporabnika v prave skupine
- 8. korak: 8. korak: zbirka podatkov
- 9. korak: 9. korak: Pythonova koda
- 10. korak: 10. korak: samodejno zaženite kodo Python
- 11. korak: 11. korak: Arduino koda
- 12. korak: 12. korak: spletni strežnik
- Korak 13: Korak 13: Gradnja zunaj
Video: Pametna budilka: 13 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Pozdravljeni, moje ime je Alexandra Christiaens in študiram medije in komunikacijsko tehnologijo na Howest v Kortrijku v Belgiji.
Kot šolsko nalogo smo morali narediti napravo IoT. Spodbujali so nas, da naredimo nekaj, kar bi spremenilo naše življenje ali življenje ljudi, ki jih poznamo. Bilo mi je precej težko najti projekt in ko sem poskušal poiskati primeren projekt, sem pogosto pomislil: "Preveč sem utrujen za to." Tako sem sčasoma spoznal, da je to lahko moj projekt: naredil bi si pametno budilko, ki mi bo pomagala zjutraj vstati in zvečer pravočasno spal. Ker so zahteve za to nalogo narekovale, da za uporabo vsega uporabljamo Raspberry Pi, sem se odločil, da svojo napravo imenujem "Sleepi" kot besedno zvezo.
Če bi radi sami naredili to napravo in dobili spodobno spalno rutino, kot sem jaz, si oglejte ta priročen vodnik, ki sem ga napisal spodaj. Če želite izvedeti več o meni in drugih projektih, ki sem jih naredil ali jih bom naredil, si oglejte moj portfelj.
1. korak: 1. korak: Zbiranje komponent
Torej, najprej se prepričajmo, da imamo vse, kar potrebujemo, preden začnemo graditi. Naredil sem seznam najpomembnejših komponent. Spodaj lahko najdete pdf z podrobnejšimi informacijami o komponentah.
- 1 x Raspberry Pi 3 model B
- 1 x (prazna) kartica microSD in adapter (imam kartico 16 GB, vendar je dovolj 8 GB)
- 1 x 5V napajanje za Raspberry Pi
- 1 x ethernetni kabel
- 2 x 9V baterije
- 2 x 9V sponke za baterije
- 1 x GPIO 40 -polna razširitvena plošča in mavrični kabel
- 2 x BB830 vtični Breadbord brez spajkanja
- 1 x Arduino Uno
- 1 x 0,56 -palčni zaslon 4*7 segmentov
- 1x temperaturni senzor DS18B20
- 1 x senzor svetilnosti TSL2561
- 1 x 1602A LCD zaslon
- 1 x nivojski pretvornik
- 1 x menjalnik SN74HC595N
- 1 x rotacijski dajalnik
- 1x potenciometer
- 1 x Power RGB LED
- 1 x zvočnik
- 4 x 337B tranzistorji
- 1x dioda
- 1x gumb
- 3 x xl4005 31 LED gonilnik
- 7 x uporov (2 x 10 k Ohm, 4 x 1 k Ohm, 1 x 470 Ohm)
- Različni mostični kabli (moški do moški in moški do ženski)
Neobvezno:
- 1 x multiplex lesena plošča (uporabil sem eno z naslednjimi meritvami, ki so bile več kot dovolj: 860 mm x 860 mm x 5 mm)
- različna orodja za obdelavo lesa
- Akrilna barva v barvi, ki vam je všeč
2. korak: 2. korak: Sheme
Ko sem zbral vse komponente, sem lahko začel vse povezovati. Najprej sem naredil shemo Fritzinga, da se prepričam, da ne bom ocvrl nobenih sestavin, tako da jih napačno povežem. Po nekaj povratnih informacijah mojih učiteljev sem naredil nekaj popravkov, ki so povzročili naslednji shematski diagram in diagram ožičenja:
Večina zatičev GPIO je zamenljivih, zato jih lahko po želji zamenjate. Ne pozabite ustrezno spremeniti številk pin v kodi.
Nekateri elementi pa morajo biti povezani z določenimi zatiči. Prepričajte se, da je senzor svetilnosti priključen na GPIO 23 (SDA) in GPIO 24 (SCL). Pojasnil bom, zakaj je to pomembno v 5. koraku.
3. korak: 3. korak: Nastavitev Raspberry Pi
Zdaj je čas, da nastavimo naš Pi:
1. Vstavite kartico microSD v adapter in jo priključite v računalnik.
Če kartica microSD ni prazna, jo najprej formatirajte po želeni metodi.
2. Namestite programsko opremo Raspbian OS s spletnega mesta Raspberry pi.
Prenesite datoteko ZIP in jo izvlecite na želeno mesto.
3. Prenesite upravitelja diskov Win32.
Kliknite ikono mape, da izberete sliko. Izberite »microSD« v »Naprava«. Kliknite »Pisanje«.
Ko je slika zapisana na kartico MicroSD, jo lahko odprete v Raziskovalcu.
Odprite datoteko "cmdline.txt" Na koncu datoteke dodajte naslednjo vrstico besedila: ip = 169.254.10.1 Prepričajte se, da je vse v isti vrstici. Shranite datoteko.
Zdaj izvlecite kartico MicroSD iz računalnika. Prepričajte se, da je napajanje vašega Pi izklopljeno in vstavite kartico v svoj Raspberry Pi.
Priključite ethernetni kabel na Pi in računalnik.
Napajajte Pi s 5, 2V napajalnikom.
4. korak: 4. korak: Povezovanje Raspberry Pi
Povezati
pi z računalnikom bomo uporabili Putty.
1. Namestite Putty in ga odprite.
2. Vnesite naslov IP in vrata, kot je prikazano na sliki, in kliknite »odpri«.
3. Prijavite se z naslednjimi privzetimi nastavitvami:
a. Uporabniško ime: pi
b. Geslo: malina
4. Če želite nastaviti WiFi:
a. Sudo nano /etc/wpa_supllicant/wpa_supllicant.conf
b. Na dnu datoteke dodajte te vrstice:
jaz. Omrežje = {
ii. ssid = "Vnesite ime svojega brezžičnega omrežja"
iii. psk = "Izpolnite geslo svojega brezžičnega omrežja"
iv. }
c. Zaprite datoteko in jo shranite
5. Vnesite naslednji ukaz, da ugotovite naslov IP vašega Pi: ifconfig wlan0
6. Zdaj lahko uporabite ta naslov IP v Putty za vzpostavitev brezžične povezave (glejte zgoraj).
5. korak: 5. korak: spremenite nastavitve z Raspi-config
Zdaj se moramo prepričati, da lahko Pi komunicira z vsemi našimi komponentami.
Spremenili bomo nekatere nastavitve v raspi-config
Odprite raspi-config z ukazom:
sudo raspi-config
2. Izberite 4 Možnosti lokalizacije.
3. Izberite I2 Spremeni časovni pas.
4. Spremenite časovni pas v lokalni časovni pas in se dokončajte, da se vrnete na raspi-config.
5. Izberite 5 Možnosti vmesnika.
6. Izberite P5 I2C.
7. Omogočite komunikacijo I2C.
8. Izberite 5 Možnosti vmesnika
9. Izberite Serijski P6
10. Onemogoči prijavno lupino.
11. Omogočite serijsko komunikacijo
6. korak: 6. korak: spremenite nastavitve v /boot/config.txt
Zdaj moramo znova konfigurirati nekatere stvari v datoteki /boot/config.txt
1. Odprite datoteko:
sudo nano /boot/config.txt
2. Na dnu bi morali videti:
enable_uart = 1
To je zato, ker smo serijska vrata omogočili že prej.
3. Dodajte naslednji dve vrstici:
dtoverlay = pi3-miniuart-bt
dtoverlay = i2c-gpio, vodilo = 3
Raspberry Pi 3 ima 2 serijska vrata: serijska vrata za strojno opremo in serijska vrata za programsko opremo. S prvim ukazom dodelimo serijska vrata programske opreme funkciji Bluetooth in dodelimo serijska vrata strojne opreme nožicama Rx in Tx, ki jih bomo uporabili za komunikacijo z Arduinom.
Druga vrstica aktivira programsko vodilo I²C na Pi. To je zato, ker strojno vodilo I²C včasih povzroči napake, ko senzor, priključen na to vodilo I²C, uporablja raztezanje ure. Programsko vodilo I²C bo samodejno aktivno na GPIO 23 (SDA) in GPIO 4 (SCL), zato je bilo tako pomembno, da pravilno povežete senzor svetilnosti, ki uporablja I²C za pošiljanje podatkov.
7. korak: 7. korak: dodajte uporabnika v prave skupine
Končno dodajte uporabnika v nekatere skupine:
1. Preverite, v katere skupine spada vaš trenutni uporabnik:
združuje vaše_ime uporabnika
2. Za delovanje vseh funkcij mora uporabnik pripadati naslednjim skupinam:
adm dialout sudo vhod netdev gpio i2c spi ·
Po potrebi dodajte uporabnika v ustrezne skupine:
sudo adduser your_usernameime skupine
8. korak: 8. korak: zbirka podatkov
Da sem lahko shranil različne alarme, ki jih je nastavil uporabnik, in različne vrednosti senzorjev, sem moral narediti bazo podatkov. Shemo baze podatkov si lahko ogledate zgoraj.
Če želite zbirko podatkov dodati v Raspberry Pi, naredite naslednje:
1. Vzpostavite povezavo prek Puttyja
2. Posodobite MySQL
sudo apt-get posodobitev
sudo apt-get install mysql-server --fix-missing -y
sudo ponovni zagon
3. Zavarujte MariaDB
sudo mysql_secore_installation
4. Prijavite se v MariaDB
sudo mysql -u koren
5. Baza podatkov trenutno nima uporabnikov. To kodo uporabljamo za ustvarjanje uporabnika, le izpolniti morate uporabnika in geslo:
DAJTE VSE PRIVILEGIJE NA *. * NA ‘fill_in_your_chosen_username’@’%’
IDENTIFIKIRANO z „fill_in_your_chosen_password“Z DODELITEV MOŽNOSTI;
FLUSH PRIVILEGIJE; IZHOD;
6. Prenesite bazo podatkov z Github -a.
7. Namestite delovno mizo.
8. V delovni mizi vzpostavite povezavo s pi in izvedite datoteko.
9. korak: 9. korak: Pythonova koda
1. Prenesite in shranite datoteke Python iz Github -a.
2. Prenesite in odprite Pycharm.
3. Prilagodite konfiguracijo tolmača in uvajanja za vaš Raspberry Pi.
4. Uredite datoteko mainCode1.py v Pycharmu in spremenite številke pin in nastavitve baze podatkov v svoje osebne nastavitve iz prejšnjih korakov.
10. korak: 10. korak: samodejno zaženite kodo Python
1. Naredite Putty povezavo s svojim Pi.
2. Odprite datoteko /etc/rc.local:
sudo nano /etc/rc.local
3. Pred izhodom dodajte naslednje vrstice:
spanje 60
python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py
11. korak: 11. korak: Arduino koda
1. Prenesite in shranite datoteko.ino iz Github -a.
2. Povežite svoj Arduino z prenosnim računalnikom prek USB -ja.
3. Odklopite kabla Rx in Tx, ki povezujeta Arduino z Raspberry Pi.
4. Odprite datoteko in jo naložite v Arduino.
5. Odklopite Arduino iz prenosnega računalnika in pravilno priključite kable Rx in Tx.
6. Dajte moč Arduinu. 4*7 segmentni zaslon bi moral zdaj kazati 12:34
12. korak: 12. korak: spletni strežnik
1. Namestite apache:
sudo apt namestite apache2 -y
2. Postanite lastnik imenika/var/www/html:
sudo chown pi/var/www/html
3. Pojdite v imenik:
cd/var/www/html
4. Preverite, ali ste lastnik namesto root:
ls -al
5. Prenesite in odprite Filezilla
6. Vzpostavite povezavo s svojim pi, kot je prikazano na sliki. (uporabite 169.254.10.1 in ethernetni kabel ali se povežite prek wi-fi)
a. Pojdite v imenik/var/www/html
b. Izbrišite privzeto stran index.html
c. Vse sprednje datoteke premaknite v ta imenik
Korak 13: Korak 13: Gradnja zunaj
Budilko lahko naredite zunaj, kakor želite! Za svojo budilko sem naredil škatlo z leseno ploščo multiplex širine 5 mm. Želim narediti nekaj podobnega, to so koraki za omenjeno polje:
1. Na plošči multipleksa narišite naslednje oblike:
Strani: 2 x kvadratna (180 mm x 180 mm)
Zgoraj in spodaj: 2 x pravokotnik (180 mm x 300 mm)
Spredaj in zadaj: 2 x pravokotnik (170 mm x 300 mm)
2. Žagajte in brušite vsako obliko kvadrata in pravokotnika
3. Vzemite nekaj rezervnega lesa in naredite majhne deske visoke 20 mm in široke 20 mm.
4. Majhne deske privijte na notranjo stran (spodaj, spredaj in zadaj) multipleksa, kot je prikazano na fotografijah.
5. Odločite se, kje želite narediti ustrezne luknje za LCD zaslon, 4*7 segmentni zaslon, zvočnik, senzor svetilnosti, LED RGB, vrtljivi dajalnik in gumb.
6. Izmerite vsako komponento, ki jo želite prikazati na zunanji strani, in na multipleksu narišite ustrezne velikosti.
7. Izrežite potrebne kose.
8. Na zunanjo stran škatle pritrdite nekaj tečajev, ki povezujejo zgornji in zadnji del.
9. Na notranjo stran sprednje strani pritrdite magnet, na notranjo stran zgornje strani pa majhno kovinsko ploščico.
10. Privijte ali lepite vse, kjer želite.
11. Sestavite škatlo tako, da vse zunanje dele privijete skupaj (razen zgornje).
3 in 4 lahko preskočite, če uporabljate manjše vijake (jaz sem uporabil 12 mm vijake). Uporaba manjših vijakov pa nekoliko zmanjša stabilnost škatle.
Priporočena:
Pametna budilka z uporabo Magicbita (Arduino): 10 korakov
Pametna budilka z uporabo programa Magicbit (Arduino): Ta vadnica prikazuje, kako narediti pametno budilko z uporabo OLED zaslona na plošči za razvijalce Magicbit brez uporabe modula RTC
WakeupNow - pametna budilka: 8 korakov
WakeupNow - pametna budilka: Kot vsi vemo, je življenje študentov zelo težko, imajo dolg dan s predavanji, veliko domačih nalog in na splošno imajo noro življenje. Nimajo časa za nič, in če jim predlagate, da dnevu dodajo nekaj ur, bodo veseli. Odpri
Nadgrajena budilka, pametna luč: 8 korakov (s slikami)
Upcycled Alarm Clock Smart Light: V tem projektu obnovim popolnoma pokvarjeno budilko. Številčnico ure zamenja 12 LED, osvetljenih z LED trakom okoli roba ure. 12 LED diod pove čas in LED trak je programiran, da deluje kot alarm, obrača
Zbudi me - pametna budilka: 6 korakov
Wake Me Up - pametna budilka: Wake me up je pametna budilka, ki jo lahko uporabite tudi kot pametno luč. Vgrajen ledstrip simulira naravno svetlobo, ki prihaja v vašo sobo. To omogoča miren in naraven način za začetek dneva. Budilka je opremljena tudi s segmentom 4*7
Pametna budilka: pametna budilka iz Raspberry Pi: 10 korakov (s slikami)
Pametna budilka: pametna budilka iz Raspberry Pi: Ste si kdaj želeli pametno uro? Če je tako, je to rešitev za vas! Naredil sem pametno budilko, to je ura, ki jo lahko spremenite glede na spletno stran. Ko se alarm sproži, bo zaslišal zvočni signal in dve lučki bosta