NEWS
Raspberry original 7'' Touchscreen mit Bewegungsmelder einschalten
-
Guten Tag!
Ich will hier mal mein kleines Miniprojekt vorstellen:
****Ein kleiner Bildschirm zum hinstellen für VIS.
Der Bildschirm geht nur an, wenn jemand davorsteht / vorbeiläuft.
Das Ganze ist als iobroker Multihost Client gedacht.****
Ein Pi 3 deshalb, weil er WLAN schon drin hat und relativ schnell ist, was das Webseitenrendern für VIS betrifft.
Mit Bildschirm aus verbraucht er ca. 2,5 W, mit Bildschirm an rund 5 W.
Die Lösung hat gegenüber Tablets den Vorteil, dass es keine Akku- oder WLAN-Energiesparmodusprobleme gibt.
Dafür ist die Auflösung relativ gering.
Auf dem Foto ist das nur so hingestellt. Es fehlt noch ein Halterung für den Bewegungsmelder und der Kabelsalat muss gezähmt werden.
Genutzt wird ein
-
Raspberry 3 (35 €),
-
offiziellen Raspberry Pi 7'' Touchscreen (85 €) und
-
PIR Motion Sensor (5 €).
Die Preise sind jetzt als Richtschnur von Amazon, man bekommt die Teile auch durchaus deutlich billiger.
Natürlich kommen die üblichen Teile dazu, wie Netzteil, Speicherkarte, Gehäuse, evtl. ein Rahmen.
Also erstes wird das Ganze verkabelt.
Der Bildschirm wird mit den Kontakten nach innen an der den USB-Ports gegenüberliegenden Seite eingeschoben und der Bügel verriegelt.
Nun wird der Bildschirm am Strom angeschlossen. Man kann den Raspi per USB-Kabel an den Bildschirm klemmen, und diesen wiederum an ein Netzteil. Da reicht der Strom jedoch nicht aus, egal wie stark das Netzteil ist.
Also lieber entweder den Raspi und den Bildschirm getrennt direkt an ein Ladegerät stecken oder nur den Raspi an ein Ladegerät, und den Bildschirm über die GPIO-Pins verkabeln.
So habe ich das gemacht. Dafür wird der Raspi GPIO-Pin 2 mit dem ganz außen am Bildschirm verbunden, und der Raspi GPIO Pin 14 mit dem am Bildschirm innen.
http://www.elektronik-kompendium.de/sit … pi-15b.jpg
Der Sensor wird ebenfalls an + (Pin 4) und GND (Pin 6) angeschlossen, sowie mit dem Signalkabel an Pin 7.
Also erstes wird Raspbian Jessie with Pixel Full ganz normal installiert.
https://www.raspberrypi.org/downloads/raspbian/
Danach iobroker http://www.iobroker.net/docu/?page_id=5106&lang=de
Und als Multihost einrichten http://www.iobroker.net/docu/?page_id=3068&lang=de
Nun die Adapter Javascript und RPI-Monitor auf dem Raspi installieren.
Der RPI-Monitor ist wichtig, um den Sensor auszuwerten. Stand heute kann die offizielle RPI-Adapter noch kein GPIO, nur als beta, in den nächsten Tagen wird es aber offiziell.
<size size="150">Bildschirm vorbereiten:</size>
Der Touchscreen soll nicht in den Energiesparmodus gehen oder den Bildschirmschoner deaktivieren.
Im Terminal (oder über SSH) eingeben:
Bildschirmrechte:
sudo chmod 777 /sys/class/backlight/rpi_backlight/bl_power
Bildschirmschoner deaktivieren:
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Dort am Ende eintragen:
@xset s noblank @xset s off @xset -dpms
Damit bleibt der Bildschirm nach einem Neustart nun immer an.
<size size="150">Bildschirmskript aktivieren / deaktivieren:</size>
Die Befehle, um die Helligkeit vom Bildschirm an/auszuschalten lauten:
echo 0 > /sys/class/backlight/rpi_backlight/bl_power echo 1 > /sys/class/backlight/rpi_backlight/bl_power
Wobei 0 = an und 1 = aus.
Hier als Blockly Script:
` > <block 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml" type="exec" id="1)5UC|K6Ug2iTij}[(f7" x="-166" y="-19">
<mutation with_statement="false"></mutation>
<field name="WITH_STATEMENT">FALSE</field>
<value name="COMMAND"><shadow type="text" id="+8y).w+^AjXL69z;Y:u6"><field name="TEXT">echo 1 > /sys/class/backlight/rpi_backlight/bl_power</field></shadow></value></block> `
Im Code wird der Pin 7 als Sensorpin angenommen. Habt ihr den Sensorpin woanders angesteckt, muss das entsprechend geändert werden!
Darauf achten, dass dieses Skript dem Javascript Adapter 1 (oder welcher Adapter auch immer dem Raspi Multihost zugeordnet ist) zugeordnet ist.
Empfindlichkeit und Länge der Bildschirmaktivität richtet sich nach den Einstellungen direkt am Bewegungssensor. Dort kann die Dauer mit einer Schraube eingestellt werden, so lange wie die Dauer ist, so lange bleibt der Bildschirm an. Zum Testen also ruhig etwas kürzer stellen (idR nach links drehen).
Nun ist der Raspi erstmal so eingerichtet, dass der Bildschirm an/aus geht.
<size size="150">VIS-View im Vollbildmodus</size>
Nun soll VIS View im Vollbildmodus angezeigt werden.
Man kann es als Autostart einrichten, aber ich habe es als Desktopsymbol eingerichtet, damit die internetseite nicht gleich im Kiosk Modus startet. Wie man den ausschaltet habe ich nämlich noch nicht herausgefunden :lol:
Der Kiosmodus sorgt dafür, dass es keinen Rechtsklick gibt und man nichts durch fummeln "zerstören" kann. Natürlich kann man auch stattdessen den normalen Fullscreen Modus nehmen, dann besteht aber die Gefahr durch Rechtsklick etc.
Ich habe mir auf dem Desktop eine ausführbare .sh Datei erstellt mit dem Inhalt:
#!/bin/bash /usr/bin/chromium-browser --kiosk --noerordialogs --disable-session-crashed-bubble http://192.168.x.xxx:8082/vis/index.html#RaspiTouch
Chromium wird im Kios modus gestartet, zeigt keine Fehlerdialoge an und auch keine Crash-Meldungen.
Auf dem Desktop klicke ich dann nur einmal diese Datei an, und dann läuft VIS view.
Er aktualisiert die Daten selbstständig, aber nicht die Internetseite wenn man grundlegend etwas geändert hat. Dafür entweder F5 drücken oder den Raspi einfach neu starten,. sollte man keine Tastatur angeschlossen haben.
<size size="150">Sonstiges / Bugs</size>
Der Raspi-Touch hat eine Auflösung von 800x480 Pixeln. Dies kann man in VIS Editor einstellen.
Leider werden im View die Scrollbalken angezeigt, wenn wenn die Pixel bis zum unteren und rechten Rand völlig ausnutzt. Lässt man hingegen etwas Platz, etwa eine Scrollbalkenbreite, dann verschwinden die Scrollbalken. Die Widgets also nicht bis zum Rand ziehen. Ich habe noch keinen Weg gefunden, die Balken auszublenden, "–disable-overlay-scrollbar" beim Chromiumstart funktioniert nicht.
Statt dem Raspi Touchscreen könnte man auch einen richtigen TFT anschließen. Die Ausschaltbefehle müssen dann durch HDMI-Befehle ersetzt werden.
Es ist auch denkbar, dies hier als Magic Mirror einzusetzen. Vielleicht gibt es einen günstigeren Bildschirm ohne Touch hierfür.
Falls jemand ein schönes Gehäuse für den PIR-Sensor kennt, um ihn zB über den Bildschirm herausschauen zu lassen, bitte melden.
-
-
Super Projekt!
Wollte ich ggf. Mit einem großen Touchscreen über HDMI machen (17-21"). Habe aber auf die Schnelle immer nur Anleitungen für den Pi Screen gefunden.
Habe aber meine beiden pi3 noch in produktivem Einsatz.
Dann wollte ich noch BT Lautsprecher für sayit im Haus verteilen.
Vielleicht willst du dein Projekt noch dahingehend erweitern
Gruß
Rainer
-
Über HDMI sollte man mit den Befehlen
Aus:
vcgencmd display_power 0
bzw.
An:
vcgencmd display_power 1
den Bildschirm steuern können.
Diese Befehle schalten nur das HDMI am Raspi an/ab, der Bildschirm sollte dann von alleine in den Energiesparmodus gehen.
######################
Mit den Lautsprechern habe ich auch schon überlegt. Habe ja Sonos im Haus und das funktioniert ganz gut. Aber ich sehe keine praktische Anwendung. Meistens bin ich eher irritiert wer da jetzt spricht bzw. verstehe das dann auf die Schnelle nicht weil ich es absolut nicht erwarte.
Wäre nur praktisch für Waschmaschine fertig oder ähnliches, aber das sehe ich auch so per Pushover.
-
Hiho!
Ich wollte das nachbauen, aber so, dass der Bildschirm an und nach Zeit X aus geht. Das sollte ja kein Problem sein, in dem ich einfach den Bildschirmschoner anlasse, oder?
Leider kann ich es aber nicht testen, da ich schon mit dem RPI Monitor Probleme habe, ich bekomme beim aktivieren IN für GPIO07 die Meldung " Cannot setup port 7 as input: Error: EINVAL: invalid argument, write"
Habe wie du es beschrieben hast den Bewegungsmelder an den Pin 7 angeschlossen.
-
Hallo,
sehr schönes Projekt. Vielleicht wird das mein Einstig in die Raspberry-Welt. Vielen Dank!
Meistens bin ich eher irritiert wer da jetzt spricht bzw. verstehe das dann auf die Schnelle nicht weil ich es absolut nicht erwarte. ` Dafür kannst du im Sayit-Adapter den Gong aktivieren. Der kommt dann vor jeder Ansage.
Gruß
Pix
-
Hallo,
ich habe dieses tolle Projekt nach der Anleitung hier nach gebaut. Dabei bin ich über den GIPO 7 gestolpert. Bei mir ist GIPO 7 nicht der Pin 7 sondern Pin 26. Dann hat es funktioniert, daß der Bewegungssensor den Bildschirm wieder angehen läßt.
Aber….! Das ganze funktioniert nur innerhalb von ungefähr 10 Minuten. Wird der Bildschirm länger als 10 Minuten nicht durch den Bewegungssensor wieder ein geschalten, kommt der Bildschirm nicht mehr aus dem Standby. Die oben beschriebene Abschaltung dem Eintrag der drei Befehle in die Autostart-Datei führt bei mir nicht dazu, daß der Bildschirm dauerhaft an bleibt.
Kann mir jemand einen Tip geben, wo diese Funktion noch zur Bildschirmabschaltung noch zu finden sein könnte?
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Hier funktioniert es leider nicht.
Ich habe das ganze auf einem Raspberry Pi 3 mit Version (Linux raspberry 4.4.43-v7+ #948 SMP Sun Jan 15 22:20:07 GMT 2017 armv7l GNU/Linux).
Vielen Dank schon mal.
Gruß Rolf.
-
Moin, Moin,
ich habe es ganz simpel gelöst. Ein Bewegungsmelder kam nicht in Frage, da der Screen mit auf dem Schreibtisch steht.
Raspi 3 mit Original-7"-Display, neuestes Image drauf, mit Tastatur und Maus konfigurieren.
Tastatur und Maus wird dann nicht mehr benötigt.
Chromium mit der Adresse für die Vis starten, F11 für Full Screen - fertig.
Der Screen schaltet nach ca. 10 min aus, es reicht ein Tipp mit dem Finger, um ihn wieder zu aktivieren.
Falls man doch mal ran muß: Putty oder VNC. Muß natürlich eingerichtet sein.
Läuft seit Wochen problemlos.
Grüße Ingo
-
Hallo,
ja so funktioniert es bei mir zur Zeit auch. Das Ding soll bei mir im Flur hängen, und ohne daß man direkt davor steht solche Dinge farblich signalisieren, wie zum Beispiel, ob irgend wo noch ein Fenster geöffnet ist. So im Vorbeigehen. Zur zeit macht das noch die 16er LED-Anzeige von Homematic, aber nun reichen 16 Anzeige Punkte nicht mehr.
Die Frage die mich bewegt ist die, es muß doch einen Weg geben, daß der Bildschirm nicht ohne Zutun ausgeht.
Gruß Rolf
-
Ich kann mich erinnern, dass ich damals einige Sachen aus dem Internet probieren musste, um den Schlafmodus zu deaktivieren. Es gab zig Möglichkeiten, aber nur wenige funktionierten bei mir, bei anderen wiederum nur andere.
Mal ein sauberes Image ziehen und dann alles durchprobieren.
-
Danke,
werde ich probieren.
Gruß Rolf
-
Ich habe den Pfad, der bei mir funktioniert gefunden:
~/.config/lxsession/LXDE-pi/autostart
Nur für den Fall das jemand sucht. Das ist übrigens bei mir die dritte Autostart-Datei. Für einen Linux-Anfänger ziemlich verwirrend.
Gruß Rolf.
-
Super, danke für die Rückmeldung!!
-
Ein bisschen off-topic, aber vielleicht kann mir ja doch jemand helfen.
Ich bin auf der Suche nach einer vernünftigen Lösung, einen Touchscreen samt Raspi in eine Schranktür/Hauswand/wasauchimmer einzubauen.
Möglichst ein Teil, auf dem beides montiert wird.
Sollte nicht nach Marke Eigenbau aussehen, halbwegs bündig mit der Oberfläche abschließen
und insbesondere den Bildschirm so schützen, dass man ihn bedenkenlos von Fremden bedienen lassen kann (also ein gescheiter Rahmen).
-
Hallo,
ich habe mir nach dem super Beitrag jetzt auch einen Raspi 3 mit dem Touchscreen und passendem Gehäuse zugelegt nur ohne Bewegungsmelder. Es funktioniert auch alles so, aber ich möchte gern den Bildschirmschoner verwenden damit der Bildschirm beim touchen wieder aufwacht. Gibt es einen Befehl den ich mit Blockly setzen kann damit sich der Bildschirm bei einem Ereignis wieder einschaltet? Oder über gpio und einem Programm auf dem Raspi. Hab schon manche Sachen was bei google zu finden war probiert aber es geht nicht.
-
Hallo,
ich habe mir nach dem super Beitrag jetzt auch einen Raspi 3 mit dem Touchscreen und passendem Gehäuse zugelegt nur ohne Bewegungsmelder. Es funktioniert auch alles so, aber ich möchte gern den Bildschirmschoner verwenden damit der Bildschirm beim touchen wieder aufwacht. Gibt es einen Befehl den ich mit Blockly setzen kann damit sich der Bildschirm bei einem Ereignis wieder einschaltet? Oder über gpio und einem Programm auf dem Raspi. Hab schon manche Sachen was bei google zu finden war probiert aber es geht nicht. `
Würde mich auch interessieren, denn ich habe das gleiche vor. Leider absoluter Neuling auf dem Gebiet.
-
@Rolf_A versuche mal-: /etc/xdg/lxsession/LXDE-pi/autostart