Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Installation af Raspbian
- Trin 2: WiFi -konfiguration
- Trin 3: Softwareinstallation og -konfiguration
- Trin 4: Databasen
- Trin 5: Opbygning af spejlrammen
- Trin 6: Elektronikken
- Trin 7: Montering af elektronikken i rammen
- Trin 8: Efterbehandling
- Trin 9: Interaktion med Webapp
Video: Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Et Magic Mirror er et specielt envejsspejl med et display bag. Displayet, der er tilsluttet en Raspberry Pi, viser oplysninger som vejr, stuetemperatur, tid, dato, en todolist og meget mere. Du kan endda tilføje en mikrofon og oprette en smart assistent. Mulighederne er uendelige.
Dette projekt kan være ret dyrt, en af de dyreste dele, du skal bruge, er selvfølgelig displayet. Derfor genbrugte jeg en skærm fra en gammel bærbar computer. Jeg anbefaler dog at få et stort, lyst display med høj kontrast til at lave dette projekt. Det er det værd.
Spejlet jeg lavede har disse funktioner:
- Nyheder fra et brugervalgt RSS-feed
- Vejr
- Indetemperatur
- Et alarmsystem
- Et timersystem
- En todolist
- Flere brugere: farven på ledstrip og ny kilde ændres baseret på hvilken bruger der vælges.
Forbrugsvarer
For at bygge dette Magic Mirror skal du bruge:
- Et envejsspejl
- Træ
- En hindbær Pi
- Et Micro SD -kort (8+GB)
- Et brødbræt
- To 20W højttalere
- MAX9744 20W forstærker til at drive højttalerne
- 1m 30-ledet WS2801 ledstrip
- DS18B20 1-tråds temperatursensor
- HC-SR501 Infrarød sensor
- En roterende encoder
-
En skærm eller en gammel bærbar skærm
Hvis du bruger en gammel bærbar skærm, skal du købe en bærbar skærmadapter. Du kan få disse fra AliExpress, Ebay eller Amazon. Bare søg efter serienummeret på din skærm
Du skal også bruge følgende små komponenter:
- En diode
- En 4,7k Ohm modstand
- En 470 Ohm modstand
- Ledninger til tilslutning af sensorer til Raspberry Pi
Og disse strømforsyninger:
- 5V 2A for at drive ledstripen
- 12V 2A for at tænde skærmen
- 12V 2A for at drive forstærkeren
- 5.1V 3A for at drive Raspberry Pi (brug en officiel RPi -strømforsyning)
Trin 1: Installation af Raspbian
Skærmen og alle komponenter bag spejlet drives af Raspberry Pi. Du skal installere Raspbian, Pi's standardoperativsystem, på SD -kortet.
- Download Win32 -diskimager. Linux- og MacOS -brugere kan bruge noget som Etcher.
- Download det nyeste Raspbian -billede fra Raspberry Pi -webstedet. Vælg indstillingen 'Raspbian Buster with desktop'
- Åbn Win32 Disk Imager, og skriv billedfilen til SD -kortet.
SD -kortet er nu næsten klar. Vi skal bare sørge for, at vi kan oprette forbindelse til Raspberry Pi eksternt:
- Gå til SD -kortets 'boot' -partition ved hjælp af dit systems filudforsker.
- Tilføj en fil kaldet 'ssh' uden en udvidelse.
- Tilføj 'ip = 169.254.10.1' (uden anførselstegn) til slutningen af den første linje med 'cmdline.txt'.
Skub SD -kortet sikkert ud af din computer, læg det i din Raspberry Pi og start det.
Trin 2: WiFi -konfiguration
For at scanne WiFi -netværk skal du udføre følgende kommando:
sudo iw dev wlan0 scan | grep SSID
Du får vist listen over alle SSID'er, din Raspberry Pi kan oprette forbindelse til.
Opret en netværkspost med en krypteret adgangskode ved at udføre følgende kommando og indtaste dit netværks adgangskode:
wpa_passphrase "YOUR_NETWORK_SSID_HERE"
Indsæt nu output fra ovenstående kommando i denne fil:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Genstart nu Raspberry Pi. Du får forbindelse til internettet.
Trin 3: Softwareinstallation og -konfiguration
Til dette projekt skal du downloade disse pakker til din Raspberry Pi:
pip3 installer mysql-connector-python kolbe-socketio kolbe-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744
sudo apt installere apache2 mariadb-server
Tilføj denne linje til bunden af /boot/config.txt for at aktivere lyd via GPIO -ben 12 (venstre) og 13 (højre):
dtoverlay = audremap
Brug raspi-config til at indstille skærmens opløsning og til at aktivere i2c, One-wire og SPI. Indstil også boot -metoden til 'Desktop Autologin'.
I/etc/xdg/lxsession/LXDE-pi/autostart skal du tilføje følgende:
@xset s off@xset -dpms@xset s noblank@chrom -browser -kiosk 127.0.0.1/mirror.html # indlæs chrom efter opstart, og åbn webstedet i fuldskærmstilstand
Dette åbner browseren på den korrekte side, når LXDE (Raspbian's desktop -miljø) indlæses. Fjern eller kommenter også @xscreensaver -linjen for at deaktivere pauseskærmen.
Github -depot
Klon mit GitHub -depot, og læg indholdet af Frontend -mappen i/var/www/html. Vi skal bruge backend -mappen senere.
Trin 4: Databasen
Dette er databaseskemaet, optimeret til 3NF. Det gemmer alle alarmer, nye kilder, brugere, sensordata, lyde og todolist.
- Brug MySQL Workbench til at få adgang til din pis databaseserver (mariadb)
- Opret en database ved hjælp af dette skema, og indsæt dine egne data.
- Rediger config.py i Backend -mappen i mit GitHub -lager: rediger databasens navn, dit valgte brugernavn og adgangskoden.
- Rediger app.py, og skift OpenWeatherMap API -URL'en til din egen. (Opret din egen her)
Trin 5: Opbygning af spejlrammen
Jeg byggede rammen omkring spejlet ved hjælp af geringsfuger med metalhjørner. Træplankerne jeg brugte er 18 mm tykke og 10 cm brede. På billederne kan du se de nøjagtige mål for et 45cm x 60cm spejl. Bag spejlet er alt elektronik, så sørg for at dine planker er brede nok til at passe dem.
Jeg brugte metal kroge til at fastgøre højttalerne til rammen. På den måde hviler de ikke på spejlet, hvilket reducerer vibrationsbelastning på glasset.
Trin 6: Elektronikken
Følg ovenstående skemaer for at bygge kredsløbet. Jeg brugte tape til at fastgøre elektronikken til spejlet.
Trin 7: Montering af elektronikken i rammen
Efter at have sat højttalerne fast på metalkrogene øverst, tilføj resten af elektronikken til spejlet. Jeg lagde også en tynd træplank mellem spejlet og elektronikken, så i stedet for at tape elektronikken til spejlet, tapede jeg elektronikken til træplanken. Den bærbare skærm er hvidt panel i bunden af spejlet.
Som du kan se på billederne, tilsluttede jeg alle strømadaptere i en stikkontakt med flere stik, så der kun er et kabel, der forlader rammen. Derfor havde jeg brug for brede nok planker (10 cm).
Jeg borede et 2 cm bredt hul i spejlets højre side, så den roterende encoder kunne passe igennem. Dette giver dig mulighed for nemt at ændre lydstyrke (drej) eller afvise timere og alarmer (push).
Jeg borede to 8 mm huller på hver side af spejlet for at føre kablerne til ledstrips.
Trin 8: Efterbehandling
Jeg tilføjede en sort klud på bagsiden af spejlet for at skjule elektronikken. Det mørkner også indersiden af kabinettet, hvilket gør det meget sværere at se ledningerne gennem spejlet. Jeg fastgjorde den med velcro, hvilket gjorde det lettere at få adgang til elektronikken, når det var nødvendigt.
Kopiér backend -mappen fra mit Github -lager til et sted, du vil huske.
Tilføj en systemd -enhed, så python -scriptet kører ved opstart:
sudo nano /etc/systemd/system/magicmirror.service
[Enhed]
Beskrivelse = Tjenesten til magicmirror python script Efter = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = arv StandardError = arv Genstart = altid Bruger = pi [Install] WantedBy = multi-user.target
Skift 'WorkingDirectory' til Backend -biblioteket, og skift bruger til dit eget brugernavn.
Trin 9: Interaktion med Webapp
Surf til IP -adressen (som er på displayet). Du får vist et mobil-first-websted med følgende funktioner:
- En interagerbar temperaturgrap
- En tid. Når timeren kører, ser du også en nedtælling på selve spejlet.
- Et alarmsystem
- En fane med indstillinger, hvor du kan redigere brugere, nye kilder og højttalervolumen.
- En todolist. Todo -emner vises på spejlet
Mirror.html er den side, der vises på Magic Mirror. Jeg tilføjede et eksempel på billederne ovenfor.
Anbefalede:
NODEMCU OG VISUINO DISPLAY LIVE NYHEDER FRA INTERNET: 8 trin
NODEMCU OG VISUINO DISPLAY LIVE NEWS FRA INTERNET: I denne tutorial vil vi bruge NodeMCU Mini, OLED Lcd og Visuino til at vise live NEWS hvert par sekunder fra internettet på LCD. Se en demonstrationsvideo
Lav dit eget MQTT EInk -display til tid, nyheder og miljødata: 7 trin
Lav dit eget MQTT EInk -display for tid, nyheder og miljødata: 'THE' er et mini -MQTT -informationsdisplay for tid, nyheder og miljøoplysninger. Ved hjælp af en 4,2-tommers eInk-skærm er konceptet enkelt-at vise oplysninger på rotationsbasis, opdateres hvert par minutter. Dataene kan være ethvert feed - f
Byg et vejr -dashboard ved hjælp af Dark Sky API: 5 trin (med billeder)
Byg et vejrpanel ved hjælp af Dark Sky API: Dark Sky har specialiseret sig i vejrudsigter og visualisering. Det sejeste aspekt ved Dark Sky er deres vejr -API, som vi kan bruge til at hente vejrdata fra næsten overalt i verden. Det er ikke kun vejret, der er regnfuldt eller solrigt, men temperatur
Accu flerfarvet LED -lampe med vejr: 6 trin
Accu Flerfarvet LED -lampe med vejr: Dear AllThere er et projekt med Accu genopladelig WS2812 LED -lampe, som også kan styres af Wifi med alle browser -kompatible enheder, og som kan integreres i Apple Home Kit og styres via dem.Nogle funktioner: 1. Integreret 2xAccu 18650 p
Vejr-/matrixlampe: 42 trin (med billeder)
Vejr-/matrixlampe: I denne instruktionsbog beskriver jeg designet, konstruktionen og programmeringen af en LED -matrixlampe. Designet ligner en almindelig lampe, men interiøret er blevet erstattet af en matrix af ws2812 lysdioder. Kontrollen udføres ved hjælp af en Raspberry Pi, så t