Forum: Projekte & Code IRMP auf STM32 - ein USB IR Empfänger/Sender/Einschalter mit Wakeup-Timer


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 Jörg R. (jrie)


Lesenswert?

Bisher habe ich nur Patche im VDR Bereich geschrieben, und lange das 
vdr-usbremote Plugin für den IgorPlugUSB gepflegt. Mein erstes 
eigenständiges Programm war vor einem halben Jahr ein Lirc Server für 
den IgorPlugUSB. Dabei wurde mir klar, dass ich einen neuen 
Fernbedienungs-Empfänger brauchte.
Ich habe dann auf einem STM32F105 Board IRMP und USB-HID integriert, und 
dann auch für die leicht preiswert erhältlichen STM32F103 Boards. Die 
zugehörigen Konfigurationsprogramme sind nur für Linux.
Es funktioniert alles, was ich brauche, allerdings sind, obwohl ich mir 
viel Mühe gegeben habe, Fehler nicht auszuschließen, und sicherlich kann 
man noch Etliches verbessern. Es ist mein erstes größeres Projekt.
Gemäß der Open Source Idee übergebe ich meine Arbeit an die 
Gemeinschaft, und hoffe, dass sie Vielen nutzt, und auch, dass Einige 
sie weiter entwickeln :-) .
Also viel Spaß mit IRMP auf STM32!

https://www.mikrocontroller.net/articles/IRMP_auf_STM32_-_ein_USB_IR_Empf%C3%A4nger/Sender/Einschalter_mit_Wakeup-Timer
http://www.vdr-portal.de/board18-vdr-hardware/board13-fernbedienungen/123572-fertig-irmp-auf-stm32-ein-usb-ir-empf%C3%A4nger-sender-einschalter-mit-wakeup-timer/

von Jens (Gast)


Lesenswert?

Hallo,

ich hatte das auch vor allerdings mit einem anderem Controller und USB 
als Client, der als HID eine Tastatur emuliert.

Das ganze könnte man dann mit einem kleinen Controller realisieren und 
eigene Leiterplatten dafür erstellen.

Jens

von Jens (Gast)


Lesenswert?

Ach mist noch eine weitere Sache, die Interessant sein könnte, der 
STM32F1xx hat noch ein HDMI Interface um die Daten Fernbedienungen die 
an das am Fernseher angeschlossene Gerät sendet decodieren.

Jens

von holger (Gast)


Lesenswert?

>der STM32F1xx hat noch ein HDMI Interface

Nö, hat der nicht.

von Jens (Gast)


Lesenswert?

Ich denke schon.

http://www.st.com/web/en/resource/sales_and_marketing/promotional_material/brochure/brstm32vl.pdf

The built‑in HW CEC (consumer electronic control) interface enables 
connectivity for controlling HDMI‑enabled home entertainment systems, so 
releasing processor resources.

Jens

von Jörg R. (jrie)


Lesenswert?

Falls jemand CEC für den STM32F100xx einbauen will, gerne :-) .
Ein getesteter Patch ist willkommen ;-) .

Ich habe gerade das Problem, dass der blaue ST-Link den roten ST-Link 
nicht erkennt. Möchte mit dem ST-Link Utility vom Blauen aus den Roten 
flashen. Ein anderes Board wird am Blauen erkannt, und umgekehrt geht es 
auch, also vom Roten aus den Blauen ansprechen. Hat jemand eine Idee? 
Wenn ich Zeit habe, analysiere ich mal den Schaltplan. Aber vielleicht 
weiß ja jemand was?

: Bearbeitet durch User
von Jörg R. (jrie)


Lesenswert?

Die ST-Link Emus haben zwei LEDs an PA9 (Pin 30).
Beigefügte Firmware zeigt, was man damit machen kann.

von Jörg R. (jrie)


Lesenswert?

Übrigens: Um den Roten zu flashen, muss man ihn anfangs kurz resetten. 
Das ist etwas fummelig, R6/C5 müssen auf Masse gezogen werden.

von Jörg R. (jrie)


Lesenswert?

Anbei eine neue Version, fast alle Protokolle sind an.

Ich habe jetzt erst gemerkt, dass es betreffend F103 noch nicht rund 
läuft. Nach ein paar empfangenen Tastendrücken ist der IR Empfang eine 
Zeit lang blockiert, dann geht er wieder ein paar Mal, dann ist er 
wieder blockiert. Keine Ahnung, warum mir das vorher nicht aufgefallen 
ist.

: Bearbeitet durch User
von Jörg R. (jrie)


Lesenswert?

Und noch eine Version mit den ersten 15 Protokollen. Die mit fast allen 
tut es bei mir nicht.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jörg R. schrieb:
> Und noch eine Version mit den ersten 15 Protokollen. Die mit fast allen
> tut es bei mir nicht.

Fast alle freizuschalten ist auch wenig sinnvoll.

von Jörg R. (jrie)


Lesenswert?

Man sollte nie einen TSOP, der für 3,3V ausgelegt ist, mit 5V betreiben. 
Oder anders gesagt, das Stottern lag daran. Mit 3,3V läuft es wie 
geschmiert ;-)

In beigefügter Datei ist ein Wakeup-Reset Taster vorbereitet.
Er funktioniert, aber mit unerwünschter Nebenwirkung.
Sieht jemand meinen Fehler?

von Jörg R. (jrie)


Lesenswert?

Downloads ab jetzt von https://github.com/j1rie/IRMP_STM32
Ist mittlerweile reif für den produktiven Einsatz.

von Jörg R. (jrie)


Lesenswert?

Ein aktuelles irmplircd erfordert zwingend eine Firmware aus dem github. 
Die alten Firmware Versionen aus diesem Thread laufen nur mit alten 
Versionen von irmplircd. Das liegt daran, dass irmplircd neuerdings nach 
Report ID filtert.

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.