
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02


Magic Mirror to specjalne lustro weneckie z wyświetlaczem za nim. Wyświetlacz, który jest podłączony do Raspberry Pi, pokazuje informacje takie jak pogoda, temperatura w pomieszczeniu, godzina, data, lista zadań i wiele więcej. Możesz nawet dodać mikrofon i skonfigurować inteligentnego asystenta. Możliwości są nieograniczone.
Ten projekt może być dość kosztowny, jedną z najdroższych części, jakich będziesz potrzebować, jest oczywiście wyświetlacz. Dlatego poddałem recyklingowi wyświetlacz ze starego laptopa. Do wykonania tego projektu polecam jednak duży, jasny wyświetlacz o wysokim kontraście. To jest tego warte.
Wykonane przeze mnie lustro ma następujące cechy:
- Wiadomości z wybranego przez użytkownika kanału RSS
- Pogoda
- Temperatura wewnątrz
- System alarmowy
- System timera
- Todolista
- Wielu użytkowników: kolor paska LED i źródło wiadomości zmieniają się w zależności od wybranego użytkownika.
Kieszonkowe dzieci
Aby zbudować to Magiczne Lustro, potrzebujesz:
- Lustro weneckie
- Drewno
- Malinowa Pi
- Karta Micro SD (8+GB)
- Deska do krojenia chleba
- Dwa głośniki 20W
- Wzmacniacz MAX9744 20W do zasilania głośników
- 1m 30-ledowa taśma LED WS2801
- DS18B20 1-przewodowy czujnik temperatury
- HC-SR501 Czujnik podczerwieni
- Enkoder obrotowy
- Monitor lub stary wyświetlacz laptopa
Jeśli używasz starego wyświetlacza laptopa, musisz kupić przejściówkę do laptopa. Możesz je dostać z AliExpress, Ebay lub Amazon. Po prostu wyszukaj numer seryjny swojego wyświetlacza
Potrzebne będą również następujące małe elementy:
- Dioda
- Rezystor 4,7 kΩ
- Rezystor 470 Ohm
- Przewody do podłączenia czujników do Raspberry Pi
A te zasilacze:
- 5V 2A do zasilania taśmy led
- 12 V 2A do zasilania wyświetlacza
- 12V 2A do zasilania wzmacniacza
- 5.1V 3A do zasilania Raspberry Pi (użyj oficjalnego zasilacza RPi)
Krok 1: Instalacja Raspbian
Wyświetlacz i wszystkie komponenty za lustrem są zasilane przez Raspberry Pi. Musisz zainstalować Raspbian, domyślny system operacyjny Pi, na karcie SD.
- Pobierz obraz dysku Win32. Użytkownicy Linuksa i MacOS mogą używać czegoś takiego jak Etcher.
- Pobierz najnowszy obraz Raspbian ze strony Raspberry Pi. Wybierz opcję „Raspbian Buster z pulpitem”
- Otwórz Win32 Disk Imager i zapisz plik obrazu na karcie SD.
Karta SD jest już prawie gotowa. Musimy tylko upewnić się, że możemy zdalnie połączyć się z Raspberry Pi:
- Przejdź do partycji rozruchowej karty SD za pomocą eksploratora plików w systemie.
- Dodaj plik o nazwie „ssh” bez rozszerzenia.
- Dodaj 'ip=169.254.10.1' (bez cudzysłowów) na końcu pierwszego wiersza 'cmdline.txt'.
Bezpiecznie wyjmij kartę SD z komputera, włóż ją do Raspberry Pi i uruchom.
Krok 2: Konfiguracja Wi-Fi
Aby przeskanować sieci Wi-Fi, wykonaj następujące polecenie:
sudo iw dev wlan0 scan | grep SSID
Zobaczysz listę wszystkich identyfikatorów SSID, z którymi może połączyć się Twoje Raspberry Pi.
Utwórz wpis sieciowy z zaszyfrowanym hasłem, wykonując następujące polecenie i wprowadzając hasło sieciowe:
wpa_passphrase "TWOJA_SIEĆ_SSID_TUTAJ"
Teraz wklej wynik powyższego polecenia do tego pliku:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Teraz zrestartuj Raspberry Pi. Będziesz mieć połączenie z internetem.
Krok 3: Instalacja i konfiguracja oprogramowania
W tym projekcie musisz pobrać te pakiety na swoje 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
Dodaj tę linię na dole pliku /boot/config.txt, aby włączyć dźwięk przez piny GPIO 12 (po lewej) i 13 (po prawej):
dtoverlay=audremap
Użyj raspi-config, aby ustawić rozdzielczość wyświetlacza i włączyć i2c, One-wire i SPI. Ustaw również metodę uruchamiania na „Desktop Autologin”.
W /etc/xdg/lxsession/LXDE-pi/autostart dodaj następujące:
@xset s off@xset -dpms@xset s noblank@chromium-browser --kiosk 127.0.0.1/mirror.html # załaduj chrom po uruchomieniu i otwórz stronę w trybie pełnoekranowym
Spowoduje to otwarcie przeglądarki na właściwej stronie podczas ładowania LXDE (środowiska graficznego Raspbian). Usuń lub skomentuj linię @xscreensaver, aby wyłączyć wygaszacz ekranu.
Repozytorium Github
Sklonuj moje repozytorium GitHub i umieść zawartość folderu Frontend w /var/www/html. Folder Backend będzie nam potrzebny później.
Krok 4: Baza danych

To jest schemat bazy danych zoptymalizowany do 3NF. Przechowuje wszystkie alarmy, źródła wiadomości, użytkowników, dane z czujników, dźwięki i listę zadań.
- Użyj MySQL Workbench, aby uzyskać dostęp do serwera bazy danych pi (mariadb)
- Utwórz bazę danych przy użyciu tego schematu i wstaw własne dane.
- Edytuj plik config.py w folderze Backend mojego repozytorium GitHub: zmień nazwę bazy danych, wybraną nazwę użytkownika i hasło.
- Edytuj plik app.py i zmień adres URL interfejsu API OpenWeatherMap na własny. (Stwórz swój własny tutaj)
Krok 5: Budowanie ramy lustra



Ramę wokół lustra zbudowałem za pomocą połączeń uciosowych z metalowymi narożnikami. Użyte przeze mnie drewniane deski mają grubość 18mm i szerokość 10cm. Na zdjęciach można zobaczyć dokładne wymiary lustra 45cm x 60cm. Za lustrem znajduje się cała elektronika, więc upewnij się, że twoje deski są wystarczająco szerokie, aby je zmieścić.
Do mocowania głośników do ramy użyłem metalowych haczyków. W ten sposób nie spoczywają na lustrze, zmniejszając drgania na szkle.
Krok 6: Elektronika


Postępuj zgodnie z powyższymi schematami, aby zbudować obwód. Użyłem taśmy do przymocowania elektroniki do lustra.
Krok 7: Montaż elektroniki w ramie


Po przymocowaniu głośników do metalowych zaczepów u góry dołóż resztę elektroniki do lustra. Umieściłem też cienką drewnianą deskę między lustrem a elektroniką, więc zamiast przykleić elektronikę do lustra, przykleiłem elektronikę do drewnianej deski. Wyświetlacz laptopa to biały panel w dolnej części lustra.
Jak widać na zdjęciach, podłączyłem wszystkie zasilacze do gniazdka wielogniazdowego, więc z ramki wychodzi tylko jeden kabel. Dlatego potrzebowałem wystarczająco szerokich desek (10 cm).
Po prawej stronie lustra wywierciłem otwór o szerokości 2 cm, przez który zmieścił się enkoder obrotowy. Pozwala to na łatwą zmianę głośności (obrót) lub odrzucenie timerów i alarmów (push).
Wywierciłem dwa otwory o średnicy 8 mm po obu stronach lustra, aby poprowadzić kable do taśm led.
Krok 8: Wykończenie szlifów



Z tyłu lustra dodałem czarną szmatkę, aby ukryć elektronikę. Przyciemnia również wnętrze obudowy, co znacznie utrudnia dostrzeżenie przewodów przez lustro. Przymocowałem go na rzep, dzięki czemu w razie potrzeby łatwiej jest uzyskać dostęp do elektroniki.
Skopiuj folder Backend z mojego repozytorium Github do miejsca, które zapamiętasz.
Dodaj jednostkę systemd, aby skrypt Pythona działał podczas rozruchu:
sudo nano /etc/systemd/system/magicmirror.service
[Jednostka]
Description=Usługa skryptu magicmirror python After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=/home/pi/magicMirror/Backend StandardOutput=inherit StandardError=inherit Restart=always User =pi [Zainstaluj] WantedBy=multi-user.target
Zmień 'WorkingDirectory' na katalog Backend i zmień użytkownika na swoją własną nazwę użytkownika.
Krok 9: Interakcja z aplikacją internetową




Przejdź do adresu IP (który jest na wyświetlaczu). Zobaczysz witrynę zoptymalizowaną pod kątem urządzeń mobilnych z następującymi funkcjami:
- Interaktywny wykres temperatury
- Czas. Gdy minutnik jest uruchomiony, na samym lustrze zobaczysz również odliczanie.
- System alarmowy
- Zakładka ustawień, w której możesz edytować użytkowników, źródła wiadomości i głośność głośnika.
- Lista zadań. Rzeczy do zrobienia będą wyświetlane na lustrze
Mirror.html to strona wyświetlana w Magic Mirror. Dodałem przykład na zdjęciach powyżej.
Zalecana:
Licznik zadań domowych wykonany przez Arduino: 5 kroków

Homework Timer Made by Arduino: Czy Twoje dziecko pisze swoją pracę domową godzinami? Czy Twoje dziecko łatwo rozprasza się podczas odrabiania lekcji? Dzisiaj próbowałem zrobić najlepsze rozwiązanie tego konfliktu: timer firmy Arduino. Dlaczego próbuję zrobić ten minutnik zamiast
Pływające inteligentne magiczne lustro ze starego laptopa z rozpoznawaniem głosu Alexa: 6 kroków (ze zdjęciami)

Pływające inteligentne magiczne lustro ze starego laptopa z rozpoznawaniem głosu Alexa: Zapisz się na mój kurs „Elektronika w pigułce” tutaj: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Sprawdź także mój kanał youtube tutaj, aby uzyskać więcej projektów i samouczków dotyczących elektroniki: https://www.youtube.com/channel/UCelOO
Strukturyzacja pisania zadań za pomocą Formularzy Google + AutoKrat: 12 kroków

Strukturyzacja pisania zadań za pomocą Formularzy Google + AutoKrat: Czy Twoi uczniowie mają trudności ze strukturą wypowiedzi do pracy dyplomowej, wstępów, streszczeń lub całych zadań pisemnych? Czy otrzymujesz eseje, które nie mają określonego formatu? Jeśli tak, użyj Formularzy Google i rozszerzenia autoCrat do Chrome, aby zachować
Magiczne lustro Ziemi i Księżyca: 4 kroki

Magiczne lustro Ziemi i Księżyca: Magiczny zegar lustrzany zasilany z tabletu pokazujący Księżyc / Ziemię i aktualne warunki zewnętrzne
Specjalna dekoracja na Halloween-magiczne lustro: 5 kroków (ze zdjęciami)

Specjalna Halloweenowa Dekoracja -- Magiczne Lustro: Zrobiłem magiczne lustro jako specjalną dekorację na Halloween. To jest bardzo interesujące. Do lustra możesz mówić cokolwiek, każde pytanie lub jakikolwiek mały sekret. Po chwili odpowiedź pojawi się w lustrze. To magia. hahah ….. Dzieci lubią to