Fremde Fernbedienungen einsetzen

Antworten
[MCP]
Beiträge: 109
Registriert: Sa 28. Mai 2016, 15:42
Wohnort: LE
Box: Zee², Trinity DUO , ZGEMMA H7C

Fremde Fernbedienungen einsetzen

Beitrag von [MCP] »

Hi,

ich hatte mir ja auch eine Zgemma H7C (Baugleich AX-HD51) geleistet und war von der Bediengeschwindigkeit begeistert.
Brauchte die schnellere Netzwerkgeschwindigkeit.
Mit der original Fernbedienung war ich unglücklich, ausserdem habe ich ein paar STB-Fernbedienungen sowieso rumliegen.
Diese sind mir seit Jahren bekannt und ich habe mich an sie gewöhnt.

Ich habe deshalb ein kleines Projekt gestartet, mit einem Arduino Nano V3 und einem passenden IR Empfänger KY-022 (Infrarot Receiver CHQ1838 Sensor Modul).
Die Stromversorgung für den Arduino wird aus den 12V Netzteil des Receivers genommen und dann mit StepDown-Konverter zu 5V gewandelt.
Leider benötigt der Aufbau noch eine USB zu USB Isolator Board Schutzisolation (ADUM4160 ADUM3160 Modul) zwischen dem Arduino und dem USB-Eingang vom Receiver,
sonst bleibt nur der Bootloader von der Zgemma aktiv beim einschalten.

Die Idee gesamt dazu kam mir, als ich auf das IRMP - Infrared Multi Protocol Decoder + Encoder Projekt gestossen bin.

Die Fernbedienung der Coolstream Trinity Duo spricht das IR_PROTOCOL_NECE auf Adresse 0xFF80.
Die Fernbedienung der Zgemma H7C spricht auch das IR_PROTOCOL_NECE auf Adresse 0xCD27.

Dann entstand ein kleines Arduino-Programm, was eben beim Arduino auf den IR-Empfang von der STB-Fernbedienung lauscht und
dann alle Tasten über USB (Seriell 115200-8N1) weiter leitet, ausser der Power-Taste.

Auf dem Receiver läuft jetzt ein Shell-Script, was die USB-Informationen entgegen nimmt und dann die Tasten für die Zgemma H7C simuliert bzw. umbiegt
per wget (ControlAPI - http://box_ip/control/rcem -> nhttpd_controlapi.html).

Das Prinzip ist universell auch auf jede gewünschte andere Ferbedienung übertragbar, solange das entsprechende IR_PROTOCOL in IRMP bekannt ist.

Bevor die Frage aufkommt, das einschalten des Receivers ist bis jetzt natürlich so nicht möglich.

Aber es liegt schon ein passendes KY-005 IR Infrarot Sender Transceiver Modul in der Schublade, was dafür mit IRSND zum Einsatz kommen soll,
wenn die Power-Taste der STB-Fernbedienung gedrückt wird.

Dann soll der Arduino mit IR_PROTOCOL_NECE auf Adresse 0xFF80 entgegen nehmen und muss nur das passsende Signal
für die Power-Taste der Zgemma mit IR_PROTOCOL_NECE auf Adresse 0xCD27 senden.
Damit kann dann der Receiver auch normal eingeschaltet werden.

Wenn jemand an dem Projekt interessiert sein sollte,
kann ich gerne auch genauer darauf eingehen und bei Bedarf den Quellcode für den Arduino und das Shell-Script liefern.
seife
Beiträge: 126
Registriert: Mi 20. Okt 2021, 15:20
Been thanked: 1 time

Re: Umstieg von Tank auf AXHd51

Beitrag von seife »

Nimm doch stattdessen einen Arduino leonardo mit ATMega32 (gibts auch als "CJMCU beetle" in wirklich klein oder als "Pro Micro" in ziemlich kelin) und lass den einfach eine USB Tastatur sein.
Dann könnte der das Neutrino ganz ohne extra skript steuern.
[MCP]
Beiträge: 109
Registriert: Sa 28. Mai 2016, 15:42
Wohnort: LE
Box: Zee², Trinity DUO , ZGEMMA H7C

Re: Umstieg von Tank auf AXHd51

Beitrag von [MCP] »

seife hat geschrieben: Mo 26. Sep 2022, 19:58 Nimm doch stattdessen einen Arduino leonardo mit ATMega32 (gibts auch als "CJMCU beetle" in wirklich klein oder als "Pro Micro" in ziemlich kelin) und lass den einfach eine USB Tastatur sein.
Dann könnte der das Neutrino ganz ohne extra skript steuern.
Die Idee ist natürlich auch nicht schlecht. Die Keyboard-Scancodes bewirken dann das selbe.
Das Mapping wäre dann im Arduino zu erledigen.

Ich hatte die Nano V3 bloss schon rumliegen gehabt und das ganze eher als Konzept-Idee
gesehen und wollte damit eine Lösung realisieren.

Der Rest des Projektes wäre das gleiche. IR-Empfänger und IR-Sender, Stromversorgung, galvanische Trennung.

Ist auch eine Preisfrage. Die 5x Nano V3 haben mich damals nur 16 Euro gekostet.

Der ATMega32 hat natürlich den Charme des grösseren Flash.

Ob ich es jetzt deshalb noch einmal ändere weis ich nicht. Gehen würde es auf jeden Fall auch.
Benutzeravatar
TangoCash
NI - VIP
Beiträge: 447
Registriert: Di 12. Apr 2016, 20:18
Box: Mutant HD51
Kontaktdaten:

Re: Umstieg von Tank auf AXHd51

Beitrag von TangoCash »

Ein DigiSpark mit IR Empfänger wäre dafür auch ausreichend 😎
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.

4x Mutant HD51
1x VU+ Ultimo 4k
1x Edision Mio+ 4k
1x Mutant HD60
[MCP]
Beiträge: 109
Registriert: Sa 28. Mai 2016, 15:42
Wohnort: LE
Box: Zee², Trinity DUO , ZGEMMA H7C

Re: Umstieg von Tank auf AXHd51

Beitrag von [MCP] »

TangoCash hat geschrieben: Mo 26. Sep 2022, 21:21 Ein DigiSpark mit IR Empfänger wäre dafür auch ausreichend 😎
Das Spiel kann auch weiter gehen. Ein ARM STM8S würde auch gehen.
Nach oben nimmt der ESP8266 oder gar der ESP32 teil.

Jeder nach seinen vorlieben, ohne Grenzen bzw. was mit IRMP halt benutzbar ist.
Ich habe einfach genommen was eh rum lag und nach am wenigsten Aufwand roch.
seife
Beiträge: 126
Registriert: Mi 20. Okt 2021, 15:20
Been thanked: 1 time

Re: Umstieg von Tank auf AXHd51

Beitrag von seife »

TangoCash hat geschrieben: Mo 26. Sep 2022, 21:21 Ein DigiSpark mit IR Empfänger wäre dafür auch ausreichend 😎
<OT>
Im Prinzip ja. Ich habe aber beides (Beetle und Digispark) im täglichen Einsatz als Maus.

Der Software-USB stack der mit dem ATTiny benutzt wird ist langfristig meiner Erfahrung nacht nicht so zuverlässig wie die Hardware Implementierung im ATMega.

Wenn z.B. beim allmorgendlchen Windows-Resume die Kiste im Büro schwer mit was auch immer beschäftigt ist und gleichzeitig die Maus reinitialisiert werden will, dann hakt es ab und zu, manchmal so daß ich sie am Ende ab- und wieder anstecken muss. Und alle paar Monate war es bisher so, daß sich das ganze so weggehängt hat, daß es überhaupt nicht mehr als USB gerät erkannt wurde. Ich vermute daß die Frequenzkalibrierung im micronucleus-Bootloader da einen Wert "gefunden" (und sich gemerkt) hat, der keinen USB Betrieb mehr zulässt. Jedenfalls war dann nur noch neuprogrammieren via ISP-Anschluss möglich.
Es gibt aber seit kurzem ein neues micronucleus-Release, was in genau dem von mir vermuteten Bereich anscheinend Verbessert wurde. Gefühlt ist es jetzt beim Windows-resume auch "ruhiger" und die Maus schneller einsatzbereit.
</OT>

BTT: wir könnten ja ein Projekt machen, mit so einem Pro Micro z.B., das einen universellen Neutrino-IR-Empfänger darstellt, mit einer eindeutigen USB ID, das dann, wenn angesteckt, vom neutrino automatisch erkannt wird und mit dem man dann beliebige Fernbedienungen an einer beliebigen Box benutzen könnte.

Das Fernbedienungsthema hält mich momentan unter anderem noch von einem Umstieg weg von den SPARK Boxen ab, daß alle neuen boxen keine ordentlichen LIRC treiber sondern so gruselige hartkodierte Fernbedienungstreiber haben,,, und ich will halt die Fernbedienung benutzen die mir passt, und nicht die die der Hersteller meint daß sie mir passen müsste.
seife
Beiträge: 126
Registriert: Mi 20. Okt 2021, 15:20
Been thanked: 1 time

Re: Umstieg von Tank auf AXHd51

Beitrag von seife »

[MCP] hat geschrieben: Mo 26. Sep 2022, 21:43
TangoCash hat geschrieben: Mo 26. Sep 2022, 21:21 Ein DigiSpark mit IR Empfänger wäre dafür auch ausreichend 😎
Das Spiel kann auch weiter gehen. Ein ARM STM8S würde auch gehen.
Nach oben nimmt der ESP8266 oder gar der ESP32 teil.

Jeder nach seinen vorlieben, ohne Grenzen bzw. was mit IRMP halt benutzbar ist.
Ich habe einfach genommen was eh rum lag und nach am wenigsten Aufwand roch.
ESP8266 kann kein USBHID, und von den ESP32 kann das nur der ESP32-S2.

Software-USB für STM8S ist soweit ich weiß bisher nur ein POC und nicht wirklich nutzbar. Ich kenn mich aber mit den AVR besser aus (auch nicht gut :wink:) als mit den STMx.
[MCP]
Beiträge: 109
Registriert: Sa 28. Mai 2016, 15:42
Wohnort: LE
Box: Zee², Trinity DUO , ZGEMMA H7C

Re: Umstieg von Tank auf AXHd51

Beitrag von [MCP] »

seife hat geschrieben: Di 27. Sep 2022, 07:34
[MCP] hat geschrieben: Mo 26. Sep 2022, 21:43
TangoCash hat geschrieben: Mo 26. Sep 2022, 21:21 Ein DigiSpark mit IR Empfänger wäre dafür auch ausreichend 😎
Das Spiel kann auch weiter gehen. Ein ARM STM8S würde auch gehen.
Nach oben nimmt der ESP8266 oder gar der ESP32 teil.

Jeder nach seinen vorlieben, ohne Grenzen bzw. was mit IRMP halt benutzbar ist.
Ich habe einfach genommen was eh rum lag und nach am wenigsten Aufwand roch.
ESP8266 kann kein USBHID, und von den ESP32 kann das nur der ESP32-S2.

Software-USB für STM8S ist soweit ich weiß bisher nur ein POC und nicht wirklich nutzbar. Ich kenn mich aber mit den AVR besser aus (auch nicht gut :wink:) als mit den STMx.

Ich gebe mich geschlagen. Richtiges USB-HID Device ist am besten, keine Frage.

seife hat geschrieben: Di 27. Sep 2022, 07:25
BTT: wir könnten ja ein Projekt machen, mit so einem Pro Micro z.B., das einen universellen Neutrino-IR-Empfänger darstellt, mit einer eindeutigen USB ID, das dann, wenn angesteckt, vom neutrino automatisch erkannt wird und mit dem man dann beliebige Fernbedienungen an einer beliebigen Box benutzen könnte.

Das Fernbedienungsthema hält mich momentan unter anderem noch von einem Umstieg weg von den SPARK Boxen ab, daß alle neuen boxen keine ordentlichen LIRC treiber sondern so gruselige hartkodierte Fernbedienungstreiber haben,,, und ich will halt die Fernbedienung benutzen die mir passt, und nicht die die der Hersteller meint daß sie mir passen müsste.

Ich habe die Nacht auch noch einmal darüber nachgedacht. Pro Micro klingt doch sehr sympathisch.

Die freie Wahl der Fernbedienung war letztendlich auch meine Motivation für das Projekt.

Also ich bin gerne dazu bereit mit zu machen.

Ich werde mir auf jeden Fall schon mal den Pro Micro zulegen. Dann fällt mein Shell-Script wirklich weg (obwohl ich stolz darauf war, als es endlich funktionierte).
Benutzeravatar
Gorcon
NI - VIP
Beiträge: 2724
Registriert: Mi 13. Apr 2016, 10:55
Box: E2HD, VU+ Uno4kSE, VU+ Ultimate4k
Has thanked: 8 times
Been thanked: 2 times

Re: Umstieg von Tank auf AXHd51

Beitrag von Gorcon »

Ich finde die Idee nicht schlecht. Könnte man damit auch sonst unbenutzte Steuerbefehle nutzen? Ich denke da an Funktionen die man mit Plugins dann verknüpft, z.B. PIP für einen bestimmten Sender oder so. Bei meiner VU+ hatte ich zwar schon die IR Befehle alle mal ausgelesen um dann die ungenutzten mit einer Logitech FB anzulernen jedoch bekomme ich das wegen dem Torgelbit nicht so gesendet das sie funktionieren.
Benutzeravatar
TangoCash
NI - VIP
Beiträge: 447
Registriert: Di 12. Apr 2016, 20:18
Box: Mutant HD51
Kontaktdaten:

Re: Umstieg von Tank auf AXHd51

Beitrag von TangoCash »

Naja, da ich im Grunde alles mit der FB vom TV steuere per HDMI, hatte ich den DigiSpark nie im Dauereinsatz.

Hab mir mal so einen "CJMCU beetle" bestellt zum basteln ;)
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.

4x Mutant HD51
1x VU+ Ultimo 4k
1x Edision Mio+ 4k
1x Mutant HD60
seife
Beiträge: 126
Registriert: Mi 20. Okt 2021, 15:20
Been thanked: 1 time

Re: Umstieg von Tank auf AXHd51

Beitrag von seife »

@[MCP]: Mit etwas glück bleibt der Bootloader auch nicht hängen, wenn du den beim Einschalten angesteckt hast und das USB-isolier-dings ist nicht nötig.
Andererseits, wenn du den im deep-standby mit Strom versorgst (um per IR-send die box aufzuwecken), dann kann das natürlich schwieriger werden.
Langfristig wäre meine Idee, daß das eine universelle "zusatzbox" ist, die man an jede STB auf der Neutrino läuft einfach anstecken kann und die dann eine beliebige Fernbedienung ohne extra Konfiguration benutzbar macht.

Andersum könnte man es auch doch mit esp8266 angehen, und zwar in dem man den ESP infrarot empfangen und die box direkt per webinterface bedienen lässt. Vorteil: die Hardware gibts schon fertig (https://tasmota.github.io/docs/devices/YTF-IR-Bridge/) und die hab ich sogar schon rumliegen ;-) )
Konfiguration könnte man komfortabel per Webbrowser machen und IR senden (für deepstandby...) kann das ding auch.
Wenn ich mir das genau betrachte ist das fast noch sexier ;-)
seife
Beiträge: 126
Registriert: Mi 20. Okt 2021, 15:20
Been thanked: 1 time

Re: Umstieg von Tank auf AXHd51

Beitrag von seife »

TangoCash hat geschrieben: Di 27. Sep 2022, 08:29 Naja, da ich im Grunde alles mit der FB vom TV steuere per HDMI, hatte ich den DigiSpark nie im Dauereinsatz.

Hab mir mal so einen "CJMCU beetle" bestellt zum basteln ;)
Der digispark ist echt klasse und das "USB in software" ist echt ein geiler hack, aber ich habe halt 2 trackballs die ich zu USB konvertiere, einen mit digispark, einen mit leonardo, und der mit leonardo ist bisher weniger "anstrengend".

Andersrum hat der Leonardo auch Features die ich erst workarounden musste: z.B. kann er den PC aus dem standby aufwecken. Das will ich aber gar nicht ;-) Also musste in die Software extra eine Abfrage "wenn host im standby, dann ignoriere alles". Der digispark mit V-USB kann das nicht, deswegen gab's da nix zu tun. Wenn der Host im standby ist, dann watchdog-resettet der sich einfach jede sekunde im Kreis rum, bis der Host wieder aufwacht. Hat also Vor- und Nachteile. Auch kann man dem digispark einfacher einen eigenen Namen und eine eigene USB-ID geben, zumindest wenn man das Arduino-Framework benutzt. Das ganze zeug ist in github.com/seife unter marble_fx / marble_fx_digistump zu finden.
[MCP]
Beiträge: 109
Registriert: Sa 28. Mai 2016, 15:42
Wohnort: LE
Box: Zee², Trinity DUO , ZGEMMA H7C

Re: Umstieg von Tank auf AXHd51

Beitrag von [MCP] »

seife hat geschrieben: Di 27. Sep 2022, 08:43 Andersum könnte man es auch doch mit esp8266 angehen, und zwar in dem man den ESP infrarot empfangen und die box direkt per webinterface bedienen lässt. Vorteil: die Hardware gibts schon fertig (https://tasmota.github.io/docs/devices/YTF-IR-Bridge/) und die hab ich sogar schon rumliegen ;-) )
Konfiguration könnte man komfortabel per Webbrowser machen und IR senden (für deepstandby...) kann das ding auch.
Wenn ich mir das genau betrachte ist das fast noch sexier ;-)
@seife: Und schon ist der esp8266 wieder im Spiel. Wenn du die YTF-IR-Bridge eh schon rumliegen hast, bist du doch fast schon am Ziel.
IR-Signal empfangen, entscheiden ob IRSend verwendet oder rule-trigger mit Web-Interface Steuerung benutzt wird, fertig.

Der Ideen-Pool wird immer grösser. ESP8266 liegt bei mir auch auf Halde. Tasmota gibts auch für ESP32. Damit habe ich auch schon gespielt.

Der Pro Micro ist zwar schon bestellt, was solls. Es gehen halt viele Wege.

Der ESP32 hat eben genial viel Flash-Speicher. Meine neuste Idee ist das mit einem DFROBOT FireBeetle ESP32 zu probieren.
Strom vom USB-Port des Receivers. Am FireBeetle noch einen Akku mit dran. Der wird mit aufgeladen, wenn der Receiver an ist.
Wenn der Receiver aus ist, bringt man den ESP32 in den Deep-Sleep Mode. Das kostet dann nur 10µA.
Aufwachen des ESP32 aus Deep-Sleep dann per Interrupt, wenn ein IR-Signal empfangen wird. Damit könnte der Receiver wieder eingeschaltet werden.
Benutzeravatar
TangoCash
NI - VIP
Beiträge: 447
Registriert: Di 12. Apr 2016, 20:18
Box: Mutant HD51
Kontaktdaten:

Re: Umstieg von Tank auf AXHd51

Beitrag von TangoCash »

Mit 2 ESP8266 hab ich mir eine IR-WLAN-IR Brücke gebaut, praktisch ein Repeater, da meine Geräte alle in einem verschlosenen Schrank stehen.


BTW:
Könnte ein Mod mal das ganze Arduino/ESP Thema abtrennen, hat in dem Fred eigentlich nix zu suchen :sunglasses:
Es gibt genau 10 Sorten von Leuten – nämlich diejenigen, die das binäre System verstehen, und diejenigen, die es nicht tun.

4x Mutant HD51
1x VU+ Ultimo 4k
1x Edision Mio+ 4k
1x Mutant HD60
schaschix
Beiträge: 27
Registriert: Mo 11. Sep 2017, 15:45

Re: Fremde Fernbedienungen einsetzen

Beitrag von schaschix »

Hallo,

ich habe ein ähnliches Problem, vor allem jetzt, wo es keine Logitech-Fernbedienungen mehr gibt.

Dürfte ich das Shell-Script haben?
Umsetzung mittels DigiSpark mit IR Empfänger finde ich optimal ...

VG
Coolstream(neo) und bre2ze
Benutzeravatar
Gorcon
NI - VIP
Beiträge: 2724
Registriert: Mi 13. Apr 2016, 10:55
Box: E2HD, VU+ Uno4kSE, VU+ Ultimate4k
Has thanked: 8 times
Been thanked: 2 times

Re: Fremde Fernbedienungen einsetzen

Beitrag von Gorcon »

schaschix hat geschrieben: Di 27. Jun 2023, 06:33 Hallo,

ich habe ein ähnliches Problem, vor allem jetzt, wo es keine Logitech-Fernbedienungen mehr gibt.

Dürfte ich das Shell-Script haben?
Umsetzung mittels DigiSpark mit IR Empfänger finde ich optimal ...

VG
Die FBs gibt es schon noch!. ;) Sind aber richtig teuer geworden. Bei gebrauchten kann man aber mit den Tasten Pech haben, aber dafür gibt es Schaltmatten zu kaufen.
Antworten

Zurück zu „Entwicklung“