Forum: PC-Programmierung Kiosk Applikation


von Christian P. (chita)


Lesenswert?

Hallo!

Ich bin auf der Suche nach ein Vorschlägen und Ideen zum Thema Kiosk 
Applikation für ein privates Projekt.

Erforderlich ist ein 10" Touch-Farb-Display, welches an mit einem ca. 5 
Meter entfernten PC/Embedded System verbunden ist (z.B. HDMI + USB für 
touch). Beides soll ca. 12 Stunden am Tag eingeschaltet sein. Nachts 
wird die Anlage stromlos geschaltet. Einmal eingerichtet, soll die Kiok 
Applikation möglichst lange (>10 Jahre) wartungsfrei funktionieren. Es 
handelt sich um eine WebApplikation bei dem der Server direkt auf dem 
PC/Embedded System liegt (kein Internet). Im Display wird das Vollbild 
Browserfenster dargestellt. Das system wird <50 mal pro Tag bedient. Es 
müssen nur minimale Datenmengen pro Tag geschrieben werden (<10 kByte). 
Die gesamte Speichermenge überschreitet nicht 100kByte. Der Preis für 
diese Kombination sollte 400€ nicht überschreiten. Das System wird im 
Temperaturbereich von 15-25°C sowie im Trockenen betrieben.

Ein Hauptproblem sehe ich in der langen Laufzeit: 10 Jahre x 365 Tage x 
12 h = 43800 h.

Als Server tendiere zu einem Embedded System wie z.B. den Raspberry PI 
(3 oder 4) oder den Beagle Bone Black.

Um die Lebensdauer des Systems zu erhöhen sehe ich folgende 
Möglichkeiten:
* Filesystem Read-Only um Schreibzugriffe zu verhindern:
  Gerade die SD Karte im Raspberry PI bzw. die EMMC im Beagle Bone sind 
nicht für lange Lebensdauer ausgelegt (z.B. 
https://www.raspberrypi.org/blog/adafruits-read-only/). Problem ist 
dann: Wo speichere ich die kleinen Datenmengen, die pro Tag geschrieben 
werden müssen?

* Schreibzugriffe durch das Linux-System reduzieren (z.B. 
https://domoticproject.com/extending-life-raspberry-pi-sd-card/) und 
dazu eine überdimensionierte Speicherkarte verwenden um die 
Schreibzugriffe pro Zelle zu reduzieren. In diesem Fall können die 
Daten, die ich Speichern muss mit auf die SD-Karte schreiben.

* System gut kühlen um die Bauteillebensdauer zu erhöhen. Z.B. durch 
einen großen passiven Kühlkörper

* Niedrige Taktrate der CPU (Raspberry PI macht das aktuelle 
automatisch, soweit ich das weiß)

* System "sauber" herunterfahren bevor die Spannung ausgeschaltet wird. 
CRON job wird nicht gehen, da das System autark, also ohne Verbindung zu 
Timeservern ist. Also externe Ausschaltverzögerung und Raspberry PI 
passend herunter.

Gibt es hierzu irgendwelche weiteren Vorschläge? Kann jemand aus 
Erfahrung berichten, welche Lebensdauer erreicht werden kann?

Zum Touch Display habe ich keine Erfahrung. Die Auflösung ist dabei 
nicht so entscheidend. Auch die Dicke des Rahmens ist nicht relevant, da 
nur das Display selbst später zu sehen ist. Der Rahmen ist hinter einer 
Abdeckung versteckt.

Welche Lebensdauer kann von einem Touch-Screen erwartet werden?
Worauf sollte ich achten?

Danke für eure Hilfe!

Christian

: Verschoben durch Moderator
von cppbert3 (Gast)


Lesenswert?

Wie wäre es mit einem echten Embedded Betriebssystem für 
Minimalbelastung

Was läuft denn im Browser? Kiosksystem sagt mir nichts

von Heiner (Gast)


Lesenswert?

Christian P. schrieb:
> Welche Lebensdauer kann von einem Touch-Screen erwartet werden?

Da gehen die Probleme schon los: Wenn man etwas will, das unter realen 
Bedingungen mit Kundenkontakt (so ist das doch gedacht, oder?) wirklich 
zuverlässig 10 Jahre Lebenserwartung hat, suchst du hier ein 
Industrie-Display. Damit ist der Kostenrahmen schon ausgeschöpft, 
vielleicht auch bereits überschritten.

Von einem Consumer-Gerät würde ich diese Lebensdauer nicht erwarten. Das 
heißt nicht, dass es unmöglich wäre ...


Christian P. schrieb:
> welches an mit einem ca. 5
> Meter entfernten PC/Embedded System verbunden ist (z.B. HDMI + USB für
> touch).

Wenn man bei Null anfängt, sollte man auch das vermeiden. Ja, 5 Meter 
sind noch machbar, mit anständigen Kabeln sowieso, aber man spart sich 
womöglich trotzdem Ärger, wenn man die Kabel kurz hält.


Christian P. schrieb:
> Als Server tendiere zu einem Embedded System wie z.B. den Raspberry PI
> (3 oder 4) oder den Beagle Bone Black.

Die Himbeere ist nicht für den Produktivbetrieb vorgesehen und dafür 
gibt es Gründe. Ähnlich wie beim Touch-Display: Es ist natürlich 
trotzdem möglich, ...

Beide haben keine RTC. Wenn das System nirgends am Netz hängt, muss man 
sehr genau überlegen, ob das trotzdem passt. Wenn Ereignisse mit Datum 
und Zeit protokolliert werden müssen, ist das ein Problem.

In der Gegend von 200 € kann man schon kleine Intel-Atom Rechner 
aufbauen. Wenn man bereits vorhandene Hardware nutzt (was ja häufig der 
Grund für die sehr optimistischen Kalkulationen von Pi-Systemen ist), 
geht noch weniger.

Christian P. schrieb:
> Um die Lebensdauer des Systems zu erhöhen sehe ich folgende
> Möglichkeiten:
> * Filesystem Read-Only um Schreibzugriffe zu verhindern:

Christian P. schrieb:
> Wo speichere ich die kleinen Datenmengen, die pro Tag geschrieben
> werden müssen?

Auf die SD-Karte kommt nur /boot und die ist dann tatsächlich read-only. 
Der Rest des Systems kommt auf ein anderes Medium. Bei den geringen 
Anforderungen sollte das jede seriöse Festplatte oder SSD locker 
durchstehen. Von einem USB-Stick würde ich abraten - das ist auf 10 
Jahre bereits riskant.


Christian P. schrieb:
> * System gut kühlen um die Bauteillebensdauer zu erhöhen. Z.B. durch
> einen großen passiven Kühlkörper

Ja, auch wenn eine wenigstens kleine aktive Kühlung besser wäre.


Christian P. schrieb:
> * System "sauber" herunterfahren bevor die Spannung ausgeschaltet wird.
> CRON job wird nicht gehen, da das System autark, also ohne Verbindung zu
> Timeservern ist. Also externe Ausschaltverzögerung und Raspberry PI
> passend herunter.

Es wird ja wohl irgendeine Möglichkeit geben, mit dem System zu 
interagieren, um ihm mitzuteilen, dass Feierabend ist? Einen Taster an 
den Raspi führen? Könnte man auch als Schlüsselschalter ausführen. Beim 
Anstecken eines bestimmten Geräts (USB-Stick?) per udev-Regel 
herunterfahren? Verstecke Funktion auf dem Touchdisplay?

Auch hier hat der PC wieder Vorteile: Über den Power Button wird der 
Shutdown ausgelöst.

Christian P. schrieb:
> Kann jemand aus
> Erfahrung berichten, welche Lebensdauer erreicht werden kann?

Den Raspi gibt es seit 2012. Über 10 Jahre Nutzungsdauer kann niemand 
berichten. Mir ist einmal nach knapp 2 Jahren mäßig intensiver Nutzung 
ein USB-Stick als Speichermedium verreckt (trotz diverser Maßnahmen wie 
noatime/nodiratime) und zwei Defekte bei Gewitter hatte ich auch schon. 
Für private Basteleien sind die Dinger toll, aber mir würde nie 
einfallen, damit etwas zu tun, das zuverlässig Geld verdienen soll.

von Oliver S. (oliverso)


Lesenswert?

10 Jahre Dauerbetrieb und RasPi passen einfach nicht zusammen. Dessen 
SD-Kartenproblem liesse ja noch einfach durch eine SSD entschärfen, seit 
ein paar Wochen kann der Raspi4 davon auch mit Released-Image komplett 
von USB booten, aber der Rest ist halt nicht drauf ausgelegt.

Und wenn man sich anschaut, das die allermeiste Konsumerelektronik, 
egal, ob FRITZ!Box oder Waschmaschine, heutzutage kaum 10 Jahre 
durchhält, wird’s damit schwierig, egal, was du machst.

Daher: Standardkomponenten, Standardschnittstellen, Backup. Wenn was 
kaputtgeht, austauschen.

Oliver

: Bearbeitet durch User
von Sascha W. (sascha-w)


Lesenswert?

@Christian,

was soll das Teil denn steuern? Evl. würde es auch einfach ein Tablet 
tun. Ob das aber 10 Jahre durchhält ist genau so fraglich.
In der heutigen Zeit würde ich aber niemals davon ausgehen das so etwas 
unverändert über 10 Jahre laufen muss - nach spätestens der halben Zeit 
haben sich die Anforderungen derart geändert das irgendwas getauscht 
werden muss.

Sascha

von Purzel H. (hacky)


Lesenswert?

Und der Content ? Der ist statisch, einmal drauf, immer drauf ? Das 
System hat keinen Input, keinen Output ? Und soll was genau ?

von ThomasW (Gast)


Lesenswert?

Purzel H. schrieb:
> Und der Content ? Der ist statisch, einmal drauf, immer drauf ?
> Das System hat keinen Input, keinen Output ? Und soll was genau ?

Bei mir läuft seit vier Jahren ein Raspi als "Magic Mirror" mit einem 
Browser im Fullscreen. Der holt sich periodisch seine Daten vom lokal 
installierten Webserver und indirekt von diversen Diensten 
(Google-Kalender, Wetter, Mqtt-Daten, News-Feeds, ...). Einfach per 
Javascript und Ajax. Direkte Interaktion ist da nicht erforderlich.

Oder schau dir mal die Info-Systeme in den Wartezimmern und/oder am 
Flughafen an. Die holen sich ihre Infos auch selbständig vom Server. 
Selbst am Bankautomat läuft ein Programm im Fullscreen unter Windows.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Du musst nicht die ganze SD-Karte als ReadOnly machen beim Raspberry.
Ein Watchdog-Reset wäre auch empfehlenswert. Wie der Speicherverbrauch 
des RAM's durch das RAM-gepufferte Readonly-System aussieht ist schlecht 
vorher zusehen.
Eine Echtzeituhr lässt sich Problemlos per I2C anbinden.
Wenns hart auf hart kommt kann da sogar ein EEPROM oder FlashROM mit 
dran.
Eventuell gibt es kapazitive Touchscreens mit echter Glasscheibe oder 
eine Infrarot-Rahmenlösung.

von Georg (Gast)


Lesenswert?

Dennis H. schrieb:
> Eine Echtzeituhr lässt sich Problemlos per I2C anbinden.

Das ist nicht das Problem - die Frage ist ob das System 10 Jahre lang 
ohne Korrektur synchron mit der realen Zeit läuft. Von regelmässiger 
Wartung war ja bisher nicht die Rede - Korrektur: ich sehe gerade, dass 
der TO Wartung prinzipiell ausgeschlossen hat, ebenso wie die Verbindung 
zu einem Time-Server. Das ist nicht einfach nur optimistisch, das ist 
irreal.

Georg

von Mark B. (markbrandis)


Lesenswert?

Christian P. schrieb:
> * System "sauber" herunterfahren bevor die Spannung ausgeschaltet wird.
> CRON job wird nicht gehen, da das System autark, also ohne Verbindung zu
> Timeservern ist.

Spricht etwas dagegen, ein einfaches DCF 77 Empfangsmodul mit zu 
verbauen? Beim bzw. kurz nach dem Hochfahren würde man dann die Uhrzeit 
des Systems über Funk synchronisieren.

: Bearbeitet durch User
Beitrag #6524003 wurde vom Autor gelöscht.
von FS (Gast)


Lesenswert?

Es wäre hilfreich zu wissen, zumindest grob, welchen Zweck das System am 
Ende erfüllen soll. Vielleicht kann man das am Ende auch anders lösen 
als mit einer Webanwendung auf einem autarken Server.

400 Euro Budget bei einer anvisierten Laufzeit von 10 Jahren oder mehr 
(also gerade mal 40 Euro pro Jahr) halte ich auch für sportlich, bedenkt 
man, dass Komponenten, die über diesen Zeitraum zuverlässig 
funktionieren (Industrie) immer teurer sind als das, was man aus dem 
Konsumenten-Bereich kennt, sofern überhaupt verfügbar. Vielleicht wäre 
eine Auslegung auf die Hälfte der Zeit eher sinnvoller. Wenn es dann 
doch länger läuft muss das ja nicht stören. Und so ein externes 
HDMI-Touch-Display kann man zur Not ja mal tauschen. Oder das System 
regelmäßig auf eine neue SD-Karte kopieren, wenn es denn eine einfache 
Raspberry-Lösung sein soll.

von cppbert3 (Gast)


Lesenswert?

vor 12 Tagen der 1. und auch gleich sein letzter Post - wir werden es 
wohl nie erfahren

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Mark B. schrieb:
> Christian P. schrieb:
>> * System "sauber" herunterfahren bevor die Spannung ausgeschaltet wird.
>> CRON job wird nicht gehen, da das System autark, also ohne Verbindung zu
>> Timeservern ist.
>
> Spricht etwas dagegen, ein einfaches DCF 77 Empfangsmodul mit zu
> verbauen? Beim bzw. kurz nach dem Hochfahren würde man dann die Uhrzeit
> des Systems über Funk synchronisieren.

Interessant wäre da vielleicht auch ein Low-Power-µC (32kHz Uhrenquarz + 
z.B. 128kHz RC-Takt der einen DCF-Empfänger dran hat. Der kann dann auch 
gleich einen Kalender integrieren und die RTC darstellen. Diesen dann 
per I2C oder SPI anbinden. (Theoretisch mit Stützbatterie)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.