Touchscreen mit Web Interface im Kiosk Mode

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,

    ich würde gerne folgendes mit einem Raspberry Pi Typ B realisieren und bräuchte hier noch ein paar Hinweise, da ich mir bisher nicht alles im Vorfeld sauber durch Recherchen erarbeiten konnte:


    a) Hardware zu dem Raspberry Pi Typ B

    • 2 IP Kameras (Ethernet oder WLAN) im Außenbereich (Kameratyp ist noch offen)
    • Ergänzung um 2 Funk PIRs (bspw. hier auf Amazon [Anzeige])...
    • ...und dem vermutlich passenden 433 MHz Empfänger (und ggf. Sender für Funksteckdosen; bspw. hier auf Amazon [Anzeige])
    • Anbindung an einen kleinen Touchscreen (idealerweise sollte dieser eine kompakte Einheit mit dem Raspberry Pi bilden können), wie bspw. diesem hier auf eBay


    b) Applikationsseitige Umsetzungsziele

    • schaltet man den Raspberry Pi ein, so sollte er direkt im Kiosk Modus (also ohne sonstige sichtbare GUI) auf die folgend beschriebene Web GUI gehen
    • Darstellung einer einfachen Web GUI / Web Interface auf dem angebundenen Touchscreen mit folgenden Seiten:
      * Hauptmenü zur Auswahl von Cam1, Cam2, Optionen
      * Cam1-Seite: Zeigt Stream von Cam1 und hat kleine Schaltfläche (für den Touchscreen) um zurück auf die Hauptseite zu kommen
      * Cam2-Seite: Zeigt Stream von Cam2; ebenso Home-Taste
      * Optionen: hier sollten später Parameter per Touchsreen setzbar sein; d.h. Booleans, keine Texteingabe
    • Nutzung von Motion zur Bewegungserkennung auf den Kameras
    • Bei Bewegungserkennung durch Motion soll das Display eingeschaltet werden (alternativ: aus dem Stand-By geweckt werden oder die Beleuchtung aktiviert werden)
    • Logische Zuordnung von einem PIR zu einer Kamera; das Signal des PIRs soll dann dafür sorgen, dass der Stream der zugeordneten Kamera aufgezeichnet wird so lange ein Signal vom PIR kommt + eine definierbare Nachlaufzeit
    • Ausschalten des Display, wenn x Minuten kein Signal von Motion, einem PIR oder dem Touchscreen kommt
    • mind. eine manuelle Möglichkeit den Screen zu aktivieren (Hardware-Taster, Touchscreen betätigen, oder, oder...)

    Anwendungsszenario ist ein im Wohnbereich stationär platziertes Display (mit dem Raspberry im gleichen Gehäuse), welches am Kabel-LAN angeschlossen ist und durch das Aufleuchten des LCDs signalisiert, dass jemand den Hof betreten hat (Cam1) oder gar vor der Haustüre steht (Cam2). Man möchte dann gerne sehen, wer die Person ist.
    Natürlich gibt es noch weitere Ideen, wie das An- / Ausschalten von Funksteckdosen bei PIR-Signalen, um Anwesenheit im Haus zu simulieren, das wären aber spätere Features. Ich denke das obere Szenario ist sportlich genug. :D
    Klar, am Ende soll alles stabil funktionieren und natürlich sollte es möglichst preiswert sein... (alles erwarten, nichts ausgeben wollen und so...)

    Nun meine Fragen: :helpnew:

    • Welche Kamera ist empfehlenswert? Auf was sollte man achten? Reicht VGA MJPEG oder muss es doch 2-Megapixel H.264 codiertes Videomaterial sein, um Personen auf dem Bild erkennen zu können (auf dem Display reicht "erahnen", auf dem aufgezeichneten Video sollte man aber später auf einem richtigen Monitor wirklich jemand erkennen können)?
    • Welches Touch-Display sollte ich nutzen? Die Schaltung sollte sehr einfach sein, daher kam ich bspw. auf obiges Display bei eBay, aber ich fürchte, dass ich dann keine 433 MHz Sender / Empfänger mehr unterbringe, da der GPIO belegt ist). Reicht die Auflösung von 320x240 um Personen zu erkennen? Man bedenke, dass der Stream in eine Webseite auf dem Display eingebettet ist und man noch einen Button unterbringen muss... die effektive Fläche für den Stream ist also noch kleiner.
    • Welche Software nimmt man am besten, um den GUI-Teil des Web Interfaces möglichst ohne manuelle Codierung zu erstellen? Ich hasse GUI Programmierung... Es sollte natürlich ein responsives Design sein, da man natürlich auch daran denkt, diese Webseite ggf. von einem anderem Gerät im gleichen LAN auch einmal aufzurufen.
    • Wo gibt es eine Anleitung, um nach dem Start des Raspberry Pi direkt in einem Browser auf einer definierten Seite im Kiosk-Modus landet?

    Ich freue mich auf Eure Ratschläge,
    Stefan

  • Moin testbert!
    Ambitioniertes Projekt.
    Zu 1.:
    Für mein Projekt Innenraumüberwachung mit LAN-Webcam, Raspberry Pi und VGA-Monitor benutze ich zur InDoor-Überwachung eine Edimax IC-3100 WebCam, das Einsteigermodell aus der Edimax-Serie an LAN. Auf dem Bildschim mit 1280 x 1024 Pixel kann man noch aus einigen Metern Entfernung Personen und Gesichter erkennen. Wie das auf einem 320 x 240 großen Pisplay aussieht, weiß ich natürlich nicht. Denn ...

    Zu 2.:
    ... ich warte für eins meiner Projekte auf dieses Touch-Display:
    watterott.com : 2.8" LCD für Raspberry Pi
    Es gibt einen Treiber auf github.com und es soll bereits fertig gefräste Gehäuse geben. Soll ab Mitte Januar verfügbar sein.
    Ob Du daneben noch den 433 MHz Empfänger ansteuern kannst, weiß ich nicht.

    Zu 4.:
    Goolge brachte mir diese Anleitung für ein RPi im Kiosk-Mode auf den Schirm:
    http://repat.de/2013/03/raspbe…und-vesa-mount/
    Habe ich aber nicht persönlich getestet.

    Ich wünsche Dir viel Erfolg!

  • Hallo und vielen Dank für die Rückmeldung!

    zu 1) Kamera
    Hier bestätigst Du meinen Verdacht, dass man eher zu einer "besseren" Cam greifen sollte, denn Deine hat u.a. folgende technische Daten:

    Zitat


    [font="Verdana"]Video Dual-Modus: MPEG 4 und Motion-JPEG Videobild
    Aufnahmeformat: Video (AVI) / Bild (JPEG)
    Bild-Sensor: 1.3M Pixels CMOS Sensor[/font]

    D.h. Auflösung > VGA; Videostream ist AVI und nicht MJPG.
    Diese Daten sind bei den Outdoor Cams eher in der Preisklasse ab 120 € zu finden; alle unter 100 € hat meist nur 0,3 M Pixel und MJPEG (oder ähnlich). Und da fürchte ich, dass man das Bild unter dem Strich vergessen kann (so wie bei den allerersten Mobilfunktelefon-Knipsen).


    zu 2) Display
    Das klingt spannend und preislich sehr attraktiv - vielen Dank für den Tipp! Auf der korrespondierenden GIThub-Seite findet man u.a. folgende Information:

    Zitat


    [font="Helvetica, arial, freesans, clean, sans-serif"]There are pads for an optional tactile switch or LDR sensor on the PCB with a connection to GPIO22 of the Raspberry Pi.[/font]

    • Switch:

      • GPIO22 = 0 -> switch pressed
      • GPIO22 = 1 -> switch not pressed
    • LDR (VT93N1):

      • GPIO22 = 0 -> bright light
      • GPIO22 = 1 -> low light

    Somit wäre zumindest ein GPIO für einen Switch vorgesehen und man kann vermutlich damit sehr einfach das von mir gewünschte manuelle Display "an/aus" realisieren. Sehr schön, das.


    zu 4) Direkter Start mit Browser im Kiosk Mode
    Sehr guter Link, denn der Ansatz ist äußerst pragmatisch und ressourcenschonend - danke!
    Auch diesen kannte ich noch nicht (trotz gewissenhafter Suche, aber vermutlich mit den falschen KeyWords).


    Zwischenfazit:
    Es scheint machbar zu sein. Die Erkennbarkeit auf dem Minidisplay wird sicherlich nicht sonderlich gut sein, aber man wird unterscheiden können ob es eine bekannte Person oder ein Fremder ist. Auch wird man den DHL-Boten erkennen können - das reicht eigentlich.

    Kritisch ist noch das Eventhandling, d.h. das korrekte Updaten des Displays auf Basis der unterschiedlichen Events (also bspw. der automatische Wechsel von Cam1 auf Cam2). Das sollte aber sicherlich ein lösbares Problem sein, denn zur allergrößten Not setzt man das Motion-Erkennungsevent in eine Datei je Cam und eine Endlossschleife in der Web GUI prüft permanent beide Cam-Dateien und zeigt die Cam mit neueren Zeitstempel an...


    Somit wäre eigentlich das Basisszenario umsetzbar:
    * 2 IP Cams mit Motion zur Bewegungserkennung
    * Web Interface zur Darstellung auf Touch LCD (bei Browser im Kiosk Mode)

    Das erweiterte Basisszenario mit den PIRs je Cam (bedingt also den 433 MHz Empfänger) und auch der gedachte "future Use" mit der Simulation von Anwesenheit durch Lichtwechsel über Funksteckdosen (bedingt zusätzlich einen 433 MHz Sender) könnte dann an den recht geringen GPIOs des Rpi scheitern... Ich habe daher mich zwischenzeitlich noch ein wenig in das BeagleBoneBlack eingelesen, welches ja preislich quasi identisch mit dem Rpi ist (wenn man für eine SD-Karte einen knappen 10er ansetzt; diese braucht man beim BeagleBone Black ja nicht, da 2 GB OnBoard), dafür aber eine etwas stärkere CPU und mehr GPIOs hat. Letztlich wird es von der SW-Seite her egal sein, ob Rpi oder BBB.

    Beim BBB gibt es auch ein spannendes, passendes Touch LCD:
    4,3" 480x272 Pixel ca. 55 € oder
    7,0" 800x480 Pixel ca. 85 €


    Pro BeagleBone Black:

    • Mehr GPIOs
    • etwas mehr Rechenressourcen
    • Display mit mehr Pixeln (selbst beim 4,3") und schon 6-Hardware Taster verbaut und verdrahtet


    Pro Raspberry Pi:

    • in Summe etwas günstiger (da auch das von Dir verlinkte Display rund 25 € billiger ist)
    • es ist ein fertig gefrästes Gehäuse für Rpi mit diesem Display angekündigt
    • größere Community (für Ideen, Anregungen, Ratschläge)

    Ein wenig weiter bin ich nun schon in der Vorplanung - von daher vielen Dank! Durch eigene Recherche kam aber nun noch eine Grundsatzfrage dazu (Mist :X).

    Viele Grüße,
    Stefan

    Einmal editiert, zuletzt von testbert (10. Januar 2014 um 10:47)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!