Hallo zusammen,
ich habe erst vor kurzem den Raspberry Pi3 für mich entdeckt :heart: und bin noch ganz neu in der Thematik, also bitte entschuldigt wenn ich viele Dinge nicht weiss. Jedoch werde ich versuchen hier meinen Beitrag zu leisten und meine Fortschritte zu dokumentieren.
Aktuell befasse ich mich mit dem MagicMirror von Michael Teehuw und versuche meine eigene Variante zu bauen. Folgendermaßen bin ich vorgegangen
Vorweg: ich habe alles als Pi user eingestellt, da ich im root Modus Probleme hatte, keine Ahnung warum
Also habe ich mich gleich an den Befehl sudo gewöhnt.
- SD Karte vorbereiten
Ich habe dafür meine Sandisk Extreme 16GB mit dem Tool SDFormatterV4.0 formatiert, unter Option den Haken bei Format Size Adjustment gesetzt damit die volle Größe
des Speichers genutz wird.
- Raspian laden
unter der Seite http://www.raspberrypi.org habe ich die aktuelle Raspian runtergelade und anschließend entpackt.
- Image auf SD Karte
Jetzt habe ich mit dem Tool Win32Diskimager V0.9.5 das Image auf die SD Karte kopiert.
- Starten des RaspberryPi
Nun habe ich die Karte in meinen PI gesteckt und gestartet. Als erstes habe ich da Terminal Fenster geöffnet und folgenden Befehl eingegeben
Expand Filesystem weist den Pi an den vollen Speicher der Karte zu nutzen. Unter internationalisation Options habe ich meine Region, Zeit und Sprache eingestellt.
Dann habe ich noch den SSH Server aktiviert um alles über Putty zu bedienen. Es geht auch alles über die Desktop Seite.
- WLAN
Ich habe meinen Pi via WLAN verbunden, dafür habe ich einfach oben rechts auf das WLAN Symbol geklickt und die SSID eingeben. Mit dem Befehl
habe ich mir Informationen zu meiner IP Adresse rausgesucht sie ist unter Wlan0 zu finden und beginnt mit 192.168....., diese brauche ich ja für die SSH verbindung.
- Aufräumen
jetzt habe ich erstmal alles gelöscht was ich nicht unbedingt brauche (muss aber nicht gelöscht werden). Das Terminal geöffnet und den Befehl
sudo apt-get remove --purge idle3 java-common libreoffice* minecraft-pi scratch nuscratchpenguinspuzzle python-minecraftpi python3-minecraftpi smartsim sonic-pi wolfram-engine
ausgeführt. Anschließend den Befehl
damit etwas mehr Speicher verfügbar ist. Bin nicht sicher ob es so richtig war, aber schien mir passend.
- Aktualisieren
Bevor ich mit dem MagicMirror angefangen habe, habe ich erstmal alles aktualisiert. Hierzu habe ich einfach die Befehle
und
eingeben. Danach habe ich nochmal zur Sicherheit den Befehl
eingegeben. Keine Ahnung ob es sinnvoll war . Danach dann einen Neustart.
- Installation MagicMirror2
Nach dem Neustart habe ich wieder das Terminal Fenster geöffnet und den Befehl
curl –sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh | bash
eingegeben.
- Bildschirmschoner ausschalten mit dem Befehl
habe ich die Autostart Konfiguration geöffnet und die folgenden Zeilen ergänzt
das ganze habe ich mit Strg o gespeichert und mit Strg x verlassen. Nun habe ich den Befehl
eingegeben und nach [SeatDefaults] gesucht. Unter xserver-command habe ich die Zeile folgendermaßen abgeändert
Das ganze habe ich dann wieder gespeichert.
- WLAN dauerhaft aktivieren unter dem Befehl
habe ich unter dem Punkt Wlan0 die Zeile
hinzugefügt. Nach einem Neustart habe ich dan die iwconfig geöffnet und da steht dann Power Management:off. jetzt sollte das Wlan immer aktiv sein.
- Konfigurationsdatei erstellen
ich habe das Terminal Fenster geöffnet und in das Verzeichnis
gewechselt. Danach dann die Datei
erstellt. Jetzt habe ich meinen MagicMirror das erstemal gestartet, dazu habe ich folgendes in die Konsole getippt
- Fertig mit der Grundlage
Jetzt habe ich mich erstmal um die Module gekümmert und sie an meine Bedürfnisse angepasst bzw neu hinzugefügt. Auf Github bekommt man bereits eine vielzahl an Modulen. Hab mich da erstmal reingetestet.
Im Nächsten Schritt will ich den hc-sr501 PIR Melder installieren damit der Bildschirm nicht andauernd eingeschaltet bleibt.
Ich bin folgendermaßen vorgegangen:
Als erstes Habe ich meinen Melder an die GPIO angeschlossen. Der Jumper steckt auf Low und ich nutze die PIN2 5Volt, PIN6 Ground und PIN8
Als nächstes habe ich eine Python Datei erstellt.
#!/usr/bin/python
# Import der Python libraries
import RPi.GPIO as GPIO
import time
import datetime
import subprocess
# Verwendung des Board Mode, Angabe der PIN Nummern anstelle der GPIO BCM Nummer
GPIO.setmode(GPIO.BOARD)
# GPIO definieren, bei mir ist es PIN 8
GPIO_PIR = 8
# GPIO als "Input" festlegen
GPIO.setup(GPIO_PIR,GPIO.IN)
Current_State = 0
Previous_State = 0
try:
# erst mal schlafen bis der bootvorgang abgeschlossen ist
time.sleep(60)
# Warten bis Sensor sich meldet
while GPIO.input(GPIO_PIR)==1:
Current_State = 0
subprocess.Popen('echo initilized PIR | wall', shell=True)
# Schleife bis CTRL+C
while True :
#Status von Sensor auslesen
Current_State = GPIO.input(GPIO_PIR)
if Current_State==1 and Previous_State==0:
# Kommando zum anschalten, Frambuffer erneuern
subprocess.Popen('echo Monitor on | wall', shell=True)
subprocess.Popen('/opt/vc/bin/tvservice -p', shell=True)
subprocess.Popen('fbset -depth 8', shell=True)
subprocess.Popen('fbset -depth 16', shell=True)
subprocess.Popen('sudo /bin/chvt 6 && sudo /bin/chvt 7', shell=True)
Previous_State=1
elif Current_State==0 and Previous_State==1:
# Ausschalten des Monitors
subprocess.Popen('echo Monitor off | wall', shell=True)
subprocess.Popen('/opt/vc/bin/tvservice -o', shell=True)
Previous_State=0
# 5 Sek Warten
time.sleep(5)
except KeyboardInterrupt:
print " Exit"
GPIO.cleanup()
Display More
Als nächstes habe ich einen Cronjob mit dem Befehl
erstellt und folgende Zeile eingetragen
jetzt sollte der Melder nach jedem Neustart automatisch wieder abgefragt werden.
Das hat auch geklappt.
Meine Frage ist nun, wie ich den Magicmirror automatisch starten lasse??
Aktuell gebe ich noch immer die Befehle
und
[code=php]npm start[/php]
ein.
Kann ich das auch mit Cronejob starten lassen????