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, Juli
Anonim
Čarobno ogledalo s vijestima, vremenom, alarmom, tajmerom i todolistom
Čarobno ogledalo s vijestima, vremenom, alarmom, tajmerom i todolistom
Čarobno ogledalo s vijestima, vremenom, alarmom, tajmerom i todolistom
Čarobno ogledalo s vijestima, vremenom, alarmom, tajmerom i todolistom

Magično ogledalo je posebno jednosmerno ogledalo sa ekranom iza njega. Zaslon, koji je 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 ekran. Zato sam reciklirao ekran sa starog laptopa. Ipak, preporučujem da za izradu ovog projekta nabavite veliki, svijetao ekran visokog kontrasta. Vrijedi.

Ogledalo koje sam napravio ima ove karakteristike:

  • Vijesti iz RSS izvora koji je odabrao korisnik
  • Weather
  • Unutrašnja temperatura
  • Alarmni sistem
  • Tajmer sistem
  • Todolist
  • Više korisnika: boja trake i traka za novine se mijenja ovisno o tome koji je korisnik odabran.

Supplies

Za izradu ovog čarobnog ogledala trebat će vam:

  • Jednosmerno ogledalo
  • Drvo
  • A Raspberry 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 LED traka sa 30 LED-a WS2801
  • DS18B20 1-žični senzor temperature
  • HC-SR501 Infracrveni senzor
  • Rotacijski davač
  • Monitor ili ekran starog laptopa

    Ako koristite stari ekran za laptop, moraćete da kupite adapter za ekran za laptop. Možete ih nabaviti na AliExpressu, Ebayu ili Amazonu. Samo potražite serijski broj ekrana

Trebat će vam i sljedeće male komponente:

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

I ova napajanja:

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

Korak 1: Instaliranje Raspbiana

Ekran i sve komponente iza ogledala pokreće Raspberry Pi. Morat ćete instalirati Raspbian, zadani operativni sistem 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 sa web lokacije Raspberry Pi. Odaberite opciju 'Raspbian Buster sa radnom površinom'
  3. Otvorite Win32 Disk Imager i zapišite datoteku slike na SD karticu.

SD kartica je sada skoro spremna. Samo se moramo pobrinuti da se daljinski možemo povezati s Raspberry Pi:

  1. Idite na particiju za pokretanje SD kartice pomoću programa za istraživanje datoteka vašeg sistema.
  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čunara, stavite je u Raspberry Pi i pokrenite je.

Korak 2: WiFi konfiguracija

Da biste skenirali WiFi mreže, izvedite sljedeću naredbu:

sudo iw dev wlan0 scan | grep SSID

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

Kreirajte mrežni unos sa š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 ponovo pokrenite Raspberry Pi. Bit ćete povezani na internet.

Korak 3: Instalacija i konfiguracija softvera

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

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

sudo apt instalirajte apache2 mariadb-server

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 ekrana 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 hroma nakon pokretanja i otvaranje web stranice u načinu rada preko cijelog ekrana

Ovo otvara preglednik na ispravnoj stranici kada se učita LXDE (Raspbian okruženje radne površine). Uklonite ili komentirajte liniju @xscreensaver da onemogućite čuvar zaslona.

Github spremište

Klonirajte moje spremište GitHub i stavite 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, izvore za novinare, korisnike, podatke senzora, zvukove i todolist.

  1. Koristite MySQL Workbench za pristup vašem serveru baze podataka pi (mariadb)
  2. Kreirajte bazu podataka pomoću ove sheme i umetnite vlastite podatke.
  3. Uredite config.py u Backend folderu mog 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. (Kreirajte vlastiti ovdje)

Korak 5: Izrada okvira ogledala

Izrada okvira ogledala
Izrada okvira ogledala
Izrada okvira ogledala
Izrada okvira ogledala
Izrada okvira ogledala
Izrada okvira ogledala

Izgradio sam okvir oko ogledala koristeći zglobove sa metalnim uglovima. Drvene daske koje sam koristio su debele 18 mm i široke 10 cm. Na slikama možete vidjeti tačne mjere ogledala dimenzija 45 x 60 cm. Iza ogledala nalazi se sva elektronika, stoga pazite da vaše daske budu dovoljno široke da im stanu.

Koristio sam metalne kuke za pričvršćivanje zvučnika na okvir. Na taj način ne odmaraju se na ogledalu, smanjujući vibracije na staklu.

Korak 6: Elektronika

The Electronics
The Electronics
The Electronics
The Electronics

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

Korak 7: Umetanje 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đe sam stavio tanku drvenu dasku između ogledala i elektronike, pa sam umesto elektronike zalepio za ogledalo, zalepio sam elektroniku za drvenu dasku. Ekran laptopa je bela 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 ogledala kako bi rotacijski davač mogao proći. Ovo vam omogućava da lako menjate jačinu zvuka (okrenite) ili odbacite tajmere i alarme (pritiskanje).

Izbušio sam dve rupe od 8 mm sa obe strane ogledala da provučem kablove 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čak trakom, olakšavajući pristup elektronici po potrebi.

Kopirajte Backend fasciklu iz mog Github spremišta na mjesto koje ćete zapamtiti.

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] WantedBy = 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 ekranu). Vidjet ćete web lokaciju koja je prva na mobilnom uređaju sa sljedećim značajkama:

  • Grafikon interaktivne temperature
  • Vrijeme. Dok tajmer radi, vidjet ćete i odbrojavanje na samom ogledalu.
  • Alarmni sistem
  • Kartica postavki na kojoj možete uređivati korisnike, izvore novina i jačinu zvučnika.
  • Todolist. Zadaci će biti prikazani na ogledalu

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

Preporučuje se: