Forum: Mikrocontroller und Digitale Elektronik Kann man ein Tablet als Display benutzen?


von Hans L. (holzwurm56)


Lesenswert?

Hallo,
mal wieder eine Frage von einem Laien auf diesen Gebiet. Tablets gibt es 
ja mittlerweile sehr günstig, auch ev. refurbished. Gibt es eine 
Software, App oder ein sonstiges Programm wodurch ein Tablet ein Display 
emuliert?
Kann man mit einem Arduino, Esp32, Stm32 o. ä. Befehle aus der z. B. 
Grafikbliothek über USB an das Tablet schicken und diese Anweisungen
werden dann auf dem Tablet dargestellt?
Entschuldigt im voraus wenn die Frage zu weit vom Machbarem entfernt 
ist.
Hans

von Peter Z. (hangloose)


Lesenswert?


: Bearbeitet durch User
von Markus K. (markus-)


Lesenswert?

Du könntest einfach einen Webserver auf dem ESP32 laufen lassen und per 
WLAN verbinden. Die Ausgabe gestaltest Du dann per HTML/CSS/Javascript.

von Hans L. (holzwurm56)


Lesenswert?

Hallo Peter Z.,
im Prinzip genau das. Wenn es noch grafikfähig wäre, wäre es noch 
besser.

von Peter Z. (hangloose)


Lesenswert?

Alles möglich, müsste nur programmiert werden ;-)

von Harald K. (kirnbichler)


Lesenswert?

Hans L. schrieb:
> Wenn es noch grafikfähig wäre, wäre es noch
> besser.

jQuery UI verwenden. Das kann allen möglichen Scheiß.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hans L. schrieb:

> mal wieder eine Frage von einem Laien auf diesen Gebiet. Tablets gibt es
> ja mittlerweile sehr günstig, auch ev. refurbished. Gibt es eine
> Software, App oder ein sonstiges Programm wodurch ein Tablet ein Display
> emuliert?

Nein. Das liegt sicher daran, dass dazu auch eine entsprechende 
Display-Schnittstelle nötig wäre. Wenn überhaupt irgendwas in Frage 
käme, dann wäre das ja wohl USB-C oder Thunderbolt. Allerdings gibt es 
meines Wissens nach kein Tablet, die eine Display-Schnittstelle für 
EINGEHENDE Signale darüber anbieten würde.

Alles, was geht, ist also irgendeine Anwendung auf dem Tablet, die über 
irgendeine Schnittstelle und irgendein Protokoll Befehle entgegennimmt 
und diese dann auf dem Tablet zu einer Grafik rendert.

Natürlich muss man zusätzlich den Clients beibringen, ihren Scheiß an 
diesen Server zu senden, statt (oder zusätzlich dazu), sie an ein 
lokales Display zu schicken.

Am universellsten dürfte was á la VNC sein. Man würde dann 
sinnvollerweise die Rollen umkehren (das Tablet wäre der Client). Das 
hätte den Vorteil, dass man für das Tablet nix programmieren muss. 
VNC-Clients gibt's zuhauf. Und der könnte über USB-CDC, USB-RNDIS oder 
BT-SPP an seinen Server und dessen Daten kommen.

Der Server (also das auf dem Endgerät zu implementierende Teil) müsste 
beigebracht bekommen, wie man VNC Richtung Tablet spricht. Und den 
Anwendungen müsste man beibringen, wie sie ihre Ausgaben auf den 
virtuellen Framebuffer des Servers bringen.

von Markus K. (markus-)


Lesenswert?

Das ist wohl das, was Du möchtest:
https://github.com/ArminJo/Arduino-BlueDisplay

von Harald K. (kirnbichler)


Lesenswert?

Ob S. schrieb:
> Allerdings gibt es
> meines Wissens nach kein Tablet, die eine Display-Schnittstelle für
> EINGEHENDE Signale darüber anbieten würde.

iPadOS unterstützt die USB-Geräteklasse UVC, damit lässt sich mit 'nem 
simplen USB-HDMI-Grabber und einer App wie z.B. dem kostenlosen "Genki 
Studio" genau das umsetzen.

Mit Android ist das sicher auch möglich.

von Heinz R. (heijz)


Angehängte Dateien:

Lesenswert?

Hans L. schrieb:
> Kann man mit einem Arduino, Esp32, Stm32 o. ä. Befehle aus der z. B.
> Grafikbliothek über USB an das Tablet schicken und diese Anweisungen
> werden dann auf dem Tablet dargestellt?

ich glaube Du bist hier auf dem falschen Weg

Hier laufen seit Jahren mehrere Amazon Fire-Tabets als Statusdisplay, 
zeigen dann z.B. so was an wie im Screenshot

Aber die Seite wird auf einem Raspi generiert, das Amazon-Display zeigt 
einfach nur die Webseiten an

Es gibt hierzu Apps wie z.B. https://www.fully-kiosk.com/en/

Diese lassen das Display dauerhaft an, bieten viele 
Einstellmöglichkeiten

Es gibt dann auch noch Lösungen wie IOBroker usw - siehe Screenshot 2

von Markus K. (markus-)


Lesenswert?

Harald K. schrieb:
> iPadOS unterstützt die USB-Geräteklasse UVC, damit lässt sich mit 'nem
> simplen USB-HDMI-Grabber und einer App wie z.B. dem kostenlosen "Genki
> Studio" genau das umsetzen.

Und wie erzeugt er das HDMI auf dem Mikrocontroller?

von Heinz R. (heijz)


Lesenswert?

Harald K. schrieb:
> iPadOS unterstützt die USB-Geräteklasse UVC, damit lässt sich mit 'nem
> simplen USB-HDMI-Grabber und einer App wie z.B. dem kostenlosen "Genki
> Studio" genau das umsetzen.

hast Du hierfür konkrete Beispiele?

von Michael L. (nanu)


Lesenswert?

Harald K. schrieb:
> iPadOS unterstützt die USB-Geräteklasse UVC, damit lässt sich mit 'nem
> simplen USB-HDMI-Grabber und einer App wie z.B. dem kostenlosen "Genki
> Studio" genau das umsetzen.
>
> Mit Android ist das sicher auch möglich.

Ja, sicher unterstützt Android UVC und Viewer existieren natürlich auch. 
Derweil kann ein Android Device auch als UVC-Gerät arbeiten und somit 
kann z.B. ein Smartphone als Webcam am PC, Ipad oder was auch immer, 
laufen.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Markus K. schrieb:
> Und wie erzeugt er das HDMI auf dem Mikrocontroller?

Z.B. mit einem RP2040, der kann das.

https://www.berrybase.de/adafruit-dvi-sock-fuer-pico-hdmi-displays-nur-grafiken-nutzt-rp2040-pio-system-und-overclocking
https://www.adafruit.com/product/5710
https://www.heise.de/news/PicoVision-Mikro-Heimcomputer-Feeling-mit-HDMI-9639489.html
https://hackaday.io/project/190161-rp2040-1080p-hdmi

Heinz R. schrieb:
> hast Du hierfür konkrete Beispiele?

Willkürliches Beispiel:
https://www.amazon.de/dp/B0DZC7YKR1

Funktioniert natürlich auch mit einem PC und jedem Programm, das mit 
USB-Webcams o.ä. zurechtkommt. Die "Foto-App" von Windows oder OBS 
Studio sind sowas.

von Heinz R. (heijz)


Lesenswert?

ja, aber es ist wohl nicht sehr sinnvoll aus z.B. Messwerten erst ein 
Bild zu generieren, das dann über HDMI auszugeben, das Signal wieder zu 
grabben um es dann auf dem Display darzustellen

Das Display kann ja selber HTML usw - hat quasi die "Grafikbibliothek" 
schon an Bord

von Harald K. (kirnbichler)


Lesenswert?

Heinz R. schrieb:
> Das Display kann ja selber HTML usw - hat quasi die "Grafikbibliothek"
> schon an Bord

Gewiss, nur musst Du dann halt eine Netzwerkverbindung zwischen Tablet 
und dem datenezeugenden µC herstellen. Serielle Schnittstelle kann man 
hier vergessen, selbst wenn das Tablet kein iPad ist, denn dann bräuchte 
man auch noch irgendeine Software, die das, was da ankommt, dem 
Webbrowser vermittelt.

Ist kein Hexenwerk, ein ESP32 beispielsweise kann all' das, der kann per 
WLAN vom Tablet angesteuert werden, und ein Webserver kann auch drauf 
laufen. Genau so nutzen bereits zigtausend Leute mit zigtausend 
Projekten EPSP32 und auch ESP8266.

Mit 'nem kleineren µC aber wird das ganze sehr viel aufwendiger, weil 
der halt keine Netzwerkschnittstelle hat ...


Ich habe den USB-HDMI-Grabber auch in erster Linie erwähnt, weil die 
Frage "Tablet als Display nutzen" dazu halt schon passt.

von Patrick B. (pbeck)


Lesenswert?


von Markus K. (markus-)


Lesenswert?

Prinzipiell gibt es für Netzwerk über USB das tinyUSB.
https://github.com/hathach/tinyusb

Damit kann man eine Netzwerkverbindung über RNDIS oder CDC-ECM 
herstellen. Welchen genau man braucht hängt wohl von der Android-Version 
ab.
Beim tinyUSB-Projekt gibts auch den LwIP-Webserver integriert.

Das gibt es für die meisten Mikrocontroller. Beim ESP32 scheint es 
bereits im Espressif-IDF enthalten zu sein.

: Bearbeitet durch User
von Heinz R. (heijz)


Lesenswert?

jetzt wäre halt spannend zu wissen, was der TO überhaupt auf dem Display 
darstellen will?

Vielleicht gibt es sogar noch viel einfachere Möglichkeiten für das 
Vorhaben...

von Hans L. (holzwurm56)


Lesenswert?

Der TO, also ich, denkt nur das man Tablets mittlerweile sehr günstig
bekommt, viel günstiger als ein vergleichbares Grafikdisplay und will
einfach z. B. Messwerte aus einem Arduino, ESP32, STM32 seriell
oder über I2C auf dem Display/Tablet darstellen.

von Markus K. (markus-)


Lesenswert?

Wenn Du die Messwerte einfach nur als Zahlen darstellen willst, dann 
reicht es, eine serielle Verbindung über USB zu machen (CDC) und auf dem 
Tablett ein Terminalprogramm, das damit umgehen kann. Wenn Du aber die 
Messwerte z.B. als Graph darstellen möchtest, dann sind die anderen 
Lösungen besser.

von Marc G. (marcm)


Lesenswert?

Es gibt doch mittlerweile auch Firmware flasher die mit dem Browser auf 
die USB seriell zugreifen ... das müßte die Webserial api sein

https://entwickler.de/api/webserial-api-webapplikation-hardware-interaktion

Dann geht auch Grafik mit HTML..

von Heinz R. (heijz)


Lesenswert?

Hans L. schrieb:
> Der TO, also ich, denkt nur das man Tablets mittlerweile sehr günstig
> bekommt, viel günstiger als ein vergleichbares Grafikdisplay und will
> einfach z. B. Messwerte aus einem Arduino, ESP32, STM32 seriell
> oder über I2C auf dem Display/Tablet darstellen.

die gab es auch schon vor über 10 Jahren sehr günstig, habe mir damals 
das erste aus China für glaub 80€ mit gebracht - lief mehrere Jahre sehr 
zuverlässig

die Frage ist halt, was willst DU konkret visualisieren?

geht es Dir nur um die Machbarkeit an sich?

Wenn es um wirklich reale Projekte geht gibt es vermutlich wesentlich 
einfachere Wege?

von Markus K. (markus-)


Lesenswert?

Marc G. schrieb:
> Es gibt doch mittlerweile auch Firmware flasher die mit dem Browser auf
> die USB seriell zugreifen ... das müßte die Webserial api sein
>
> https://entwickler.de/api/webserial-api-webapplikation-hardware-interaktion
>
> Dann geht auch Grafik mit HTML..

Aber so wie ich das hier verstehe
https://caniuse.com/web-serial

geht das nur auf dem PC, nicht auf Android.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Harald K. schrieb:
> bräuchte man auch noch irgendeine Software, die das, was da ankommt, dem
> Webbrowser vermittelt.

Ist es nicht so, daß Javascript inzwischen direkt auf serielle Ports 
zugreifen kann?

von Marc G. (marcm)


Lesenswert?

Markus K. schrieb:
> Marc G. schrieb:
>> Es gibt doch mittlerweile auch Firmware flasher die mit dem Browser auf
>> die USB seriell zugreifen ... das müßte die Webserial api sein
>>
>> https://entwickler.de/api/webserial-api-webapplikation-hardware-interaktion
>>
>> Dann geht auch Grafik mit HTML..
>
> Aber so wie ich das hier verstehe
> https://caniuse.com/web-serial
>
> geht das nur auf dem PC, nicht auf Android.

Stimmt... da gibt's noch was 
https://github.com/google/web-serial-polyfill

von Vanye R. (vanye_rijan)


Lesenswert?

>  Messwerte aus einem Arduino, ESP32, STM32 seriell
> oder über I2C auf dem Display/Tablet darstellen.

Man kann schon wenn man kann. Aber man muss auch Koennen koennen! :-D

Aber die Android-Geraete, egal ob Tablett oder Handy haben keine I2C 
Schnittstelle. Zumindest nicht als Slave nach aussen.

Sie haben auch keine serielle Schnittstelle. Aber immerhin, die koennte 
man ueber USB ja anstecken. Bleibt natuerlich die Frage ob bei deinen 
Geraeten ein Treiber dafuer im Kernel steckt. Falls nicht musst du 
rooten, einen passenden erzeugen und implementieren. Wird vermutlich 
aufwaendiger.

Bleibt also der Weg ueber vorhandene Schnittstellen.

1. Wlan.
Geht einfach, braucht aber auf seiten deiner Mikrocontroller eine 
WLAN-Schnittstelle. Also vermutlich irgendein Adapter der von 
I2C/seriell auf Wlan umsetzt. Mit einem ESP8266 oder moderner, kein 
Problem. Man muss nur wollen und koennen. .-)
Bleibt aber trotzdem ein Schmerz im Arsch wegen dem ganzen Gehampel mit 
Wlan. In deinem Netz? Peer2Peer? IP-Adresse? Irgendwelche 
Scheisshausprogramme die sofort auf deine Schnittstelle wollen um nach 
hause zu telefonieren sobald sie merken das dein Tablet ein Wlan offen 
hat.

2. Bluetooth.
Schon besser. Im Prinzip zeigt dir jedes vorhandene Android-BLE Terminal 
Programm das es geht und wie sowas gemacht wird. Du musst nur selber 
sowas schreiben und dort Grafik implementieren wenn du Grafik willst. 
Dazu muesstest du natuerlich programmieren koennen. Ich mache sowas in 
Qt, allerdings wenn ich es schonmal kann dann passend zu meiner 
speziellen Anwendung. Also es geht, leg los und fang einfach an.

Es gibt aber noch ein weiteres Problem. Wie versorgst du dein tolles 
altes Tablett mit Strom? Dauerhaft an USB lassen? Wie gut ist der Akku? 
Verformt der nicht bald dein altes Tablet unschoen wenn er dicke Backen 
bekommt? Und weglassen? Laeuft das Teil dann noch? Ich haette bedenken. 
Vermutlich loesbare, aber arbeitsintensiv.

Also machbar ist alles, aber nicht durch "irgendwas im Internet 
runterladen" und schon geht alles. So einfach wird das nicht.

Vanye

von Christian M. (christian_m280)


Lesenswert?

Vanye R. schrieb:
> Wlan.
> Geht einfach, braucht aber auf seiten deiner Mikrocontroller eine
> WLAN-Schnittstelle.

Oder Ethernet...

Gruss Chregu

von Vanye R. (vanye_rijan)


Lesenswert?

> Oder Ethernet...

Aehem, ja hab ich gerade in der Firma durchgezogen. Machbar ist das 
natuerlich auch. Aber so fuer zuhause? Den ueblichen Bastelkram? NEIN 
DANKE!

Vanye

von Rüdiger B. (rbruns)


Lesenswert?

Hans L. schrieb:
> ein Tablet ein Display
> emuliert?

Und wie sieht deine Quelle aus ?

von Michael L. (nanu)


Lesenswert?

Vanye R. schrieb:
> Sie haben auch keine serielle Schnittstelle. Aber immerhin, die koennte
> man ueber USB ja anstecken. Bleibt natuerlich die Frage ob bei deinen

Kann man.

> Geraeten ein Treiber dafuer im Kernel steckt. Falls nicht musst du
> rooten, einen passenden erzeugen und implementieren. Wird vermutlich
> aufwaendiger.

Da muß man nix für rooten.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Michael L. schrieb:
> Da muß man nix für rooten.

Wie installiert man denn ein Kernel-Modul nach, ohne zu rooten? Nicht 
jedes Tablet/Smartphone unterstütz UART Adapter. Das hatte ich mit 
reichlich Geräten durch probiert. Nur die teuersten konnten es.

von Heinz-Maria (Gast)


Lesenswert?

Wofür kann man ein Tablet überhaupt sinnvoll benutzen? Ich hatte eines 
gekauft, um Bedienungsanleitungen, Datenblätter und Helpfiles neben dem 
CAD-Rechner lesem zu können. Fehlanzeige. Der Ständer kippt in 
Hochkantstellung ständig um. Hilfedateien in HTML funktionieren auch 
nicvht, da Verlinkungen ins Leere laufen (nicht installiert, sondern 
stumpf vom Rechner kopiert).

Außerdem überschüttet nicht das Teil gnadenlos mit Werbemüll und 
versucht mich zur Kopplung mit irgenwelchen anderen Geräten zu nötigen.

Hab es weiterverkauft.

von Vanye R. (vanye_rijan)


Lesenswert?

> reichlich Geräten durch probiert. Nur die teuersten konnten es.

Ich weiss nicht ob das eine Preisfrage ist. Ich denke das ist eine 
Mischung aus Entwicklerbefindlichkeit und Zufall oder so...


> Wofür kann man ein Tablet überhaupt sinnvoll benutzen?

Das koennten wir dir erklaeren, ich nutze z.B meines gerade auch fuer 
Datenblaetter, aber das wird dann ja auch OT. Freu dich doch das du 
keine Anwendung hast und nutze es als Display. :)

> Außerdem überschüttet nicht das Teil gnadenlos mit Werbemüll und

Wer billig kauft, kauft zweimal :-p

Vanye

von Obelix X. (obelix)


Lesenswert?

Hans L. schrieb:
> Der TO, also ich, denkt nur das man Tablets mittlerweile sehr günstig
> bekommt, viel günstiger als ein vergleichbares Grafikdisplay und will
> einfach z. B. Messwerte aus einem Arduino, ESP32, STM32 seriell
> oder über I2C auf dem Display/Tablet darstellen.

Nimm so etwas :

https://www.elecrow.com/display/esp-hmi-display.html

und Programmiere dir mit LVGL etwas.

von Vanye R. (vanye_rijan)


Lesenswert?

> Nimm so etwas :

Also ich kenn die TFTs jetzt nicht, aber was ich bisher von
Aliexpress an billigen TFTs gesehen habe war auch wirklich
billig. Also sehr schlechter Kontrast und Ablesewinkel.
Da ist so ein altes Tablett schon schoener!

Vanye

von Obelix X. (obelix)


Lesenswert?

Vanye R. schrieb:
> Da ist so ein altes Tablett schon schoener!

Wenn es kein Aliexpress-Billig-Tablett ist ;-)

Ich habe mehrere von den ESP32-HMI Displays im Einsatz. Es gibt dabei 
welche, die sind durchaus gut vom Winkel und Kontrast aber andere auch 
nicht so. Aber sie sind alle einfach im Handling. Ich behaupte einfach 
mal einfacher also jede 2 Komponenten Lösung (ESP32 - USB - Tablett). 
Oder gleich den ESP32 weg lassen und alles auf dem Tablett 
programmieren.

Kann ein FTDI nicht auch I2C und SPI? Dann einfach ein FTDI an USB vom 
Tablett anschließen.

von Heinz R. (heijz)


Lesenswert?

Vanye R. schrieb:
> Da ist so ein altes Tablett schon schoener!

und es hat ein Gehäuse...

Für 65€ gibt es übrigens nicht mehr original verpackte Amazon Fire 7 
Tablets

von Obelix X. (obelix)


Lesenswert?

Hans L. schrieb:
> Entschuldigt im voraus wenn die Frage zu weit vom Machbarem entfernt
> ist.

Was machbar ist hängt aber ganz alleine vom TO ab, von dem schon 
vorhandenem könne oder von dem was er sich aneignen möchte.

von Vanye R. (vanye_rijan)


Lesenswert?

> Kann ein FTDI nicht auch I2C und SPI? Dann einfach ein FTDI an USB vom
> Tablett anschließen.

Ja, kann man machen. Aber nur wenn es einen Treiber im Kernel des 
Tablets gibt welcher den FTDI erkennt und einbindet. Sowas gibt es, aber 
es leider keine Selbstverstaendlichkeit. Sonst musst du dir selber den 
passend kompilieren und installieren. Geht alles, aber nicht mal eben 
so.

Vanye

von Jan B. (berge)


Lesenswert?

Ich habe auch zuerst ein altes Tablet in Betrieb genommen für die 
Darstellung im Smarthome Kontext, auch wg. des Preises. Fazit: Ja das 
geht, ist aber ein ziemliches rumgewurschtel, braucht recht viel Strom 
und war nicht gerade reaktionsschnell.

Gelandet bin ich nun bei Openhasp mit einem günstigen ESP32-S3 Display 
~30€ (Guition 4848S040 in meinem Fall). Für mich hat das nur Vorteile, 
weil die Infrastruktur bereits da ist, aber man braucht einen MQTT 
Server und etwas um die Daten dort abzulegen und ggfs. aufzubereiten, 
z.B. NodeRed. Mein Ansatz ist aber eh, dass ich recht "dumme" Geräte als 
Interface zu den Sensoren habe und das ganze Daten aufbereiten etc. 
zentral mache.

Vielleicht ja ein hilfreicher Hinweis für den ein oder anderen.

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.