Obsah:

Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou: 9 kroků
Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou: 9 kroků

Video: Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou: 9 kroků

Video: Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou: 9 kroků
Video: #shopaholicadel bez filtru 🙊 2024, Listopad
Anonim
Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou
Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou
Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou
Kouzelné zrcadlo se zprávami, počasím, alarmem, časovačem a todolistou

Magic Mirror je speciální jednosměrné zrcadlo s displejem za zády. Displej připojený k Raspberry Pi zobrazuje informace jako počasí, pokojovou teplotu, čas, datum, todolist a mnoho dalšího. Můžete dokonce přidat mikrofon a nastavit chytrého asistenta. Možnosti jsou nekonečné.

Tento projekt může být docela drahý, jednou z nejdražších částí, kterou budete potřebovat, je samozřejmě displej. Proto jsem recykloval displej ze starého notebooku. Doporučuji však pro tento projekt získat velký, jasný a vysoce kontrastní displej. Stojí to za to.

Zrcadlo, které jsem vytvořil, má tyto vlastnosti:

  • Novinky z RSS kanálu zvoleného uživatelem
  • Počasí
  • Vnitřní teplota
  • Alarmový systém
  • Systém časovače
  • Todolista
  • Více uživatelů: barva pruhu LED a nový zdroj se mění podle toho, který uživatel je vybrán.

Zásoby

K sestavení tohoto Magic Mirror budete potřebovat:

  • Jednosměrné zrcadlo
  • Dřevo
  • Raspberry Pi
  • Karta Micro SD (8+GB)
  • Prkénko
  • Dva 20W reproduktory
  • 20W zesilovač MAX9744 k napájení reproduktorů
  • 1m 30-led WS2801 ledstrip
  • DS18B20 1vodičový snímač teploty
  • Infračervený senzor HC-SR501
  • Rotační kodér
  • Monitor nebo starý displej notebooku

    Pokud používáte starý displej notebooku, budete si muset koupit adaptér displeje notebooku. Můžete je získat z AliExpress, Ebay nebo Amazon. Stačí vyhledat sériové číslo vašeho displeje

Budete také potřebovat následující malé součásti:

  • Dioda
  • Rezistor 4,7 kOhm
  • Rezistor 470 ohmů
  • Vodiče pro připojení senzorů k Raspberry Pi

A tyto napájecí zdroje:

  • 5V 2A pro napájení ledstripu
  • 12V 2A pro napájení displeje
  • 12V 2A pro napájení zesilovače
  • 5,1 V 3 A k napájení Raspberry Pi (použijte oficiální napájecí zdroj RPi)

Krok 1: Instalace Raspbian

Displej a všechny komponenty za zrcadlem pohání Raspberry Pi. Na kartu SD budete muset nainstalovat Raspbian, výchozí operační systém Pi.

  1. Stáhněte si imager disku Win32. Uživatelé Linuxu a MacOS mohou použít něco jako Etcher.
  2. Stáhněte si nejnovější obrázek Raspbian z webu Raspberry Pi. Vyberte možnost 'Raspbian Buster s počítačem'
  3. Otevřete Win32 Disk Imager a zapište soubor s obrázkem na kartu SD.

Karta SD je nyní téměř připravena. Jen se musíme ujistit, že se můžeme vzdáleně připojit k Raspberry Pi:

  1. Přejděte do oddílu „boot“karty SD pomocí Průzkumníka souborů ve vašem systému.
  2. Přidejte soubor s názvem „ssh“bez přípony.
  3. Přidejte 'ip = 169.254.10.1' (bez uvozovek) na konec prvního řádku 'cmdline.txt'.

Bezpečně vyjměte kartu SD z počítače, vložte ji do Raspberry Pi a spusťte.

Krok 2: Konfigurace WiFi

Chcete -li skenovat sítě WiFi, spusťte následující příkaz:

sudo iw dev wlan0 scan | grep SSID

Zobrazí se seznam všech SSID, ke kterým se váš Raspberry Pi může připojit.

Vytvořte síťovou položku se šifrovaným heslem provedením následujícího příkazu a zadáním hesla vaší sítě:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Nyní vložte výstup výše uvedeného příkazu do tohoto souboru:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Nyní restartujte Raspberry Pi. Budete připojeni k internetu.

Krok 3: Instalace a konfigurace softwaru

Pro tento projekt budete muset stáhnout tyto balíčky do svého Raspberry Pi:

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

sudo apt install apache2 mariadb-server

Přidejte tento řádek na konec souboru /boot/config.txt, abyste povolili zvuk prostřednictvím pinů GPIO 12 (vlevo) a 13 (vpravo):

dtoverlay = audremap

Pomocí raspi-config můžete nastavit rozlišení displeje a povolit i2c, One-Wire a SPI. Také nastavte způsob spouštění na 'Desktop Autologin'.

Do/etc/xdg/lxsession/LXDE-pi/autostart přidejte následující:

@xset s vypnuto@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # načíst chrom po spuštění a otevřít web v režimu celé obrazovky

Při načtení LXDE (desktopové prostředí Raspbian) se otevře prohlížeč na správné stránce. Chcete -li spořič obrazovky deaktivovat, odeberte nebo komentujte také řádek @xscreensaver.

Úložiště Github

Naklonujte moje úložiště GitHub a vložte obsah složky Frontend do/var/www/html. Složku Backend budeme potřebovat později.

Krok 4: Databáze

Databáze
Databáze

Toto je databázové schéma, optimalizované na 3NF. Ukládá všechny alarmy, nové zdroje, uživatele, data senzorů, zvuky a todolisty.

  1. Použijte MySQL Workbench pro přístup k databázovému serveru vašeho pí (mariadb)
  2. Vytvořte databázi pomocí tohoto schématu a vložte vlastní data.
  3. Upravte config.py ve složce Backend mého úložiště GitHub: změňte název databáze, vámi zvolené uživatelské jméno a heslo.
  4. Upravte soubor app.py a změňte adresu URL rozhraní OpenWeatherMap API na svou vlastní. (Vytvořte si vlastní zde)

Krok 5: Sestavení zrcadlového rámu

Stavba zrcadlového rámu
Stavba zrcadlového rámu
Stavba zrcadlového rámu
Stavba zrcadlového rámu
Stavba zrcadlového rámu
Stavba zrcadlového rámu

Rám jsem postavil kolem zrcadla pomocí pokosových spojů s kovovými rohy. Dřevěná prkna, která jsem použil, mají tloušťku 18 mm a šířku 10 cm. Na obrázcích vidíte přesné rozměry zrcadla 45 cm x 60 cm. Za zrcadlem je veškerá elektronika, takže se ujistěte, že jsou vaše prkna dostatečně široká, aby se do nich vešla.

K připevnění reproduktorů k rámu jsem použil kovové háčky. Díky tomu nespočívají na zrcadle, čímž se snižuje namáhání skla vibracemi.

Krok 6: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Při sestavování obvodu postupujte podle výše uvedených schémat. Pomocí pásky jsem připevnil elektroniku k zrcátku.

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 připevnění reproduktorů ke kovovým háčkům nahoře přidejte do zrcadla zbytek elektroniky. Mezi zrcátko a elektroniku jsem dal také tenké dřevěné prkno, takže jsem místo lepení elektroniky na zrcátko přilepil elektroniku na dřevěné prkno. Displej notebooku je bílý panel ve spodní části zrcátka.

Jak vidíte na obrázcích, zapojil jsem všechny napájecí adaptéry do vícezásuvkové zásuvky, takže z rámu vychází pouze jeden kabel. Proto jsem potřeboval dostatečně široká prkna (10 cm).

Do pravé strany zrcadla jsem vyvrtal 2 cm široký otvor, aby se do něj vešel rotační kodér. To vám umožní snadno změnit hlasitost (otočit) nebo zrušit časovače a alarmy (stisknout).

Na obou stranách zrcadla jsem vyvrtal dva 8mm otvory pro vedení kabelů pro LED pásy.

Krok 8: Dokončení dotyků

Dokončovací doteky
Dokončovací doteky
Dokončovací doteky
Dokončovací doteky
Dokončovací doteky
Dokončovací doteky

Do zadní části zrcadla jsem přidal černý hadřík, abych schoval elektroniku. Také ztmaví vnitřek pouzdra, což značně ztěžuje vidění vodičů skrz zrcadlo. Připevnil jsem jej suchým zipem, což usnadnilo přístup k elektronice v případě potřeby.

Zkopírujte složku Backend z mého úložiště Github na místo, které si zapamatujete.

Přidejte jednotku systemd, aby se skript pythonu spustil při spuštění:

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

[Jednotka]

Description = Služba pro python skript magicmirror After = network.target [Služba] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = zdědit StandardError = zdědit Restartovat = vždy Uživatel = pi [Instalovat] WantedBy = multi-user.target

Změňte „WorkingDirectory“na adresář Backend a změňte uživatele na své vlastní uživatelské jméno.

Krok 9: Interakce s webovou aplikací

Interakce s webovou aplikací
Interakce s webovou aplikací
Interakce s webovou aplikací
Interakce s webovou aplikací
Interakce s webovou aplikací
Interakce s webovou aplikací
Interakce s webovou aplikací
Interakce s webovou aplikací

Přejděte na IP adresu (která je na displeji). Zobrazí se web pro mobilní zařízení s následujícími funkcemi:

  • Interaktivní teplotní diagram
  • Doba. Když běží časovač, uvidíte také odpočítávání na samotném zrcadle.
  • Alarmový systém
  • Karta nastavení, kde můžete upravovat uživatele, nové zdroje a hlasitost reproduktorů.
  • Todolista. Položky úkolů se zobrazí na zrcadle

Mirror.html je stránka, která je zobrazena na Magic Mirror. Přidal jsem příklad na obrázky výše.

Doporučuje: