Schlagwort-Archive: Raspberry Pi

Was soll auf einem Display angezeigt werden

In vielen Unternehmen beziehungsweise auch an öffentlichen Stellen hängen Display, die die verschiedensten Inhalte ausgeben. Es werden die nächsten Besucher angekündigt, das aktuelle Wetter, der Speiseplan oder andere verschiedene Dashboards. Die womöglich billigste Variante ist vermutlich einen Monitor / Fernseher zu verwenden, der an einem Raspberry Pi angeschlossen ist. Auf dem Raspberry Pi wird der Browser in dem Kiosk Modus gestartet und gibt die gewünschte Seite aus. Soll die Seite gewechselt werden, so wird die Konfiguration auf dem Raspberry Pi angepasst und der Browser wird neu gestartet. Gibt es mehrere Display die verwaltet werden müssen, so ist dies vermutlich ein gewisser Aufwand. Die kleine in Ruby on Rails geschriebene Webapplikation übernimmt die Verteilung der URL.

In der Webapplikation werden die Rasperry Pis hinterlegt und auf dem Raspberry Pis werden entsprechende Scripte eingerichtet. Damit die Webapplikation auf die Raspberry Pis zugreifen kann, muss der Public Key des Benutzers unter dem die Webapplikation läuft, auf dem Pi hinterlegt werden. Nun kann per Mausklick eine neue Url hinterlegt oder der Pi heruntergefahren bzw. neugestartet werden.

In der Webapplikation können Gruppen angelegt werden, Benutzer und Raspberry Pis werden der Gruppe zugeordnet. Die angelegten Benutzer können nur Raspberry Pis verwalten, die sich in der gleichen Gruppe befinden.

Verwaltung der Raspberry Pis

Git Repository https://github.com/Ostfriese26802/DashboardViewController

Raspberry Pi Touchscreen in Betrieb nehmen

Es gibt mehrere Möglichkeiten den originalen 7″ Touchscreen anzuschließen und mit Strom zu versorgen.
Derzeit habe ich je ein Jumper-Kabel vom Pin 4 zu 5V+ am Display und von Pin 6 zu GND am Display. Wichtig ist dabei, das die Stromversorgung dann mittels Micro-USB am Display angeschlossen wird und nicht am Pi, da dieser nicht dafür ausgelegt ist das Display noch mit Strom zu versorgen und ggf. kaputt gehen kann.
Ich werde demnächst aber die zweite Möglichkeit nutzen und je ein Netzteil für den Raspberry und eins für das Display einsetzen. Zu beachten ist dabei, dass die Stromversorgung zeitgleich eingeschaltet wird.
Desweiteren ist ein Flachbandkabel am Display anzuschließen und am Raspberry.

Beim ersten Start stellte sich heraus, dass das Bild jedoch auf dem Kopf dargestellt wird.
Um das Bild zu drehen, ist folgender Eintrag in der Datei "/boot/config.txt" anzupassen/einzutragen.

lcd_rotate=2

Anschließend muss der Raspberry neugestartet werden.

Folgender Eintrag in "/boot/config.txt" würde zwar das Bild drehen, jedoch würden die Touchoberfläche weiterhin auf dem Kopf stehen und damit für noch mehr Verwirrung sorgen.

display_rotate=2

Für beide Einstellungen gilt:

WertGrad
00 GradKeine Drehung
190 Gradseitlich gedreht
2180 Grad„auf den Kopf gestellt“
3270 Gradseitlich gedreht

Kartenplotter an Bord mit Raspberry Pi

Das Lob gebührt Andreas Vogel und allen Unterstützern! – http://www.wellenvogel.net/software/avnav/docs/beschreibung.html
Mit dem Projekt AvNav wird der RaspberryPi zum Bordcomputer.
An Bord ist der RaspberryPi die zentrale Einheit wo u.a. Positionsdaten, Geschwindigkeit und Kartendaten zusammenlaufen und mittels WLAN an Endgeräte verteilt werden.
Für die Niederlande und auch Deutschland (und auch noch weitere) lassen sich kostenlos bereitgestellte Kartendaten herunterladen und in AvNav einbinden.
Die Dokumentation ist auf der oben aufgeführte Seite sehr ausführlich.
Im Einsatz ist bei uns die Version „AvNav-Touch“ (fertiges Image) in Verbindung mit dem
RaspberryPi-Touchscreen.

An Bord ist der GPS-Stick „USB GPS Modul Vk-172 Glonass Navigation“ von Amazon im Einsatz, welcher bisher sehr zuverlässig die Position liefert (am Kartentisch unter Deck montiert).
Mit dem eingebauten WLAN des RaspberryPi kam es leider immer wieder zu Verbindungsabbrüchen in Verbindung mit einen Samsung Galaxy Tab A10.1. Von Hermann habe ich noch einen TP-Link TL-WN722N gestellt bekommen, mit dem nun bisher überall an Bord die WLAN-Verbindung zuverlässig bestehen bleibt!

Zum Thema „Installation des originalen Rasperry Pi Touchscreen“ folgt noch ein Beitrag.

Foscam Kamera in openhab integrieren

Wie in dem vorherigem Artikel geschrieben, kann die Foscam Kamera bei Bewegungserkennung eine E-Mail versenden. Die Bewegungserkennung lässt sich mit relativ wenig Aufwand in openhab integrieren.
Die Kameras bieten die Möglichkeit unter anderem den Status der Bewegungserkennung per http cgi abzufragen. Damit die URL über openhab abgefragt werden kann, wird das http binding benötigt.
Der Benutzer für die Abfrage der Daten muss auf der Kamera die Rechte eines Administrators besitzen.

Als Item wird folgendes angelegt:
String Foscam_Cam1 "Bewegung Camera [MAP(foscam.map):%s]" <camera> (camera) { http="<[http://ipadresse:88/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=benutzer&pwd=kennwort:4000:REGEX(.*?<motionDetectAlarm>(.*?)</motionDetectAlarm>.*)]" }

Damit als Status bewegung und nicht die Zahl 2 ausgegeben wird, kann eine map(configurations/transform/foscam.map) angelegt werden.

0=deaktiviert
1=ruhe
2=bewegung
undefined=keine daten
-=keine daten

Der Status der Bewegungserkennung wird bereits auf der Sitemap ausgegeben, mit entsprechender Regel kann eine E-Mail inkl. Bild versendet werden. Voraussetzung für den Mailversand ist ein hinterlegter smtp Server.
rule foscambewegung
when
Item Foscam_Cam1 received update
then
if (Foscam_Cam1.state == "2"){
sendMail("emailadresse", "Betreff", "Text", "http://ipadresse:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=benutzer&pwd=kennwort")}
end

Die Regel lässt sich nach belieben erweitern, zum Beispiel kann eine E-Mail nur in einem bestimmten Zeitraum versendet werden. Nutzt man bereits die Anwesenheitserkennung, kann eine E-Mail versendet werden wenn eine Bewegung erkannt wurde und niemand zu Hause ist.

Livebild der Rasperry Pi Kamera über den Browser aufrufen

Neben Einzelbildern kann man die raspicam auch nutzen um ein Livestream zu erstellen. Der Livestream kann dann von verschiedenen Clients per Browser abgerufen werden.

Folgende Schritte müssen als root ausgeführt werden.
apt-get install libjpeg8-dev imagemagick libv4l-dev
ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
wget http://sourceforge.net/code-snapshots/svn/m/mj/mjpg-streamer/code/mjpg-streamer-code-182.zip
unzip mjpg-streamer-code-182.zip
cd mjpg-streamer-code-182/mjpg-streamer
make mjpg_streamer input_file.so output_http.so
cp mjpg_streamer /usr/local/bin
cp output_http.so input_file.so /usr/local/lib/
cp -R www /usr/local/www

Nachdem die aufgeführten Befehle erfolgreich ausgeführt wurden, kann das Modul genutzt werden.
mkdir /tmp/stream
raspistill --nopreview -w 640 -h 480 -q 5 -o /tmp/stream/live.jpg -tl 100 -t 9999999 -th 0:0:0 &

In einer weiteren Linux Shell wird der eigentliche Live Stream gestartet.
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_file.so -f /tmp/stream -n live.jpg" -o "output_http.so -w /usr/local/www" &

Das direkte Livebild kann im Anschluss per Browser über die Url http://serverip:8080/?action=stream aufgerufen werden.