Sadržaj:

Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom: 9 koraka
Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom: 9 koraka

Video: Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom: 9 koraka

Video: Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom: 9 koraka
Video: Места, бросающие вызов реальности, чтобы взорвать ваш мозг 2024, Srpanj
Anonim
Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom
Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom
Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom
Čarobno ogledalo s vijestima, vremenom, alarmom, mjeračem vremena i todolistom

Čarobno ogledalo je posebno jednosmjerno ogledalo s zaslonom iza njega. Zaslon, povezan s Raspberry Pi, prikazuje informacije poput vremena, sobne temperature, vremena, datuma, todolista i još mnogo toga. Možete čak dodati mikrofon i postaviti pametnog pomoćnika. Mogućnosti su beskrajne.

Ovaj projekt može biti prilično skup, jedan od najskupljih dijelova koji će vam trebati je naravno zaslon. Zato sam reciklirao zaslon sa starog prijenosnog računala. Ipak, preporučujem da za izradu ovog projekta nabavite veliki, svijetli zaslon s visokim kontrastom. Vrijedno je toga.

Ogledalo koje sam napravio ima sljedeće značajke:

  • Vijesti iz RSS izvora koji je odabrao korisnik
  • Vrijeme
  • Unutrašnja temperatura
  • Alarmni sustav
  • Sustav mjerača vremena
  • Todolist
  • Više korisnika: boja trake i traka za novine mijenja se ovisno o tome koji je korisnik odabran.

Pribor

Za izradu ovog čarobnog ogledala trebat će vam:

  • Jednosmjerno ogledalo
  • Drvo
  • Pivo od maline Pi
  • Micro SD kartica (8+GB)
  • Matična ploča
  • Dva zvučnika snage 20W
  • MAX9744 Pojačalo od 20 W za napajanje zvučnika
  • 1m vodilna traka WS2801 sa 30 vodilica
  • DS18B20 1-žični osjetnik temperature
  • HC-SR501 Infracrveni senzor
  • Rotacijski davač
  • Monitor ili ekran starog prijenosnog računala

    Ako koristite stari zaslon za prijenosno računalo, morat ćete kupiti adapter za prijenosno računalo. Možete ih nabaviti na AliExpressu, Ebayu ili Amazonu. Samo potražite serijski broj zaslona

Također će vam trebati sljedeće male komponente:

  • Dioda
  • Otpornik od 4,7 k Ohma
  • Otpornik od 470 Ohma
  • Žice za povezivanje senzora s Raspberry Pi

I ova napajanja:

  • 5V 2A za napajanje LED trake
  • 12V 2A za napajanje zaslona
  • 12V 2A za napajanje pojačala
  • 5.1V 3A za napajanje Raspberry Pi (koristite službeno napajanje RPi)

Korak 1: Instaliranje Raspbiana

Zaslon i sve komponente iza zrcala pokreće Raspberry Pi. Morat ćete instalirati Raspbian, zadani operativni sustav Pi, na SD karticu.

  1. Preuzmite Win32 Disk Imager. Korisnici Linuxa i MacOS -a mogu koristiti nešto poput Etchera.
  2. Preuzmite najnoviju Raspbian sliku s web stranice Raspberry Pi. Odaberite opciju 'Raspbian Buster s radnom površinom'
  3. Otvorite Win32 Disk Imager i zapišite slikovnu datoteku na SD karticu.

SD kartica je sada gotovo spremna. Moramo se samo pobrinuti da se daljinski povežemo s Raspberry Pi:

  1. Idite na particiju za podizanje sustava SD kartice pomoću programa za istraživanje datoteka vašeg sustava.
  2. Dodajte datoteku pod nazivom 'ssh' bez nastavka.
  3. Dodajte "ip = 169.254.10.1" (bez navodnika) na kraj prvog retka "cmdline.txt".

Sigurno izbacite SD karticu iz računala, stavite je u Raspberry Pi i pokrenite je.

Korak 2: WiFi konfiguracija

Za skeniranje WiFi mreža izvršite sljedeću naredbu:

sudo iw dev wlan0 scan | grep SSID

Vidjet ćete popis svih SSID -ova na koje se vaš Raspberry Pi može povezati.

Izradite mrežni unos s šifriranom lozinkom izvršavanjem sljedeće naredbe i unosom lozinke vaše mreže:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Sada zalijepite izlaz gornje naredbe u ovu datoteku:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Sada ponovno pokrenite Raspberry Pi. Bit ćete povezani s internetom.

Korak 3: Instalacija i konfiguracija softvera

Za ovaj projekt morate preuzeti ove pakete na svoj Raspberry Pi:

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

sudo apt instalirajte apache2 mariadb-poslužitelj

Dodajte ovaj redak na dno /boot/config.txt kako biste omogućili zvuk putem GPIO pinova 12 (lijevo) i 13 (desno):

dtoverlay = audremap

Pomoću raspi-config postavite rezoluciju zaslona i omogućite i2c, One-wire i SPI. Također postavite način pokretanja na 'Desktop Autologin'.

U/etc/xdg/lxsession/LXDE-pi/autostart dodajte sljedeće:

@xset s off@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # učitavanje kroma nakon pokretanja i otvaranje web stranice u načinu prikaza na cijelom zaslonu

Ovo otvara preglednik na ispravnoj stranici kada se učita LXDE (Raspbian desktop okruženje). Također uklonite ili komentirajte liniju @xscreensaver da biste onemogućili čuvar zaslona.

Spremište Github

Kloniraj moje spremište GitHub i stavi sadržaj mape Frontend u/var/www/html. Mapa Backend će nam trebati kasnije.

Korak 4: Baza podataka

Baza podataka
Baza podataka

Ovo je shema baze podataka, optimizirana na 3NF. Pohranjuje sve alarme, nove izvore, korisnike, podatke senzora, zvukove i popis pjesama.

  1. Koristite MySQL Workbench za pristup poslužitelju baze podataka vašeg pi (mariadb)
  2. Izradite bazu podataka pomoću ove sheme i umetnite vlastite podatke.
  3. Uredite config.py u pozadinskoj mapi mojega GitHub spremišta: promijenite naziv baze podataka, odabrano korisničko ime i lozinku.
  4. Uredite app.py i promijenite URL API -ja OpenWeatherMap u svoj. (Ovdje izradite vlastiti)

Korak 5: Izgradnja zrcalnog okvira

Izrada okvira zrcala
Izrada okvira zrcala
Izrada okvira zrcala
Izrada okvira zrcala
Izrada okvira zrcala
Izrada okvira zrcala

Izgradio sam okvir oko zrcala koristeći Mitre spojeve s metalnim uglovima. Drvene daske koje sam koristio su debele 18 mm i široke 10 cm. Na slikama možete vidjeti točne mjere ogledala dimenzija 45 x 60 cm. Iza zrcala nalazi se sva elektronika, stoga pazite da vam daske budu dovoljno široke da im stane.

Za pričvršćivanje zvučnika na okvir koristio sam metalne kuke. Na taj način ne odmaraju se na ogledalu, smanjujući vibracijski stres na staklu.

Korak 6: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Slijedite gornje sheme za izgradnju kruga. Koristio sam traku za pričvršćivanje elektronike na ogledalo.

Korak 7: Ugradnja elektronike u okvir

Ugradnja elektronike u okvir
Ugradnja elektronike u okvir
Ugradnja elektronike u okvir
Ugradnja elektronike u okvir

Nakon što ste pričvrstili zvučnike na metalne kuke na vrhu, dodajte ostatak elektronike u ogledalo. Također sam stavio tanku drvenu dasku između zrcala i elektronike, pa sam umjesto elektronike zalijepio za ogledalo, zalijepio sam elektroniku za drvenu dasku. Zaslon prijenosnog računala je bijela ploča na dnu ogledala.

Kao što možete vidjeti na slikama, sve adaptere za napajanje priključio sam u utičnicu s više utičnica tako da samo jedan kabel napušta okvir. Zato su mi trebale dovoljno široke daske (10 cm).

Izbušio sam rupu širine 2 cm na desnoj strani zrcala kako bi rotacijski davač mogao proći. To vam omogućuje jednostavno mijenjanje glasnoće (okretanje) ili odbacivanje mjerača vremena i alarma (guranje).

Izbušio sam dvije rupe od 8 mm s obje strane ogledala kako bih usmjerio kabele za trake za trake.

Korak 8: Završni dodiri

Završni dodiri
Završni dodiri
Završni dodiri
Završni dodiri
Završni dodiri
Završni dodiri

Dodao sam crnu tkaninu na stražnju stranu ogledala kako bih sakrio elektroniku. Također zatamnjuje unutrašnjost kućišta, što znatno otežava gledanje žica kroz ogledalo. Pričvrstio sam ga čičkom, olakšavajući pristup elektronici po potrebi.

Kopirajte Backend mapu iz mog Github spremišta na mjesto koje ćete pamtiti.

Dodajte jedinicu systemd tako da se python skripta pokreće pri pokretanju:

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

[Jedinica]

Opis = Usluga za python skriptu magicmirror After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = naslijedi StandardError = naslijedi Restart = uvijek Korisnik = pi [Instaliraj] TraženBy = višekorisnički cilj

Promijenite 'WorkingDirectory' u Backend direktorij i promijenite User u svoje korisničko ime.

Korak 9: Interakcija s Webappom

Interakcija s Webappom
Interakcija s Webappom
Interakcija s Webappom
Interakcija s Webappom
Interakcija s Webappom
Interakcija s Webappom
Interakcija s Webappom
Interakcija s Webappom

Pređite na IP adresu (koja je na zaslonu). Prikazat će se web lokacija za mobilne uređaje sa sljedećim značajkama:

  • Grafikon interaktivne temperature
  • Vrijeme. Kad mjerač vremena radi, vidjet ćete i odbrojavanje na samom ogledalu.
  • Alarmni sustav
  • Kartica postavki na kojoj možete uređivati korisnike, izvore novina i glasnoću zvučnika.
  • Todolist. Todo stavke bit će prikazane na ogledalu

Mirror.html je stranica koja se prikazuje na Magic Mirror -u. Dodao sam primjer na gornjim slikama.

Preporučeni: