Obsah:

Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a batoľaťom: 9 krokov
Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a batoľaťom: 9 krokov

Video: Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a batoľaťom: 9 krokov

Video: Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a batoľaťom: 9 krokov
Video: 18. október je osudný deň, rozhodne to nerobte v deň Haritiny, inak dôjde k veľkým problémom 2024, December
Anonim
Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a Todolistom
Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a Todolistom
Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a Todolistom
Kúzelné zrkadlo so správami, počasím, alarmom, časovačom a Todolistom

Magic Mirror je špeciálne jednosmerné zrkadlo s displejom za sebou. Displej pripojený k Raspberry Pi zobrazuje informácie ako počasie, izbovú teplotu, čas, dátum, todolistu a mnoho ďalších. Môžete dokonca pridať mikrofón a nastaviť si inteligentného asistenta. Možnosti sú nekonečné.

Tento projekt môže byť poriadne drahý, jednou z najdrahších častí, ktoré budete potrebovať, je samozrejme displej. Preto som zrecykloval displej zo starého prenosného počítača. Na tento projekt však odporúčam zaobstarať veľký, jasný a vysoko kontrastný displej. Stojí to za to.

Zrkadlo, ktoré som vyrobil, má tieto vlastnosti:

  • Novinky z kanála RSS zvoleného používateľom
  • Počasie
  • Vnútorná teplota
  • Alarmový systém
  • Systém časovača
  • Todolista
  • Viacerí používatelia: farba pruhu LED a nový zdroj sa menia podľa toho, ktorý používateľ je vybratý.

Zásoby

Na zostavenie tohto Magic Mirror budete potrebovať:

  • Jednosmerné zrkadlo
  • Drevo
  • Malinový Pi
  • Karta Micro SD (8+GB)
  • Chlebník
  • Dva 20W reproduktory
  • 20W zosilňovač MAX9744 na napájanie reproduktorov
  • 1m 30-LED WS2801 LED pás
  • 1-vodičový snímač teploty DS18B20
  • Infračervený snímač HC-SR501
  • Rotačný kodér
  • Monitor alebo starý displej prenosného počítača

    Ak používate starý displej prenosného počítača, budete si musieť kúpiť adaptér na prenosný počítač. Môžete ich získať z AliExpress, Ebay alebo Amazon. Stačí vyhľadať sériové číslo vášho displeja

Budete tiež potrebovať nasledujúce malé súčasti:

  • Dióda
  • Rezistor 4,7 kOhm
  • Odpor 470 ohmov
  • Drôty na pripojenie senzorov k Raspberry Pi

A tieto napájacie zdroje:

  • 5V 2A na napájanie LED pásu
  • 12V 2A na napájanie displeja
  • 12V 2A na napájanie zosilňovača
  • 5,1 V 3 A na napájanie Raspberry Pi (použite oficiálny napájací zdroj RPi)

Krok 1: Inštalácia Raspbian

Displej a všetky komponenty za zrkadlom poháňa Raspberry Pi. Na kartu SD budete musieť nainštalovať Raspbian, predvolený operačný systém Pi.

  1. Stiahnite si Win32 Disk Imager. Používatelia Linuxu a MacOS môžu používať niečo ako Etcher.
  2. Stiahnite si najnovší obrázok Raspbian z webu Raspberry Pi. Vyberte možnosť „Raspbian Buster s počítačom“
  3. Otvorte program Win32 Disk Imager a zapíšte súbor s obrázkom na kartu SD.

Karta SD je teraz takmer pripravená. Musíme sa len uistiť, že sa môžeme k Raspberry Pi pripojiť vzdialene:

  1. Prejdite na „bootovací“oddiel karty SD pomocou prieskumníka súborov vo vašom systéme.
  2. Pridajte súbor s názvom „ssh“bez prípony.
  3. Na koniec prvého riadka súboru „cmdline.txt“pridajte „ip = 169.254.10.1“(bez úvodzoviek).

Bezpečne vytiahnite kartu SD z počítača, vložte ju do Raspberry Pi a spustite ju.

Krok 2: Konfigurácia WiFi

Ak chcete skenovať siete WiFi, spustite nasledujúci príkaz:

sudo iw dev wlan0 scan | grep SSID

Zobrazí sa zoznam všetkých SSID, ku ktorým sa váš Raspberry Pi môže pripojiť.

Vytvorte sieťový záznam so šifrovaným heslom vykonaním nasledujúceho príkazu a zadaním hesla siete:

wpa_passphrase „YOUR_NETWORK_SSID_HERE“

Teraz prilepte výstup vyššie uvedeného príkazu do tohto súboru:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Teraz reštartujte Raspberry Pi. Budete pripojení k internetu.

Krok 3: Inštalácia a konfigurácia softvéru

Pre tento projekt si musíte stiahnuť tieto balíky do svojho Raspberry Pi:

pip3 nainštalovať mysql-connector-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt nainštalovať apache2 mariadb-server

Pridajte tento riadok do spodnej časti súboru /boot/config.txt, aby ste povolili zvuk prostredníctvom pinov GPIO 12 (vľavo) a 13 (vpravo):

dtoverlay = audremap

Na nastavenie rozlíšenia obrazovky a povolenie i2c, One-Wire a SPI použite raspi-config. Tiež nastavte spôsob zavádzania na „Desktop Autologin“.

Do/etc/xdg/lxsession/LXDE-pi/automatického spustenia pridajte nasledujúce:

@xset s vypnutý@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # načítať chróm po zavedení a otvoriť webovú stránku v režime celej obrazovky

Po načítaní LXDE (desktopové prostredie Raspbian) sa prehliadač otvorí na správnej stránke. Šetrič obrazovky deaktivujte aj odstránením alebo komentovaním riadku @xscreensaver.

Úložisko Github

Klonujte moje úložisko GitHub a vložte obsah priečinka Frontend do/var/www/html. Priečinok Backend budeme potrebovať neskôr.

Krok 4: Databáza

Databáza
Databáza

Toto je databázová schéma optimalizovaná na 3NF. Ukladá všetky alarmy, nové zdroje, používateľov, údaje senzorov, zvuky a todolist.

  1. Použite MySQL Workbench na prístup k databázovému serveru vášho pi (mariadb)
  2. Vytvorte databázu pomocou tejto schémy a vložte svoje vlastné údaje.
  3. Upravte config.py v priečinku Backend v mojom úložisku GitHub: zmeňte názov databázy, vami zvolené užívateľské meno a heslo.
  4. Upravte súbor app.py a zmeňte adresu URL rozhrania API OpenWeatherMap na svoju vlastnú. (Vytvorte si svoj vlastný tu)

Krok 5: Zostavenie zrkadlového rámu

Budovanie zrkadlového rámu
Budovanie zrkadlového rámu
Budovanie zrkadlového rámu
Budovanie zrkadlového rámu
Budovanie zrkadlového rámu
Budovanie zrkadlového rámu

Rám som postavil okolo zrkadla pomocou pokosových spojov s kovovými rohmi. Drevené dosky, ktoré som použil, majú hrúbku 18 mm a šírku 10 cm. Na obrázkoch môžete vidieť presné rozmery zrkadla 45 cm x 60 cm. Za zrkadlom je všetka elektronika, preto sa uistite, že vaše dosky sú dostatočne široké, aby sa do nich zmestili.

Na pripevnenie reproduktorov k rámu som použil kovové háčiky. Vďaka tomu sa neopierajú o zrkadlo, čím sa znižuje namáhanie skla vibráciami.

Krok 6: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Pri zostavovaní obvodu postupujte podľa vyššie uvedených schém. Na pripevnenie elektroniky k zrkadlu som použil pásku.

Krok 7: Montáž elektroniky do rámu

Montáž elektroniky do rámu
Montáž elektroniky do rámu
Montáž elektroniky do rámu
Montáž elektroniky do rámu

Po pripevnení reproduktorov k kovovým háčikom v hornej časti pridajte do zrkadla zvyšok elektroniky. Medzi zrkadlo a elektroniku som vložil aj tenkú drevenú dosku, takže namiesto prilepenia elektroniky k zrkadlu som elektroniku prilepil páskou k drevenej doske. Displej prenosného počítača je biely panel v spodnej časti zrkadla.

Ako vidíte na obrázkoch, všetky napájacie adaptéry som zapojil do viaczásuvky, takže z rámu vychádza iba jeden kábel. Preto som potreboval dostatočne široké dosky (10 cm).

Do pravej strany zrkadla som vyvŕtal 2 cm široký otvor, do ktorého sa zmestil rotačný snímač. To vám umožní ľahko zmeniť hlasitosť (otočenie) alebo zrušiť časovače a budíky (stlačenie).

Na obidvoch stranách zrkadla som vyvŕtal dva 8 mm otvory, aby som viedol káble pre LED pásy.

Krok 8: Dokončenie dotykov

Dokončovacie dotyky
Dokončovacie dotyky
Dokončovacie dotyky
Dokončovacie dotyky
Dokončovacie dotyky
Dokončovacie dotyky

Na zadnú stranu zrkadla som pridal čiernu tkaninu, aby sa skryla elektronika. Tiež stmavuje vnútro puzdra, vďaka čomu je oveľa ťažšie vidieť drôty cez zrkadlo. Pripevnil som ho na suchý zips, čo v prípade potreby uľahčuje prístup k elektronike.

Skopírujte priečinok Backend z môjho úložiska Github na miesto, ktoré si zapamätáte.

Pridajte jednotku systemd, aby sa skript pythonu spustil pri štarte:

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

[Jednotka]

Description = Služba pre skript python magicmirror After = network.target [Služba] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = dediť StandardError = zdediť Reštartovať = vždy používateľ = pi [Inštalovať] WantedBy = multi-user.target

Zmeňte 'WorkingDirectory' na adresár Backend a zmeňte používateľa na svoje vlastné používateľské meno.

Krok 9: Interakcia s webovou aplikáciou

Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou
Interakcia s webovou aplikáciou

Prejdite na adresu IP (ktorá je na displeji). Zobrazí sa webová stránka zameraná na mobilné zariadenia s nasledujúcimi funkciami:

  • Interaktívny teplotný diagram
  • Doba. Keď beží časovač, uvidíte aj odpočítavanie na samotnom zrkadle.
  • Alarmový systém
  • Karta nastavení, kde môžete upravovať používateľov, nové zdroje a hlasitosť reproduktorov.
  • Todolista. Položky úlohy budú zobrazené v zrkadle

Mirror.html je stránka, ktorá sa zobrazuje v programe Magic Mirror. Na vyššie uvedené obrázky som pridal príklad.

Odporúča: