Hallo Community! Ich möchte meinen Fernseher und andere per Infrarot Fernbedienung nutzbare Geräte "smart" steuern. Dafür plane ich ein Modul zu bauen, dass mit meinem Netzwerk verbunden ist (über WLAN oder Ethernet) und dort eine simple Web API anbietet, an die ich Anfragen senden kann, die dann das senden eines vorher definierten Infrarotsignals triggern. Dafür will ich die Signale meiner Fernbedienung (an/aus, lauter, leiser, etc.) einmal bei Einrichten des Gerätes "einfangen" und dann eben jeder Zeit wieder "abspielen" können. Ich studiere Informatik, mit Code habe ich also eher keine Probleme, bei Elektronik bin ich aber leider ziemlich unerfahren. Ich habe vor einiger Zeit mal probiert das ganze mit einem ESP8266 und günstigen Infrarot Sendern/Empfängern zu realisieren, bin aber gescheitert. Deswegen möchte ich mich hier nach alternativen Möglichkeiten erkundigen. Wichtig ist mir folgendes: - nicht unnötig komplex (umso einfacher, umso besser) - nicht unnötig teuer - das Ding solle 24/7/365 laufen, nicht ausfallen oder gewartet werden müssen - Ethernet wäre toll, WLAN ist aber auch okay Ich denke mit einem ESP8266 (gibt es eigentlich einen ähnlichen Controller mit Ethernet statt WLAN?) ist das ganze schon gut umzusetzen, leider bin ich mit den verschiedenen Infrarotsendern und -empfängern etwas überfordert. Vielleicht kann mir ja hier jemand weiterhelfen. Ich bin dankbar für jede Antwort! Viele Grüße, Julian
:
Bearbeitet durch User
Julian F. schrieb: > (gibt es eigentlich einen ähnlichen > Controller mit Ethernet statt WLAN?) Der ESP32 hat auch ne Ethernet MAC eingebaut. Ansonsten würde ich mir einfach ne Struktur ausdenken mit Protokoll + Daten und der ESP hat es einfach via IR-Diode mit der richtigen Modulationsfrequenz raus. Würde es per MQTT oder so realisieren und er ESP subscribed dann das topic und übersetzt es dann in IR
:
Bearbeitet durch User
Mit IRMP und dem zugehörigen IRSND kannst Du den Anlernen und Senden-Teil ganz einfach lösen. Von der Umsetzung her am schnellsten dürfte es sein die STM32-Variante vom IRMP mit USB zu nehmen und das an einen RasPi (oder ähnliches) anzuschließen.
Timmo H. schrieb: > Der ESP32 hat auch ne Ethernet MAC eingebaut. Danke! Timmo H. schrieb: > Würde es per MQTT oder so realisieren und er ESP subscribed dann das topic und übersetzt es dann in IR MQTT hab ich bei meinem letzten Versuch auch verwendet. Das werde ich dann denk ich beibehalten. Könnt ihr mir noch Namen oder Links zu Sender und Empfänger geben, die ich hierfür brauche? Das wäre super! Das ganze dann an einen ESP anzuschließen sollte ich dann hinbekommen. :D
Die c‘t hatte mal so ein Projekt vor (15) Jahren gemacht. https://www.heise.de/ct/artikel/LIRC-Box-288924.html
Du könntest hier schauen wie der es gemacht hat; https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster
Julian F. schrieb: > leider bin ich mit den verschiedenen Infrarotsendern und -empfängern > etwas überfordert. Vielleicht kann mir ja hier jemand weiterhelfen. Nicht dass ich Ahnung hätte, aber ich versuchs mal: Senden: IR-Leds gibt es in ein paar verschiedenen Wellenlängen und Abstrahlwinkeln. Internet hilft bei Wellenlänge, Winkel musst du selbst wissen. Werden gerne mit 100mA gepulst betrieben --> Datenblatt Empfangen: Es gibt diese TSOPS die schon ein decodiertes Signal ausgeben (ohne Trägerwelle) auch für verschiedene Grundfrequenzen (Typisch 38kHz) https://www.google.com/search?client=firefox-b-d&q=+tsop+ir Das es schon 100erte fertige Geräte gibt die alles schon können ist dir bekannt? Viel Spass beim Basteln.
:
Bearbeitet durch User
Netzwerkfähige Variante von IRMP und IRSND: Remote IRMP Diese verwendet einen Wiznet W5100 Ethernet-Controller statt WLAN.
Vielen Dank für die ganzen Antworten! Ich werde mir die Verlinkungen am Wochenende mal genauer anschauen. Chr. M. schrieb: > Das es schon 100erte fertige Geräte gibt die alles schon können > ist dir bekannt? Alles was ich bisher gefunden habe konnte entweder zu wenig oder zu viel (und war dann dementsprechend kostspielig). Wenn hier jemand ein (günstiges) Gerät empfehlen kann, dass wirklich alle meine Anforderungen erfüllt, würde ich das wohl dem selbst basteln vorziehen und die Zeit in andere Projekte stecken, für die es keine fertige Lösung zu kaufen gibt.
Julian F. schrieb: > Alles was ich bisher gefunden habe konnte entweder zu wenig oder zu viel > (und war dann dementsprechend kostspielig). Wenn hier jemand ein > (günstiges) Gerät empfehlen kann, dass wirklich alle meine Anforderungen > erfüllt, würde ich das wohl dem selbst basteln vorziehen und die Zeit in > andere Projekte stecken, für die es keine fertige Lösung zu kaufen gibt. Dann nimm das GitHub-Projekt, das snowfly verlinkt hat. Das passt wirklich perfekt zu Deiner Anforderungsliste. Mal interessehalber: Weisst Du eigentlich, an was es damals, bei Deinem eigenen Versuch, so etwas umzusetzen, gescheitert ist? Ich würde instinktiv darauf tippen, dass Du das zu reproduzierende Infrarot-Signal von einem Infrarot-Empfänger wie den TSOPs bekommen hast, und dieses Signal dann einfach 1:1 auf einen GPIO-Port ausgegeben hast, an dem eine Infrarot-LED angeschlossen war. Das funktioniert so aber nicht, weil man das Signal erst noch auf ein ca. 38kHz-Signal aufmodulieren muss. Diesen Fehler hatte ich nämlich ursprünglich bei einem ähnlichen Vorhaben gemacht, daher würde mich interessieren, ob andere Leute instinktiv den gleichen Fehler machen... :)
Joachim S. schrieb: > Mal interessehalber: Weisst Du eigentlich, an was es damals, bei Deinem > eigenen Versuch, so etwas umzusetzen, gescheitert ist? > Ich würde instinktiv darauf tippen, dass Du das zu reproduzierende > Infrarot-Signal von einem Infrarot-Empfänger wie den TSOPs bekommen > hast, und dieses Signal dann einfach 1:1 auf einen GPIO-Port ausgegeben > hast, an dem eine Infrarot-LED angeschlossen war. Das funktioniert so > aber nicht, weil man das Signal erst noch auf ein ca. 38kHz-Signal > aufmodulieren muss. Das ganze ist schon ca. ein halbes Jahr her und wenn ich damals gewusst hätte, wo genau das Problem liegt hätte ich auch nicht aufgegeben. Die verwendeten Komponenten sind jedenfalls diese hier: Empfänger: https://www.banggood.com/10pcs-Universal-IR-Infrared-Receiver-Head-With-Iron-Shell-TL1838-VS1838B-1838-38Khz-p-1211280.html?cur_warehouse=CN Sender: https://www.banggood.com/3pcs-38KHz-Infrared-IR-Transmitter-Sensor-Module-For-Arduino-p-1389143.html?rmmds=search&cur_warehouse=CN Controller: WeMos D1 Mini Zusätzlich natürlich noch Widerstände, Board und Wires. Damals haben wir (Kumpel und ich) das einfach irgendwie verkabelt und versucht das Signal von der Fernbedienung auszulesen. Als das irgendwann funktioniert hat (= es kamen reproduzierbare Werte in der Konsole an), haben wir versucht das was wir ausgelesen haben wieder mit dem Sender zu senden, der Fernseher blieb aber aus. Ob das auslesen schon nicht richtig funktioniert hat, oder ob nur das senden das Problem war weiß ich leider nicht. Aufmoduliert haben wir jedenfalls nichts, hätte man das hier auch gemusst? Wir haben ja einen 38khz Empfänger verwendet?
Julian F. schrieb: > Sender: > https://www.banggood.com/3pcs-38KHz-Infrared-IR-Transmitter-Sensor-Module-For-Arduino-p-1389143.html?rmmds=search&cur_warehouse=CN > > Damals haben wir (Kumpel und ich) das einfach irgendwie verkabelt und > versucht das Signal von der Fernbedienung auszulesen. Als das irgendwann > funktioniert hat (= es kamen reproduzierbare Werte in der Konsole an), > haben wir versucht das was wir ausgelesen haben wieder mit dem Sender zu > senden, der Fernseher blieb aber aus. > Ob das auslesen schon nicht richtig funktioniert hat, oder ob nur das > senden das Problem war weiß ich leider nicht. > > Aufmoduliert haben wir jedenfalls nichts, hätte man das hier auch > gemusst? Wir haben ja einen 38khz Empfänger verwendet? Der Empfänger ist okay. Der liefert an seinem Daten-Ausgang ein Signal, bei der die 38kHz-Trägerfrequenz bereits herausgefiltert ist. Der Sender ist das Problem - bei dem steht zwar ebenfalls etwas von "38kHz", aber das ist imho Mumpitz - auf diesem Modul befindet sich lediglich eine einzige gewöhnliche IR-Sendediode. Wenn man diese Sende-Diode an einen Output-Pin anschliesst, und dort einfach 1:1 den gleichen digitalen Signalverlauf ausgibt, den man an dem Input-Pin aufgezeichnet hat, an dem der Daten-Ausgang des IR-Empfängers hängt, dann funktioniert das nicht, weil dieser digitale Signalverlauf noch auf eine 38kHz-Trägerfrequenz aufmoduliert werden muss. Ohne das klappt es nicht. Diese 38kHz-Trägerfrequenz kann bspw. durch PWM erzeugt werden. Es könnte natürlich sein, dass bei euch auch noch ein anderes Problem vorlag, aber schon aus obigem Grund hätte es gar nicht funktionieren können, wenn ihr das eingelesene Signal einfach 1:1 ausgegeben habt. Wie gesagt, genau das gleiche Problem hatte ich damals anfangs auch - ich hatte glaube ich sogar exakt das gleiche IR-Sendemodul :)
Wenn ich Glück habe, liegt der Controller so noch irgendwo rum um ich kann das mal ausprobieren. Wo kann ich denn nachlesen, was man dafür genau machen muss? Edit: Oder kann ich auch einfach einen anderen Sender kaufen, der das von sich aus macht? Wenn ja, auf was muss ich da achten, damit ich nicht wieder einen falschen erwische?
:
Bearbeitet durch User
Julian F. schrieb: > Wenn ich Glück habe, liegt der Controller so noch irgendwo rum um ich > kann das mal ausprobieren. > Wo kann ich denn nachlesen, was man dafür genau machen muss? > > Edit: Oder kann ich auch einfach einen anderen Sender kaufen, der das > von sich aus macht? Wenn ja, auf was muss ich da achten, damit ich nicht > wieder einen falschen erwische? Letztlich geht es bei diesem aufmodulieren auf eine 38kHz Trägerfrequenz darum: In den Zeiträumen, in denen die IR-Sendediode tatsächlich senden/leuchten soll (also in den Zeiträumen, in denen der Daten-Pin eures IR-Empfänger einen Low-Pegel ausgegeben hat), darf diese IR-Leuchtdiode nicht dauerhaft leuchten, sondern muss sozusagen mit 38kHz "blinken". In den anderen Zeiträumen, also wenn die IR-Leuchtdiode gerade nicht senden/leuchten soll (was den Zeiträumen entspricht, in denen der Daten-Pin eures IR-Empfängers einen High-Pegel ausgegeben hat), ist sie tatsächlich einfach ausgeschaltet. Bei Mikrocontrollern erledigt man das i.d.R. in Software, per PWM. Man schliesst die IR-Leuchtdiode an einen PWM-fähigen IO-Pin an, und konfiguriert PWM so, dass auf diesem IO-Pin ein PWM-Signal mit 38kHz-Frequenz bei einem Duty-Cycle von 50% ausgegeben wird. In den Zeiten, in denen gesendet wird, schaltet man dieses PWM-Signal ein; in den anderen Zeiten, in denen nichts gesendet wird, sorgt man dafür dass das PWM-Signal nicht ausgegeben wird. Alternativ könnte man es aber auch in Hardware machen. Wenn man nach "infrared 38khz ne555" googlet, findet man diverse Schaltungen, die das mit Hilfe eines 555-Timer-ICs erledigen. Ich habe auch ein fertiges IR-Sendemodul gefunden, das eine derartige Schaltung mit 555-Timer-IC enthält: https://www.ebay.de/itm/50mA-infrarot-Emitter-Sender-Modul-Board-Mit-38K-Tragerschaltung-Fur-Arduino-CA/163541016912 Das könntest Du vermutlich als Ersatz für euer KY-005-IR-Sendemodul anschliessen und es würde funktionieren. Ich konnte dafür auf die Schnelle allerdings nur Anbieter aus Asien finden, mit entsprechend langer Lieferzeit. Das war auf die Schnelle allerdings auch das einzige käufliche IR-Sendemodul mit integrierter 38kHz-Trägerfrequenz, das ich finden konnte. Fast alle Lösungen, bei denen ein Mikrocontroller Signale von IR-Fernbedienungen sendet, erzeugen das 38kHz-Trägersignal halt in Software, weil das für einen Mikrocontroller üblicherweise kein Problem ist, und man sich dadurch zusätzliche Bauteile spart. Ausserdem hat das den Vorteil, dass man die Trägerfrequenz auch einfach per Software ändern könnte, während die Hardware-Lösungen fest auf eine bestimmte Trägerfrequenz eingestellt sind. Der Sourcecode der (offenbar recht beliebten) "Arduino-IRremote"-Library könnte ein Ansatz sein, wie man das in Software, per Hardware-PWM, erledigt: https://github.com/z3t0/Arduino-IRremote/blob/master/irSend.cpp
Julian F. schrieb: > Alles was ich bisher gefunden habe konnte entweder zu wenig oder zu viel Ich dachte an diese Dinger: https://de.aliexpress.com/item/Original-Broadlink-RM-Mini3-Universal-Intelligente-WiFi-IR-4G-Drahtlose-Fernbedienung-ber-IOS-Android-Smart-Home/32870991072.html https://de.aliexpress.com/item/Geeklink-Smart-Home-Automation-WIFI-IR-4G-Universal-Remote-Controller-iOS-Android-Voice-Control-Arbeitet-mit/32959728827.html https://de.aliexpress.com/item/Broadlink-RM-PRO-RM33-Smart-Fernbedienung-Smart-Home-Automation-Hub-Controller-WiFi-IR-RF-Schalter-F/32967165671.html https://de.aliexpress.com/item/Smart-Home-Automation-Geeklink-Extension-Intelligent-Controller-Wireless-Remote-Control-Wifi-Extender-IOS-android-IR-RF/32720054831.html https://de.aliexpress.com/item/2016-Orvibo-Smart-Home-Automation-System-WiFi-IR-RF-Remote-Control-Switch-XiaoFang-PK-Allone-Control/32772503900.html https://de.aliexpress.com/item/2017-Orvibo-Allone-pro-IR-RF-WIFI-Smart-Home-Automation-Intelligent-Universal-Controller-Wireless-Smart-Remote/32802986952.html https://de.aliexpress.com/item/Xiao-mi-mi-Universal-Intelligente-Smart-Fernbedienung-WIFI-IR-360-Grad-f-r-mi-TV-Klimaanlage/32975029334.html https://de.aliexpress.com/item/Sonoff-WiFi-IR-Remote-IR-Control-Hub-Wi-Fi-Aktiviert-Infrarot-Universal-fernbedienung-Controller-F-r/32975029072.html Zu viel können stört ja nicht. :) Der Haken ist dass die alle auf Cloud benutzung ausgelegt sind. Bei vielen ist aber eine alternative Ansteuerung oder Firmware möglich. Da muss man sich halt durchlesen... Eigenbauprojekte habe ich auch schon sehr viele gesehen, von TV-B-Gone mit minimal Hardware bis zu Raspberrys und es gibt, glaube ich, auch NAS mit IR-Hardware. Da gibt es bestimmt Docker Container dafür.:)
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.