Forum: Mikrocontroller und Digitale Elektronik Baugruppe gesucht: Image Player mit HDMI-Ausgang, steuerbar


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Projekt: DMX-gesteuerter Image-Player mit HDMI-Ausgang, full HD. Es 
sollen nur Standbilder per DMX adressiert und über Beamer oder 
Flachbildschirm angezeigt werden.

Keine Videos, kein Ton, keine Überblend-Effekte, kein "Schnickschnack".

Das Gerät soll genau einen DMX-Kanal belegen und die nummerierten Bilder 
von einem USB-Stick oder einer SD-Karte anzeigen, jenachdem, welches 
Byte per DMX ankommt. Die Einbindung in ein bestehendes DMX-System 
(Beleuchtung) erscheint lukrativ simpel. Gedacht ist das Teil primär als 
Hintergundbildquelle ("virtuelle Kulisse") für ein kleines Theater.  Von 
dort kommt der Auftrag, sicher kann man damit noch ganz viel anderes 
machen.

Naheliegend ist natürlich die Verwendung eines Raspberry (Zero?). Was 
mich daran stört, ist die notwendige Bootzeit, aber vielmehr noch die 
Sensibilität des Bootmediums gegen abrupten Stromentzug und evtl. 
sofortiger Wiederkehr beim Auf- und Abbau der Bühne. Man kann nicht 
erwarten, dass immer alle Helfern daran denken. Das Ding hat nach Beginn 
der Stromzufuhr (auch mit einer gewissen Boot-Zeit) einfach zuverlässig 
zu funktionieren, wenn möglich, einige Jahre lang.

Den Empfang der DMX-Daten und die Ansteuerung des Image-Players will ich 
mit einem Arduino (Pro Mikro) machen. Im Testaufbau läuft der schon, 
inklusive Taster und Mini-Display für die Adress-Einstellung sowie deren 
Speicherung im EEPROM. Die empfangenen Kanaldaten stehen an einer 
Soft-Serial zur Verfügung.

Bei meinen Recherchen fand ich als Erstes das hier, aber das scheint es 
leider nirgendwo fertig zu kaufen zu geben, oder?

https://www.electronics-lab.com/arduino-hdmi-shield-bridging-gap-small-mcus-full-hd-monitors/

Für'n Apple und ein Ei gibts dagegen solche Mediaplayer in endlosen 
Varianten, aber die sind alle nur per FB steuerbar. DMX hatte ich 
natürlich nicht erwartet, aber eine UART/RS232-Schnittstelle wäre schön. 
Alternativ könnte man evtl. die IR-Schnitstelle vomn einem Arduino aus 
befeuern.

https://www.amazon.de/minifinker-USB-Host-Port-Festplattentreiber-Mini-High-Definition-Multimedia-Schnittstelle-Blu-Ray-Filme-Blau/dp/B0BLQBMNGW

Es gibt natürlich auch einen "fertigen" DMX-Mediaplayer, aber der ist 
m.E. maßlos überdimensioniert (12 Kanäle!) und auch ziemlich teuer:

https://www.huss-licht-ton.de/product_info.php/ImageCue-DMX-Mediaplayer/info/21910.html

Ideal wäre ein Board wie das erstgenannte. Kenn jemand eine Bezugsquelle 
oder ein ähnlich geartetes Teil? Es soll also einen USB- oder 
SD-Steckplatz haben und darauf gespeicherte Bilder per HDMI wiedergeben. 
Welches Bild, das muss "MC-gerecht" extern steuerbar sein ... für den 
DMX-"Überbau" sorge ich schon.

Danke für Tips.

Nachtrag: Für den Arduino-Shield habe ich inzwischen herausgefunden, 
dass man den wohl doch per Mail bestellen kann, kostet um die 50$ ... 
:-)

http://www.techtoys.com.hk/BoardsKits/HDMIshield/HDMIshield.htm

https://www.youtube.com/watch?v=MUeIY_gLn3c

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Frank E. schrieb:
> Danke für Tips.

rPi ?

Kann seriell empfangen, braucht nur noch einen RS422 
Differentialempfänger, und jedes handelsübliche Display versorgen und 
das Programm was du schreiben musst ist sehr kurz und einfach.

Und dsr Vorteil: ein Standard mit dem sich jeder auch noch in Jahren 
auskennt.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael B. schrieb:
> Frank E. schrieb:
>> Danke für Tips.
>
> rPi ?
>
> Kann seriell empfangen, braucht nur noch einen RS422
> Differentialempfänger, und jedes handelsübliche Display versorgen und
> das Programm was du schreiben musst ist sehr kurz und einfach.
>
> Und dsr Vorteil: ein Standard mit dem sich jeder auch noch in Jahren
> auskennt.

Du meinst einen Raspi?

Ja natürlich, das schrieb ich doch ...

Wie zuverlässig ist aber das Dateisystem auf SD-Karte, wenn dem öfters 
mal der Strom kalt entzogen wird? Das Ding muss elektrisch robust sein. 
Ich fürchte (lass mich aber gerne vom Gegenteil überzeugen), dass auch 
ein auf ReadOnly getrimmtes Dateisystem irgendwann schlapp macht.

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Frank E. schrieb:
> Du meinst einen Raspi?
>
> Ja natürlich, das schrieb ich doch ...
>
> Wie zuverlässig ist aber das Dateisystem auf SD-Karte, wenn dem öfters
> mal der Strom kalt entzogen wird? Das Ding muss elektrisch robust sein.
> Ich fürchte (lass mich aber gerne vom Gegenteil überzeugen), dass auch
> ein auf ReadOnly getrimmtes Dateisystem irgendwann schlapp macht.

So ein System lässt sich hervorragend gegen Stromausfälle "härten"
Auch die Startzeiten kann man für eine so begrenzte Anwendung drastisch 
verkürzen.
Natürlich ist / in so einem Fall r/o gemountet, es werden keine Logs 
gespeichert und natürlich gibts auch keinen swap.
Schreibzugriffe auf das Boot-Medium sind grundsätzlich tabu!

Wenn man es richtig macht, ist so ein Teil nach 5 bis max. 10s 
betriebsbereit und imun gegen normale Stromausfälle.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Frank E. schrieb:
> wenn dem öfters
> mal der Strom kalt entzogen wird?

...dagegen absichern. Such mal nach "Raspi USV". z.B.:
- 
https://www.raspberry-pi-geek.de/ausgaben/rpg/2014/05/das-usv-modul-pi-usv-fuer-den-raspberry-pi-im-test/

Frank E. schrieb:
> Für'n Apple und ein Ei gibts dagegen solche Mediaplayer in endlosen
> Varianten,
Die Hardware ist da ähnlich wie beim Raspi, nur das du dort kaum an die 
Software herankommst um was anzupassen.

Und für den allerletzten Notfall hat man halt eine voll lauffähige (und 
getestete!) Ersatz-SD-Karte im Werkzeugkoffer:-)

von Frank K. (fchk)


Lesenswert?

Frank E. schrieb:

> Wie zuverlässig ist aber das Dateisystem auf SD-Karte, wenn dem öfters
> mal der Strom kalt entzogen wird? Das Ding muss elektrisch robust sein.
> Ich fürchte (lass mich aber gerne vom Gegenteil überzeugen), dass auch
> ein auf ReadOnly getrimmtes Dateisystem irgendwann schlapp macht.

Dann nimmst eben keinen Pi4, sondern ein CM4 mit passendem Carrier und 
onboard EMMC oder NVME SSD. Sowas wie das hier:
https://www.waveshare.com/CM4-IO-BASE-A.htm
Die sind erfahrungsgemäß deutlich zuverlässiger und schneller als 
SD-Karten. Oder einen anderen kleinen Linux-Rechner (Banana, Rock, Nano 
Pi irgendwas) mit EMMC oder SSD. Gibt ja genug davon.

Und dann musst Du ja nicht unbedingt einen kompletten X Desktop 
hochfahren. Da gibts z.B. https://www.nongnu.org/fbi-improved/, das auch 
auf einen Framebuffer ausgeben kann. Möglichkeiten gibts viele.

fchk

von Harald K. (kirnbichler)


Lesenswert?

Eine Möglichkeit wäre ein RP2040 bzw. ein Raspberry Pi Nano.

Der kann mit geeigneter Software per "Bit-Banging" ein HDMI-Signal 
erzeugen, und wenn man noch einen SD-Kartenslot anschließt, dürfte damit 
die Aufgabe lösbar sein. Bootzeit fällt nicht an, da anders als auf den 
"richtigen" Raspberry-Pi-Modellen hier kein Betriebssystem wie Linux 
verwendet wird, sondern direkte der "nackte" Microcontroller 
programmiert wird.

Einzige Einschränkung ist die nicht sehr hohe Auflösung des 
Videosignals.

Hier ein Beispiel:

https://www.adafruit.com/product/5710

von Falk B. (falk)


Lesenswert?

Frank E. schrieb:

> Was
> mich daran stört, ist die notwendige Bootzeit,

Die gibt es nur einmal!

> aber vielmehr noch die
> Sensibilität des Bootmediums gegen abrupten Stromentzug und evtl.
> sofortiger Wiederkehr beim Auf- und Abbau der Bühne.

Kann man mit einem passenden Puffer entschärfen. Außerdem kann und 
sollte man das Dateisystem Read Only betreiben, sprich alles was an 
Logging betrieben wird abschalten oder in den RAM schreiben lassen.

Beitrag "Raspberry Pi langlebigere SD-Karte, wie?"
Beitrag "Raspberry Pi Read-Only SD-Karte einschränkungen?"

> Den Empfang der DMX-Daten und die Ansteuerung des Image-Players will ich
> mit einem Arduino (Pro Mikro) machen.

Naja. Das kann der Raspi nebenbei und langweit sich trotzdem noch.

von Harald A. (embedded)


Lesenswert?

Hier auch das Voting für den CM4 mit EMMC. Wenn man Lust und Zeit hat 
kann man sich sogar recht einfach ein eigenes Carrierboard aufbauen, 
dann natürlich fertig mit galvanisch getr. DMX-Eingang, Netzteil usw.
Galvanische Trennung könnte hier wichtig werden, da man sonst über GND 
verschiedene Potentiale ungewollt verbinden könnte.

von Peter (pittyj)


Lesenswert?

Ich habe hier einen Raspi als Backup-Datenspeicher. 2 redundante USB3 
SSDs dran.
Beim Raspi das Logging komplett abgeschaltet.

Mal eben Uptime aufgerufen:
root@kiwi:~# uptime
 08:42:33 up 539 days, 21:20,  1 user,  load average: 0,29, 0,06, 0,02

Es geht also.

von Falk B. (falk)


Lesenswert?

Peter schrieb:
> Ich habe hier einen Raspi als Backup-Datenspeicher. 2 redundante USB3
> SSDs dran.
> Beim Raspi das Logging komplett abgeschaltet.
>
> Mal eben Uptime aufgerufen:
> root@kiwi:~# uptime
>  08:42:33 up 539 days, 21:20,  1 user,  load average: 0,29, 0,06, 0,02
>
> Es geht also.

Jain. Deine Up-Time zeigt nur, daß die Kiste so lange stabil laufen 
kann. Es sagt nichts über das Verhalten beim Stromausfall ohne 
Vorwarnung aus. Schon gar nicht, wenn das des Öfteren passiert.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Harald K. schrieb:
> Eine Möglichkeit wäre ein RP2040 bzw. ein Raspberry Pi Nano.
>
> Der kann mit geeigneter Software per "Bit-Banging" ein HDMI-Signal
> erzeugen, und wenn man noch einen SD-Kartenslot anschließt, dürfte damit
> die Aufgabe lösbar sein.

Auf den bin ich auch schon gestossen, schön klein, schlank und 
preiswert. Aber wenn ich richtig gelesen habe, ist die maximale 
Auflösung mit 400x280 (nativ) leider zu gering. Eine 
Hintergrund-Projektion im (kleinen) Theater braucht mindestens eine 
Breite von 3...4m, da ist schon HD grenzwertig ...

von Falk B. (falk)


Lesenswert?

Frank E. schrieb:
> Harald K. schrieb:
>> Eine Möglichkeit wäre ein RP2040 bzw. ein Raspberry Pi Nano.
>>
>> Der kann mit geeigneter Software per "Bit-Banging" ein HDMI-Signal
>> erzeugen, und wenn man noch einen SD-Kartenslot anschließt, dürfte damit
>> die Aufgabe lösbar sein.
>
> Auf den bin ich auch schon gestossen, schön klein, schlank und
> preiswert.

Vollkommener Unsinn! Es gibt praktisch KEINE billigere HDMI-Quelle als 
einen Raspberry PI!  Selbst ein oller 1er reicht hier locker aus!
Das ganze Gebastel ist ein Krampf vor dem Herrn!

von Falk B. (falk)


Lesenswert?


von Peter (pittyj)


Lesenswert?

Falk B. schrieb:
> Peter schrieb:
>> Ich habe hier einen Raspi als Backup-Datenspeicher. 2 redundante USB3
>> SSDs dran.
>> Beim Raspi das Logging komplett abgeschaltet.
>>
>> Mal eben Uptime aufgerufen:
>> root@kiwi:~# uptime
>>  08:42:33 up 539 days, 21:20,  1 user,  load average: 0,29, 0,06, 0,02
>>
>> Es geht also.
>
> Jain. Deine Up-Time zeigt nur, daß die Kiste so lange stabil laufen
> kann. Es sagt nichts über das Verhalten beim Stromausfall ohne
> Vorwarnung aus. Schon gar nicht, wenn das des Öfteren passiert.

Auf der Arbeit haben wir auch Raspis für eine Steuerung in Messgeräten 
eingesetzt. Da haben wir Compute Modules CM3. Die Bootzeit haben wir auf 
15 Sekunden reduziert, danach ich die Steuerung betriebsbereit.
Die Geräte sind auch drauf ausgelegt, dass der Strom hart abgeschaltet 
wird. Das geht auch. Es wird nichts/wenig gespeichert, und 
Arbeitsdateien sind im Tempfs/Ramdisk.
Die Geräte werden seit 3 Jahren verkauft, keine Probleme mit Raspi oder 
Filesystem.

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


Lesenswert?

Frank E. schrieb:

> Naheliegend ist natürlich die Verwendung eines Raspberry (Zero?). Was
> mich daran stört, ist die notwendige Bootzeit, aber vielmehr noch die
> Sensibilität des Bootmediums gegen abrupten Stromentzug und evtl.
> sofortiger Wiederkehr beim Auf- und Abbau der Bühne.

Bootzeit kann man recht problemlos auf ca. 8..10s bekommen. Bootmedium 
kann man problemlos schützen, indem es zu keiner Zeit beschrieben wird. 
Dann hält das eine kleine Ewigkeit. So lange halt auch eine SD-Karte 
irgendwo in der Schublade ihre Daten halten würde.

Fakt ist: Die Lösung mit einem Raspi ist mit weitem Abstand die am 
schnellsten und einfachsten umzusetzende.

von Stefan F. (Gast)


Lesenswert?

Vor einige Jahren hatte ich mal etwas ähnliches für einen Veranstalter 
gebaut. Das Ding sollte Bilder und Videos (als Diashow) anzeigen, sowie 
am Rand eine jederzeit austauschbare Preisliste.

Es sollte eine mobile Quick & Dirty Lösung werden. So habe ich mich für 
einen Laptop entschieden, auf dem ein Web Browser im Kiosk Modus lief. 
Angezeigt wurde eine simple HTML Datei mit Frames und ein paar Zeilen 
Javascript zum Reload des Bildes. Dazu gab es einen Cron Job, der die 
Bild-Datei regelmäßig auswechselte.

Heute würde ich das mit einem Raspberry Pi machen.

> Was mich daran stört, ist die notwendige Bootzeit, aber vielmehr
> noch die Sensibilität des Bootmediums gegen abrupten Stromentzug
> und evtl. sofortiger Wiederkehr beim Auf- und Abbau der Bühne.

Linux kann von einem Read-Only Speichermedium betrieben werden. Für 
temporäre Dateien müsste man dann eine RAM-Disk anlegen. Dazu gibt es 
sicher Anleitungen im Netz, weil das nicht ungewöhnlich ist.

Frank E. schrieb:
> Wie zuverlässig ist aber das Dateisystem auf SD-Karte, wenn dem öfters
> mal der Strom kalt entzogen wird?

Das normale Linux Dateisystem (ext3 oder ext4) ist sehr robust. Ich habe 
noch nie erlebt, dass ein Rechner nach Stromausfall nicht mehr starten 
konnte. Beim Raspberry Pi ist eher die SD Karte der Schwachpunkt. Da 
kann ich dir nur empfehlen, ein komplettes Set (Raspi, Netzteil, SD 
Karte, Gehäuse) von der Raspberry Foundation zu kaufen. Dort bekommst du 
Komponenten, die zusammen passen. Ich habe bei meinem Raspberry Pi immer 
einfach den Stecker gezogen (anstatt "shutdown" einzugeben), und hatte 
damit noch nie ein Problem.

Auf meinem Gerät laufen ein paar Shell Scripte, welche die 
Erreichbarkeit von Webservern alle paar Sekunden testen und das Ergebnis 
fortlaufend in CSV Dateien schreiben. Das Ding ist jetzt etwa 6 Jahre 
alt und hat seit dem nicht einmal gemuckt.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Falk B. schrieb:
> https://bitwizard.nl/shop/DMX-interface-for-Raspberry-pi
> https://www.instructables.com/How-to-Use-DMX512-RDM-With-Raspberry-Pi/
> https://www.instructables.com/Raspberry-Pi-as-a-DMX-light-controller/

Danke, aber DMX ist nicht mein Problem, sondern die Befürchtung, dass 
das notwendige Bootmedium den rauhen Bühnenbetrieb nicht lange überlebt.

Mit der notwendigen Bootzeit habe ich mich inzwischen abgefunden.

Ich würde Beginn und Abschluss des Bootprozesses extern durch eine LED 
(erst Rot, dann Grün) signalisieren, schließlich laufen die meisten 
Scheinwerfer und Moovingheads quasi sofort, sobald sie Strom bekommen.

von Stefan F. (Gast)


Lesenswert?

Ob S. schrieb:
> Fakt ist: Die Lösung mit einem Raspi ist mit weitem Abstand die am
> schnellsten und einfachsten umzusetzende.

Davon gehe ich auch aus.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Kann man eine Micro-SD-karte eigentlich hardware-seitig gegen 
Beschreiben sichern?

Bei normal "großen" SD-Karten oder an diesen Adaptern gibt es den 
seitlichen Schiebeschalter dafür, der ist bei den Winzlingen ja nicht 
vorhanden.

Ich vermute mal, dass der Schiebeschalter auch nur eine Leitung 
unterbricht oder auf Plus oder Ground legt, oder?

Kommando an den Controller oder Pin deaktivieren?

von Stefan F. (Gast)


Lesenswert?

Frank E. schrieb:
> Bei normal "großen" SD-Karten oder an diesen Adaptern gibt es den
> seitlichen Schiebeschalter dafür, der ist bei den Winzlingen ja nicht
> vorhanden.

Der Schieber ist kein Schalter. Er betätigt einen optionalen Kontakt im 
SD Kartenslot, der wiederum optional von Software gelesen wird. Er hat 
keine direkte Auswirkung auf die SD Karte selbst.

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


Lesenswert?

Stefan F. schrieb:

> Linux kann von einem Read-Only Speichermedium betrieben werden. Für
> temporäre Dateien müsste man dann eine RAM-Disk anlegen.

Nicht mal das ist heutzutage noch unbedingt nötig. Also nötig schon, 
aber das passiert automatisch, weil sowas von Hause aus heutzutage im 
tempfs landet.

Was du wohl meinst, ist /var. Da wird auch eine Menge geschrieben. Aber 
normalerweise kackt nichts ab, wenn /var RO ist. Kommt aber natürlich 
auf die installierte Software an. Ich halte es durchaus nicht für 
unmöglich, wenn einige der verfügbaren Softwares abkacken, wenn sie 
nicht nach /var schreiben können. Das System sollte aber trotzdem weiter 
laufen. Was abgekackt ist, kann man, sofern für die konkrete 
Zielanwendung unwichtig, ja einfach deinstallieren, bevor man die 
nächste Version des Production-Image bastelt.

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


Lesenswert?

Stefan F. schrieb:

> Der Schieber ist kein Schalter. Er betätigt einen optionalen Kontakt im
> SD Kartenslot, der wiederum optional von Software gelesen wird. Er hat
> keine direkte Auswirkung auf die SD Karte selbst.

So ist es.

von Frank K. (fchk)


Lesenswert?

Frank E. schrieb:

> Danke, aber DMX ist nicht mein Problem, sondern die Befürchtung, dass
> das notwendige Bootmedium den rauhen Bühnenbetrieb nicht lange überlebt.

Wie gesagt, es gibt Alternativen, die Zehnerpotenzen zuverlässiger sind.

Hardware-Schreibschutz ist normalerweise nicht vorhanden. Du kannst aber 
Partitionen in /etc/fstab readonly mounten oder als readonly markieren:

tune2fs -O read-only {filesystem}

fchk

: Bearbeitet durch User
von Peter (pittyj)


Lesenswert?

Wie schon geschrieben gibt es die Raspi Compute Module CM3 und CM4.
Beide gibt es mit integrierten eMMC Flash Speicher, der wesentlich 
stabiler und schneller arbeitet, als eine SD-Karte.
Ein SD-Karte ist dabei nicht nötig.
Notwendig allerdings das IO-Board, welches die IO (Netzwerk, USB, HDMI) 
bereitstellt. Dort ist auch ein SD-Kartenslot drauf, den man allerdings 
nicht braucht.

von Frank K. (fchk)


Lesenswert?

Peter schrieb:

> Notwendig allerdings das IO-Board, welches die IO (Netzwerk, USB, HDMI)
> bereitstellt. Dort ist auch ein SD-Kartenslot drauf, den man allerdings
> nicht braucht.

Das ist falsch. DAS IO-Board (also das von der Raspberry Foundation) 
braucht man nicht unbedingt. Man braucht EIN Carrier-Board (davon 
gibts viele), und das kann auch von einem Drittanbieter kommen, oder das 
kann man auch selber entwickeln (was ich auch schon mal gemacht habe), 
je nach den eigenen Anforderungen.

Der uSD-Slot ist nur und ausschließlich nur für CM4-Light Module, also 
solche ohne onboard EMMC. Steckt man ein CM4 mit EMMC drauf, ist der 
uSD-Slot ohne Funktion.

fchk

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


Lesenswert?

Peter schrieb:

> Wie schon geschrieben gibt es die Raspi Compute Module CM3 und CM4.
> Beide gibt es mit integrierten eMMC Flash Speicher, der wesentlich
> stabiler und schneller arbeitet, als eine SD-Karte.
> Ein SD-Karte ist dabei nicht nötig.

Das ist gleich doppelt falsch.
1) eMMC ist im Prinzip sowas wie eine SD-Karte, bloß dass er halt 
nicht als Karte daherkommt, sondern als Chip zum Auflöten.
2) Es muß heißen: Eine SD-Karte ist dabei nicht möglich.

Weil 1) so ist, wie es ist, ist es natürlich etwas unsinnig, über 
"stabiler und schneller" zu schwadronieren. eMMC ist genauso gut oder 
schlecht wie eine
SD-Karte in Industriequalität. Ein Vorteil ergibt sich also höchstens, 
wenn man mit SD-Karten aus dem Billichsegment vergleicht.

Außerdem ist 1) auch der Grund für 2). Den Zusammenhang hat ja Frank K. 
bereits klargestellt. Er hat nur vergessen, zu erwähnen, dass das daran 
liegt, dass die SD-Schnittstelle des µC halt für den eMMC benötigt wird 
und deswegen dann nicht gleichzeitig zur Bedienung des SD-Kartenslots 
genutzt werden kann.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Soooo, ich hab da mal wieder was zusammengebraten. Siehe Anhang.
Ein Raspberry PI 3B+ als HDMI Anzeiger, gesteuert über DMX512. Die 
Dekodierung des DMX-Kanals könnte man im Prinzip auch im Raspberry Pi 
machen, der hat genug CPU-Leistung.
Praktisch muss man dafür aber viel KnowHow beim Thema 
Linuxprogrammierung, ggf. sogar Kernelprogrammierung haben. Hab ich 
nicht.
Also muss ein kleiner AVR den Job übernehmen, was ja auch kein Problem 
ist. Der langweilt sich dabei fast. Der wird auf die 40pol Stiftleiste 
gesteckt.
Der filtert den per DIP-Schalter einstellbaren DMX-Kanal raus und sendet 
ihn mit 9600 Baud an den Raspberry PI. Der zeigt eines von 256 Bildern 
an, welche auf einem USB-Stick liegen.
Das Ganze ist in Python mit ein paar Zusatzmodulen programmiert, die man 
leicht installieren kann. Das läuft auch auf einem PC.

PySimpleGUI

https://www.pysimplegui.org/en/latest/

pip install pysimplegui
oder
pip3 install pysimplegui

PIL

https://pillow.readthedocs.io/en/stable/

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

(beide Zeilen ausführen!)

Pyserial

https://pyserial.readthedocs.io/en/latest/index.html

python -m pip install pyserial

Die Bilder müssen auf dem USB-Stick (FAT16 oder FAT32) im Verzeichnis 
DMX512_PICS liegen (Großschreibung beachten!)
Die Namen müssen 000 bis 255 sein, immer 3 Ziffern, dazu die passende 
Endung. Es werden die Formate bzw. Endungen .jpg, .jpeg .png und .bmp 
unterstützt.
Die Bilder werden ggf. auf 1920x1080 (Full HD) ohne Verzerrung skaliert.
Das Programm kann man mittels ESCAPE auf der Tastatur abbrechen, dann 
hat man den normalen Linux Desktop.

Die Boot- und ROOTFS Partitionen sind schreibgeschützt, das sollte eine 
Beschädigung beim harten Ausschalten verhindern.

https://learn.adafruit.com/read-only-raspberry-pi/overview

Das Image braucht eine 8GB Micro SD-Karte, das kann ich bei Bedarf per 
OneDrive zur Verfügung stellen. Komprimiert sind es nur ~1,5GB.
Es kann man mit dem Raspberry PI Imager leicht auf SD-Karte schreiben.

https://www.raspberrypi.com/software/

Getestet ist die Software mit einem Raspberry PI 3B+ und läuft recht 
gut. Auf einem alten 1A+ geht sie auch, aber der Bildaufbau flackert 
etwas mehr.
Korrektur! Nach der Umstellung des ROOTFS startet der 1A+ nicht mehr, er 
bleibt bei initfs auf der Kommandozeile hängen! UFF. Egal.
Das Booten dauert über 2min! Wenn man das Boot und RootFS wieder 
"normal" schaltet, funktioniert es auch auf dem ollen Raspberry PI 1A+.
Ich würde einen Zero empfehlen, der ist klein, preiswert und hat alles 
was man für dieses Projekt braucht (Micro-SD Card, HDMI und 1x USB).

Viel Spaß beim Nachbauen

Korrektur. Die Firmware ist für einen ATmega328P, als den Typen auf dem 
Arduino Uno. Den kleinen ATmega48P hab ich nicht da. Für den und den 
ATmega88 braucht man aber eine andere Firmware, wegen der anderen 
Interruptvektortabelle.

: Bearbeitet durch User
von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Hier für die kleinen Brüder.

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


Lesenswert?

Falk B. schrieb:

> Soooo, ich hab da mal wieder was zusammengebraten. Siehe Anhang.
> Ein Raspberry PI 3B+ als HDMI Anzeiger, gesteuert über DMX512. Die
> Dekodierung des DMX-Kanals könnte man im Prinzip auch im Raspberry Pi
> machen, der hat genug CPU-Leistung.
> Praktisch muss man dafür aber viel KnowHow beim Thema
> Linuxprogrammierung, ggf. sogar Kernelprogrammierung haben.

Also ganz sicher braucht man nicht im Kernelspace rumzufuhrwerken, um 
das Problem zu lösen. Linux-API reicht völlig. Allerdings: das ist 
historisch gewachsen und deshalb gerade im Bereich UART-Handling 
wirklich ein ziemlicher Krampf.

Als zentraler Suchbegriff für Google: "termios".

> Das Ganze ist in Python mit ein paar Zusatzmodulen programmiert

Auch für so abstrusen Mist wie Python gibt es Sachen, die diesen 
termios-Mist einigermaßen handhabbar machen.

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.