Innehållsförteckning:

Magisk spegel med nyheter, väder, larm, timer och Todolist: 9 steg
Magisk spegel med nyheter, väder, larm, timer och Todolist: 9 steg

Video: Magisk spegel med nyheter, väder, larm, timer och Todolist: 9 steg

Video: Magisk spegel med nyheter, väder, larm, timer och Todolist: 9 steg
Video: CAMPING in FREEZING Cold with Dog - Roof Tent 2024, November
Anonim
Magisk spegel med nyheter, väder, larm, timer och Todolist
Magisk spegel med nyheter, väder, larm, timer och Todolist
Magisk spegel med nyheter, väder, larm, timer och Todolist
Magisk spegel med nyheter, väder, larm, timer och Todolist

En Magic Mirror är en speciell enkelriktad spegel med en display bakom. Displayen, som är ansluten till en Raspberry Pi, visar information som väder, rumstemperatur, tid, datum, en todolist och mycket mer. Du kan till och med lägga till en mikrofon och ställa in en smart assistent. Möjligheterna är oändliga.

Detta projekt kan vara ganska dyrt, en av de dyraste delarna du behöver är naturligtvis displayen. Därför återvände jag en bildskärm från en gammal bärbar dator. Jag rekommenderar dock att du får en stor, ljus, hög kontrastskärm för att göra detta projekt. Det är värt det.

Spegeln jag gjorde har dessa funktioner:

  • Nyheter från ett användarvalt RSS-flöde
  • Väder
  • Innertemperatur
  • Ett larmsystem
  • Ett timersystem
  • En todolist
  • Flera användare: ledstripfärgen och ny källa ändras baserat på vilken användare som väljs.

Tillbehör

För att bygga denna Magic Mirror behöver du:

  • En enkelriktad spegel
  • Trä
  • En hallon Pi
  • Ett Micro SD -kort (8+GB)
  • En brödbräda
  • Två 20W högtalare
  • MAX9744 20W förstärkare för att driva högtalarna
  • 1m 30-led WS2801 ledstrip
  • DS18B20 1-trådig temperaturgivare
  • HC-SR501 Infraröd sensor
  • En roterande kodare
  • En bildskärm eller gammal bärbar datorskärm

    Om du använder en gammal bärbar datorskärm måste du köpa en bärbar bildskärmsadapter. Du kan få dessa från AliExpress, Ebay eller Amazon. Sök bara efter bildskärmens serienummer

Du behöver också följande små komponenter:

  • En diod
  • Ett motstånd på 4,7 k Ohm
  • Ett motstånd på 470 Ohm
  • Ledningar för att ansluta sensorer till Raspberry Pi

Och dessa strömförsörjningar:

  • 5V 2A för att driva ledstripen
  • 12V 2A för att driva displayen
  • 12V 2A för att driva förstärkaren
  • 5.1V 3A för att driva Raspberry Pi (använd en officiell RPi -strömförsörjning)

Steg 1: Installera Raspbian

Displayen och alla komponenter bakom spegeln drivs av Raspberry Pi. Du måste installera Raspbian, Pi: s standardoperativsystem, på SD -kortet.

  1. Ladda ner Win32 Disk Imager. Linux- och MacOS -användare kan använda något som Etcher.
  2. Ladda ner den senaste Raspbian -bilden från Raspberry Pi -webbplatsen. Välj alternativet 'Raspbian Buster with desktop'
  3. Öppna Win32 Disk Imager och skriv bildfilen till SD -kortet.

SD -kortet är nu nästan klart. Vi behöver bara se till att vi kan ansluta till Raspberry Pi på distans:

  1. Gå till SD -kortets "boot" -partition med hjälp av systemets filutforskare.
  2. Lägg till en fil som heter 'ssh' utan ett tillägg.
  3. Lägg till 'ip = 169.254.10.1' (utan citattecken) i slutet av den första raden med 'cmdline.txt'.

Kasta säkert ut SD -kortet från din dator, lägg det i din Raspberry Pi och starta det.

Steg 2: WiFi -konfiguration

För att skanna WiFi -nätverk, kör följande kommando:

sudo iw dev wlan0 scan | grep SSID

Du kommer att se listan över alla SSID som din Raspberry Pi kan ansluta till.

Skapa en nätverkspost med ett krypterat lösenord genom att utföra följande kommando och ange ditt nätverks lösenord:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Klistra nu in utdata från ovanstående kommando i den här filen:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Starta om Raspberry Pi nu. Du kommer att vara ansluten till internet.

Steg 3: Installation och konfiguration av programvara

För detta projekt måste du ladda ner dessa paket till din Raspberry Pi:

pip3 installera mysql-connector-python-kolv-socketio-kolv-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt installera apache2 mariadb-server

Lägg till denna rad längst ned i /boot/config.txt för att aktivera ljud via GPIO -stift 12 (vänster) och 13 (höger):

dtoverlay = audremap

Använd raspi-config för att ställa in bildskärmens upplösning och aktivera i2c, One-wire och SPI. Ställ också in startmetoden på 'Desktop Autologin'.

Lägg till följande i/etc/xdg/lxsession/LXDE-pi/autostart:

@xset s off@xset -dpms@xset s noblank@chromium -browser -kiosk 127.0.0.1/mirror.html # ladda krom efter start och öppna webbplatsen i helskärmsläge

Detta öppnar webbläsaren på rätt sida när LXDE (Raspbian's desktop environment) laddas. Ta också bort eller kommentera @xscreensaver -raden för att inaktivera skärmsläckaren.

Github -arkiv

Klona mitt GitHub -arkiv och lägg innehållet i Frontend -mappen i/var/www/html. Vi behöver Backend -mappen senare.

Steg 4: Databasen

Databasen
Databasen

Detta är databasschemat, optimerat till 3NF. Den lagrar alla larm, ny källor, användare, sensordata, ljud och todolist.

  1. Använd MySQL Workbench för att komma åt din pis databasserver (mariadb)
  2. Skapa en databas med hjälp av detta schema och infoga dina egna data.
  3. Redigera config.py i mappen Backend i mitt GitHub -arkiv: ändra databasnamnet, ditt valda användarnamn och lösenordet.
  4. Redigera app.py och ändra OpenWeatherMap API URL till din egen. (Skapa din egen här)

Steg 5: Bygg spegelramen

Bygga spegelramen
Bygga spegelramen
Bygga spegelramen
Bygga spegelramen
Bygga spegelramen
Bygga spegelramen

Jag byggde ramen runt spegeln med geringsfogar med metallhörn. Träplankorna jag använde är 18 mm tjocka och 10 cm breda. På bilderna kan du se de exakta måtten för en 45cm x 60cm spegel. Bakom spegeln finns all elektronik, så se till att dina plankor är tillräckligt breda för att passa dem.

Jag använde metallkrokar för att fästa högtalarna på ramen. På så sätt vilar de inte på spegeln, vilket minskar vibrationsspänningen på glaset.

Steg 6: Elektroniken

Elektroniken
Elektroniken
Elektroniken
Elektroniken

Följ schemat ovan för att bygga kretsen. Jag använde tejp för att fixa elektroniken till spegeln.

Steg 7: Montera elektroniken i ramen

Montering av elektroniken i ramen
Montering av elektroniken i ramen
Montering av elektroniken i ramen
Montering av elektroniken i ramen

Efter att ha fäst högtalarna på metallkrokarna längst upp, lägg till resten av elektroniken i spegeln. Jag satte också en tunn träplanka mellan spegeln och elektroniken, så istället för att tejpa elektroniken i spegeln tejpade jag elektroniken på träplankan. Den bärbara datorns skärm är vit panel längst ner i spegeln.

Som du kan se på bilderna kopplade jag in alla nätadaptrar i ett uttag med flera uttag så att det bara är en kabel som lämnar ramen. Det var därför jag behövde tillräckligt breda plankor (10 cm).

Jag borrade ett 2 cm brett hål i spegelns högra sida för att den roterande givaren ska passa igenom. Detta gör att du enkelt kan ändra volym (vrid) eller avvisa tidtagare och larm (tryck).

Jag borrade två 8 mm hål på vardera sidan av spegeln för att dra kablarna för ledstrips.

Steg 8: Finisher

Finputsning
Finputsning
Finputsning
Finputsning
Finputsning
Finputsning

Jag la till en svart trasa på baksidan av spegeln för att dölja elektroniken. Det mörknar också insidan av fodralet, vilket gör det mycket svårare att se trådarna genom spegeln. Jag fäst den med kardborreband, vilket gjorde det lättare att komma åt elektroniken vid behov.

Kopiera Backend -mappen från mitt Github -arkiv till en plats du kommer ihåg.

Lägg till en systemd -enhet så att python -skriptet körs vid start:

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

[Enhet]

Beskrivning = Tjänsten för magicmirror python script Efter = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = ärva StandardError = ärva Restart = alltid Användare = pi [Installera] WantedBy = multi-user.target

Ändra 'WorkingDirectory' till Backend -katalogen och ändra User till ditt eget användarnamn.

Steg 9: Interagera med Webapp

Interagerar med Webapp
Interagerar med Webapp
Interagerar med Webapp
Interagerar med Webapp
Interagerar med Webapp
Interagerar med Webapp
Interagerar med Webapp
Interagerar med Webapp

Surfa till IP -adressen (som visas på displayen). Du får se en mobil-första webbplats med följande funktioner:

  • Ett interagerbart temperaturgrepp
  • En tid. När timern körs ser du också en nedräkning på själva spegeln.
  • Ett larmsystem
  • En flik med inställningar, där du kan redigera användare, nya källor och högtalarvolym.
  • En todolist. Todo -objekt visas på spegeln

Mirror.html är sidan som visas på Magic Mirror. Jag lade till ett exempel i bilderna ovan.

Rekommenderad: