Kazalo:

Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom: 9 korakov
Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom: 9 korakov

Video: Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom: 9 korakov

Video: Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom: 9 korakov
Video: Часть 1 — Аудиокнига Кеннета Грэма «Ветер в ивах» (гл. 01–05) 2024, November
Anonim
Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom
Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom
Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom
Čarobno ogledalo z novicami, vremenom, alarmom, časovnikom in todolistom

Magic Mirror je posebno enosmerno ogledalo z zaslonom za njim. Zaslon, ki je povezan z Raspberry Pi, prikazuje podatke, kot so vreme, sobna temperatura, čas, datum, todolist in še veliko več. Dodate lahko celo mikrofon in nastavite pametnega pomočnika. Možnosti je neskončno.

Ta projekt je lahko precej drag, eden najdražjih delov, ki jih boste potrebovali, je seveda zaslon. Zato sem recikliral zaslon iz starega prenosnika. Priporočam pa, da za ta projekt dobite velik, svetel zaslon z visokim kontrastom. Je vredno.

Ogledalo, ki sem ga naredil, ima te lastnosti:

  • Novice iz vira RSS, ki ga izberejo uporabniki
  • Vreme
  • Notranja temperatura
  • Alarmni sistem
  • Časovnik
  • Todolist
  • Več uporabnikov: barva traku in nov vir se spreminja glede na izbranega uporabnika.

Zaloge

Za izdelavo tega čarobnega ogledala boste potrebovali:

  • Enosmerno ogledalo
  • Les
  • Malina Pi
  • Kartica Micro SD (8+GB)
  • Tla
  • Dva 20W zvočnika
  • MAX9744 20W ojačevalnik za napajanje zvočnikov
  • 1m 30-vodni trak WS2801
  • DS18B20 1-žični temperaturni senzor
  • Infrardeči senzor HC-SR501
  • Rotacijski dajalnik
  • Monitor ali zaslon starega prenosnika

    Če uporabljate star zaslon za prenosni računalnik, boste morali kupiti adapter za prenosni računalnik. Te lahko dobite na AliExpressu, Ebayu ali Amazonu. Samo poiščite serijsko številko zaslona

Potrebovali boste tudi naslednje majhne komponente:

  • Dioda
  • 4,7 k ohmski upor
  • Upor 470 ohmov
  • Žice za povezavo senzorjev z Raspberry Pi

In ti napajalniki:

  • 5V 2A za napajanje LED traku
  • 12V 2A za napajanje zaslona
  • 12V 2A za napajanje ojačevalnika
  • 5.1V 3A za napajanje Raspberry Pi (uporabite uradni vir napajanja RPi)

1. korak: Namestitev Raspbiana

Zaslon in vse komponente za ogledalom poganja Raspberry Pi. Na kartico SD boste morali namestiti Raspbian, privzeti operacijski sistem Pi.

  1. Prenesite Win32 Disk Imager. Uporabniki Linuxa in MacOS -a lahko uporabljajo nekaj podobnega Etcher.
  2. Prenesite najnovejšo sliko Raspbian s spletnega mesta Raspberry Pi. Izberite možnost 'Raspbian Buster z namizjem'
  3. Odprite Win32 Disk Imager in slikovno datoteko zapišite na kartico SD.

Kartica SD je zdaj skoraj pripravljena. Prepričati se moramo le, da se lahko z Raspberry Pi povežemo na daljavo:

  1. Pojdite na "zagonsko" particijo kartice SD z raziskovalcem datotek vašega sistema.
  2. Dodajte datoteko z imenom 'ssh' brez razširitve.
  3. Dodajte "ip = 169.254.10.1" (brez narekovajev) na konec prve vrstice "cmdline.txt".

Varno odstranite kartico SD iz računalnika, jo vstavite v Raspberry Pi in jo zaženite.

Korak: Konfiguracija WiFi

Če želite optično prebrati omrežja WiFi, izvedite naslednji ukaz:

sudo iw dev wlan0 scan | grep SSID

Videli boste seznam vseh SSID -jev, s katerimi se lahko poveže Raspberry Pi.

Ustvarite omrežni vnos s šifriranim geslom tako, da izvedete naslednji ukaz in vnesete geslo za omrežje:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Zdaj prilepite izhod zgornjega ukaza v to datoteko:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Zdaj znova zaženite Raspberry Pi. Povezani boste z internetom.

3. korak: Namestitev in konfiguracija programske opreme

Za ta projekt boste morali na vaš Raspberry Pi prenesti te pakete:

pip3 namestite mysql-connector-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt namestite apache2 mariadb-server

Dodajte to vrstico na dno /boot/config.txt, da omogočite zvok prek zatičev GPIO 12 (levo) in 13 (desno):

dtoverlay = audremap

Z raspi-config nastavite ločljivost zaslona in omogočite i2c, enožično in SPI. Način zagona nastavite tudi na »Samodejna prijava na namizje«.

V/etc/xdg/lxsession/LXDE-pi/autostart dodajte naslednje:

@xset s off@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # naložite chromium po zagonu in odprite spletno mesto v celozaslonskem načinu

To odpre brskalnik na pravi strani, ko se naloži LXDE (namizno okolje Raspbian). Odstranite ali komentirajte vrstico @xscreensaver, da onemogočite ohranjevalnik zaslona.

Skladišče Github

Kloniraj moje skladišče GitHub in vstavi vsebino mape Frontend v/var/www/html. Mapo Backend bomo potrebovali kasneje.

4. korak: Baza podatkov

Baza podatkov
Baza podatkov

To je shema baze podatkov, optimizirana na 3NF. Shrani vse alarme, nove vire, uporabnike, podatke senzorjev, zvoke in todolist.

  1. Uporabite MySQL Workbench za dostop do strežnika baz podatkov pi (mariadb)
  2. S to shemo ustvarite bazo podatkov in vnesite svoje podatke.
  3. Uredite config.py v mapi Backend v mojem skladišču GitHub: spremenite ime zbirke podatkov, izbrano uporabniško ime in geslo.
  4. Uredite app.py in spremenite URL API -ja OpenWeatherMap v svojega. (Ustvarite si svojega tukaj)

5. korak: Izdelava zrcalnega okvirja

Izdelava zrcalnega okvirja
Izdelava zrcalnega okvirja
Izdelava zrcalnega okvirja
Izdelava zrcalnega okvirja
Izdelava zrcalnega okvirja
Izdelava zrcalnega okvirja

Okvir sem okoli ogledala zgradil s pomočjo spojev Mitre s kovinskimi vogali. Lesene deske, ki sem jih uporabil, so debele 18 mm in široke 10 cm. Na slikah lahko vidite natančne mere ogledala velikosti 45 x 60 cm. Za ogledalom je vsa elektronika, zato poskrbite, da bodo vaše deske dovolj široke, da se jim prilegajo.

Za pritrditev zvočnikov na okvir sem uporabil kovinske kljuke. Tako ne počivajo na ogledalu, kar zmanjšuje vibracije na steklu.

6. korak: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Sestavite vezje po zgornjih shemah. Za pritrditev elektronike na ogledalo sem uporabil trak.

7. korak: Namestitev elektronike v okvir

Namestitev elektronike v okvir
Namestitev elektronike v okvir
Namestitev elektronike v okvir
Namestitev elektronike v okvir

Ko zvočnike pritrdite na kovinske kljuke na vrhu, dodajte preostalo elektroniko v ogledalo. Med ogledalo in elektroniko sem postavil tudi tanko leseno desko, zato sem namesto elektronike na ogledalo prilepil elektroniko na leseno desko. Zaslon prenosnega računalnika je bela plošča na dnu ogledala.

Kot lahko vidite na slikah, sem vse napajalnike priključil v več vtičnico, tako da iz okvirja zapusti le en kabel. Zato sem potreboval dovolj široke deske (10 cm).

Na desni strani ogledala sem izvrtal luknjo širine 2 cm, da se lahko obrne dajalnik. To vam omogoča enostavno spreminjanje glasnosti (obračanje) ali opustitev časovnikov in alarmov (pritisk).

Na obeh straneh ogledala sem izvrtal dve luknji 8 mm za napeljavo kablov za trakove.

8. korak: Zaključni dotiki

Zaključni dotiki
Zaključni dotiki
Zaključni dotiki
Zaključni dotiki
Zaključni dotiki
Zaključni dotiki

Na zadnjo stran ogledala sem dodal črno krpo, da skrijem elektroniko. Zatemni tudi notranjost ohišja, zaradi česar je veliko težje videti žice skozi ogledalo. Pritrdil sem ga z velcro, kar olajša dostop do elektronike po potrebi.

Kopirajte mapo Backend iz mojega skladišča Github na mesto, ki si ga boste zapomnili.

Dodajte enoto systemd, da se skript python zažene ob zagonu:

sudo nano /etc/systemd/system/magicmirror.service

[Enota]

Opis = Storitev za skript python magicmirror After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = deduje StandardError = deduje Restart = vedno Uporabnik = pi [Namesti] WantedBy = cilj za več uporabnikov

Spremenite 'WorkingDirectory' v imenik Backend in uporabnika spremenite v svoje uporabniško ime.

9. korak: Interakcija z aplikacijo Webapp

Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp
Interakcija z aplikacijo Webapp

Poiščite naslov IP (ki je na zaslonu). Prikazalo se bo spletno mesto za mobilne naprave z naslednjimi funkcijami:

  • Interaktivni temperaturni graf
  • Čas. Ko časovnik deluje, boste videli tudi odštevanje na samem ogledalu.
  • Alarmni sistem
  • Zavihek z nastavitvami, kjer lahko urejate uporabnike, nove vire in glasnost zvočnikov.
  • Todolist. Todo predmeti bodo prikazani na ogledalu

Mirror.html je stran, ki je prikazana na čarobnem ogledalu. Na zgornjih slikah sem dodal primer.

Priporočena: