Indholdsfortegnelse:

Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist: 9 trin
Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist: 9 trin

Video: Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist: 9 trin

Video: Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist: 9 trin
Video: seeing wife face for first time #shorts 2024, Juli
Anonim
Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist
Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist
Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist
Magic Mirror Med Nyheder, Vejr, Alarm, Timer og Todolist

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.

  1. Download Win32 -diskimager. Linux- og MacOS -brugere kan bruge noget som Etcher.
  2. Download det nyeste Raspbian -billede fra Raspberry Pi -webstedet. Vælg indstillingen 'Raspbian Buster with desktop'
  3. Å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:

  1. Gå til SD -kortets 'boot' -partition ved hjælp af dit systems filudforsker.
  2. Tilføj en fil kaldet 'ssh' uden en udvidelse.
  3. 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

Databasen
Databasen

Dette er databaseskemaet, optimeret til 3NF. Det gemmer alle alarmer, nye kilder, brugere, sensordata, lyde og todolist.

  1. Brug MySQL Workbench til at få adgang til din pis databaseserver (mariadb)
  2. Opret en database ved hjælp af dette skema, og indsæt dine egne data.
  3. Rediger config.py i Backend -mappen i mit GitHub -lager: rediger databasens navn, dit valgte brugernavn og adgangskoden.
  4. Rediger app.py, og skift OpenWeatherMap API -URL'en til din egen. (Opret din egen her)

Trin 5: Opbygning af spejlrammen

Bygning af spejlrammen
Bygning af spejlrammen
Bygning af spejlrammen
Bygning af spejlrammen
Bygning af spejlrammen
Bygning 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

Elektronikken
Elektronikken
Elektronikken
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

Montering af elektronikken i rammen
Montering af elektronikken i rammen
Montering af elektronikken i rammen
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

Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling
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

Interaktion med Webapp
Interaktion med Webapp
Interaktion med Webapp
Interaktion med Webapp
Interaktion med Webapp
Interaktion med Webapp
Interaktion med Webapp
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: