Här kommer en guide för att skapa en Magick mirror
Nr 1 – Ramen
Köp en tavelram och använd transparent reflekterande folie.
Använd MYCKET vatten när du applicerar filmen.
Nr 2 – Skärmen
Koppla in en skärm som passar bakom tavelramen.
Jag köpte en Adafruit 5″ HDMI-skärm.
Den tar drivspänning via USB från raspberry pi, men eftersom jag har kopplat in en Wifi modul så var jag tvungen att sänka ljuset på skärmen genom att bryta en koppling (se bild) annars orkade inte USB laddaren för raspberry PI enheten driva båda.
För den här skärmen så är det viktigt att skärminställningarna är korrekt.
öppna upp en terminal och skriv in följande: sudo nano /boot/config.txt
Ändra följande i text filen:
# uncomment if you get no picture on HDMI for a default ”safe” mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16
# uncomment to force a console size. By default it will be display’s size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720
# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (here we are forcing 800×480!)
hdmi_group=2
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# for more options see http://elinux.org/RPi_config.txt
Nr 3 – Vad som ska visas
Sätt upp miljön som ska visas. Kom ihåg, för bäst resultat ha en mörk bakgrund.
Jag valde att installera apache2:
sudo apt-get install apache2
jag editerade sedan standardsidan:
sudo nano /var/www/html/index.html
och skrev in följande HTML:
<!DOCTYPE html>
<meta http-equiv=”refresh” content=”60″>
<html>
<head>
<title>Page Title</title>
</head>
<body bgcolor=”#000000″>
<a href=”https://www.accuweather.com/sv/se/stockholm/314929/weather-forecast/314929″ class=”aw-widget-legal”>
<!–
By accessing and/or using this code snippet, you agree to AccuWeather’s terms and conditions (in English) which can be found at https://www.$
–>
</a><div id=”awcc1489784214200″ class=”aw-widget-current” data-locationkey=”314929″ data-unit=”c” data-language=”sv” data-useip=”false” dat$
<a href=”https://www.accuweather.com/en/hu/budapest/187423/weather-forecast/187423″ class=”aw-widget-legal”>
<!–
By accessing and/or using this code snippet, you agree to AccuWeather’s terms and conditions (in English) which can be found at https://www.$
–>
</a><div id=”awcc1489785729544″ class=”aw-widget-current” data-locationkey=”187423″ data-unit=”c” data-language=”sv” data-useip=”false” dat$
</body>
</html>
Jag använde två widgets från accuweather, en för stockholm och en för budapest.
Apachen startar automatiskt men nu måste allt annat startas automatiskt och visas snyggt.
Nr 4 – Rensa skrivbordet
För att få bort alla menyer och ikoner installera ”unclutter”
sudo apt-get install unclutter
För att rensa bort det sista som uncluter inte kan ta bort gör följande:
Editera följande fil:
sudo nano /home/pi/.config/lxpanel/LXDE-pi/panels/panel
Högst upp i filen i den ”General” sektionen hittar du följande:
autohide=0
heightwhenhidden=2
Byt ut det till:
autohide=1
heightwhenhidden=0
Nr 5 – Starta per automatik
För att starta allt per automatik (inklusive unclutter) editera följande fil:
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
@lxpanel –profile LXDE-pi
@pcmanfm –desktop –profile LXDE-pi
#@xscreensaver -no-splash
@point-rpi
@unclutter -idle 0.1 -root
@chromium-browser –incognito –kiosk http://localhost/
@unclutter -display :0 -noevents -grab
Förklarning:
#@xscreensaver -no-splash – Stänger av skärmsläckaren
@chromium-browser –incognito –kiosk http://localhost/ – laddar chromium och laddar hemsidan
@unclutter -display :0 -noevents -grab – Rensar skärmen
Nu är det klart MEN jag ville ha mer funktionalitet med en rörelsesensor så skärmen bara aktiveras när någon står framför den.
Inte det snyggaste, men det fungerar 🙂
Nr 6 – Kopla in rörelsedetektorn
Jag köpte en Luxorparts Rörelsedetektor från kjell och company. Kopla in den i Raspbery PI kortet på följande sätt.
Rött är 5V för drivspänning
Brunt är signalspänning
Svart är jord
Dra ner båda potentiometrarna till minimum, detta kan du tweeka senare.
Vänster – Fördröjning (hur länge den skickar ut en signal vid rörelse)
Höger – Känslighet
Nr 7 – Koda funktionaliteten
Instalera x11-xserver-utils på din raspberry
sudo apt-get install x11-xserver-utils
Skapa en fil med namnet pir11.py i PI hemakatalogen (alltså där mapparna ”Desktop, Dokuments, Music” mm ligger)
sudo nano pir11.py
Och skriv in följande kod i filen:
import RPi.GPIO as GPIO
import os, subprocess, time
os.environ[’DISPLAY’] = ”:0”
displayison = False
maxidle = 2*60 # seconds
lastsignaled = 0
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.IN) #Read output from PIR motion sensor
while True:
i=GPIO.input(11)
now = time.time()
if i==1: #When output from motion sensor is HIGH
print (”Movement”),i
if not displayison:
subprocess.call(’xset dpms force on’, shell=True)
displayison = True
else: #When output from motion sensor is LOW
print (”No intruders”),i
if now-lastsignaled > maxidle:
if displayison:
subprocess.call(’xset dpms force off’, shell=True)
displayison = False
time.sleep(1)
Kontrollera mellanslagen! (Indenteringen). Python använder dessa för att lista ut hur if-satserna ser ut.
Nu kan du testa att sensorn fungerar genom att köra filen genom att skriva:
python pir11.py
Om du bara får Movement 1 testa att dra ner fördröjningen.
Nu måste bara python scriptet köras per automatik vid uppstart
Ändra följande fil:
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
och lägg till längst ner:
@sudo python /home/pi/pir11.py
Nu är det bara att starta om och allt ska fungera!