MiniIRCul - Infrarot Sender/Empfänger als CUL über WLAN (ESP8266)

Begonnen von viegener, 21 Februar 2016, 15:46:11

Vorheriges Thema - Nächstes Thema

viegener

Ich hatte es ursprünglich mal im Thread von Locutus zum miniCul mit WLAN gepostet: http://forum.fhem.de/index.php/topic,42998.msg393783.html#msg393783

Aber es macht vielleicht doch Sinn dazu einen eigenen Thread zu eröffnen:

Mein Ziel war es Verstärker (etc) per Infrarot zu steuern (da diese keine andere Schnittstelle haben).
Allerdings sind die zu steuernden Geräte nicht so positioniert, dass man IR-Sender einfach am FHEM installieren könnte.

Ich habe deshalb die Idee von locutus abgekupfert und einen CUL per WLAN-Seriell-Bridge um Infrarot erweitert.
Damit lässt sich dieser wie ein normaler CUL ansteuern und die Module CUL/CUL_IR funktionieren direkt.

Die Hardware ist eigentlich auch nicht besonders aufwändig und der Lötaufwand geht gegen Null.


Unten befindet sich eine scheamtische Darstellung eines Steckbrett-Aufbaus. Man kann das aber auch auf eine Platine packen oder Freiluftverkabeln.

Zutaten:

- ESP8266 (z.B. ESP-01)-Modul mit transparent-bridge firmware https://github.com/beckdac/ESP8266-transparent-bridge
- Arduino Mini mit ATmega328 3,3V (!) und 8Mhz
- Modifzierte CUL-FW mit den Dateien die hier angehängt sind
- IR-Empfänger (z.B. TSOP... 38kHZ haben sich bewährt, bei mir lag so einer noch in der Bastelkiste)
- IR-LEDs (Ich verwende ein Modul mit 4 IR LEds: http://www.aliexpress.com/item/FOR-Arduino-4-head-infrared-transmitter-module-IR-Transmitter-multi-directional-infrared-transmitter-module/32293580063.html?spm=2114.01010208.3.2.wIxoT4

Als Stromversorgung verwende ich inzwischen den integrierten Wandler im Pro Mini (anders als im Bild unten), da das Mehrfach-IR-LED-Modul sich bei 5V wohler fühlt. Es geht aber auch über direkte 3,3V an Vcc und angepassten Vorwiderständen an den IR-Leds.

ACHTUNG: Der ESP8266 ist NICHT für 5V geeignet also entweder nur 3,3V am Arduino zuführen oder alles über den Wandler im ProMini führen (RAW-Pin).

Kurze beschreibung der Vorgehensweise:
- ESP8266 mit transparent bridge flashen
- ESP8266 über (+++AT)-Kommandos mit WLAN-Parametern versorgen (WLAN-Station, SSID, PW, Baudrate 38400)
  Achtung: Feste-IP geht wohl nur durch Modifikation der Firmware
- ProMini mit modifizierten CUL Firmware für miniIrCul flashen
- Teil verkabeln und starten --> SOllte sich automatisch im WLAN anmelden --> IP-Adresse besorgen
- Neuen CUL anlegen (mit der IP.Adresse von oben)
  define miniIrCUL CUL 192.168.100.100:23@38400 0000
- Neuen CUL_IR anlegen
  define myir CUL_IR miniIrCUL
- IR Codes anlernen und ausprobieren (Hier hilft eine Digitalkamera gut um zu sehen ob überhaupt etwas gesendet wird9

Die vorkompilierte Firmware hängt unten auch als hex-datei an, wenn man direkt auch den Arduino flashen möchte.





Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

AndiL

Sehr interessant.
Könntest du bitte das Steckbrett-Schema in besserer Qualität einstellen?
Da kann man leider nix erkennen.

Danke
Gruß Andi
FHEM 5.8 auf RasPi 3
***********************************
FB 7390, FS20, HM mit USB-CFG, 1-wire (DS1820 und DS2408), Buderus KM200 mit GB 152, Phillips HUE und Bastelkram....

viegener

@AndiL: OK, habe das vollständige Bild hochgeladen. Danke für den Hinweis.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

AndiL

FHEM 5.8 auf RasPi 3
***********************************
FB 7390, FS20, HM mit USB-CFG, 1-wire (DS1820 und DS2408), Buderus KM200 mit GB 152, Phillips HUE und Bastelkram....

sbiermann

Teile in China bestellt... Lieferzeit bis zu 60 Tage. Dann mal schauen ob ich den T-Entertain Receiver damit ansteuern kann.

wrmueller

Hallo Zusammen,

ich habe einen IR-WLAN-Umsetzer mit einem ESP-01 und der Firmware ESP Easy (R78) realisiert:

- "IR-Input" an GPIO02 konfigurieren und den TSOP4838 anschließen
- MQTT-Broker ist nötig
- MQTT einrichten
- bei jedem IR-Empfang wird ein Wert an MQTT übergeben
- FHEM-MQTT-Device einrichten
- mit Notify auf das Reading: Switch entsprechend reagieren

Das Ganze kostet keine €5,-, OK man benötigt noch ein Netzteil und ein Gehäuse, aber das wird sich  in der Kiste finden.
In der Firmware ESP Easy kann eine feste IP problemlos eingestellt werden.

Gruß WR

viegener

Zitat von: wrmueller am 11 April 2016, 00:48:10
Hallo Zusammen,

ich habe einen IR-WLAN-Umsetzer mit einem ESP-01 und der Firmware ESP Easy (R78) realisiert:

- "IR-Input" an GPIO02 konfigurieren und den TSOP4838 anschließen
- MQTT-Broker ist nötig
- MQTT einrichten
- bei jedem IR-Empfang wird ein Wert an MQTT übergeben
- FHEM-MQTT-Device einrichten
- mit Notify auf das Reading: Switch entsprechend reagieren

Das Ganze kostet keine €5,-, OK man benötigt noch ein Netzteil und ein Gehäuse, aber das wird sich  in der Kiste finden.
In der Firmware ESP Easy kann eine feste IP problemlos eingestellt werden.

Gruß WR

Wäre auch das umgekehrte möglich? Also das Versenden von IR-Signalen mit nur der IR-Diode und dem ESP-8266?

Johannes
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

wrmueller

Hallo viegener,

mir persönlich reicht die eine Richtung (IR nach FHEM), beim senden müsste man ja noch das IR-Signal entsprechend codieren.
Seither hatte ich einen Raspi mit IR-Diode und IR-Empfänger im Einsatz. Nach dieser Anleitung konfiguriert:
http://www.spech.de/blog/article/universalfernbedienungrpi

Gruß WR

viegener

Nein der Raspberry als IR-Sender war für mich leider keine Lösung, weil die Position des Raspberries nicht dazu passt. Ich habe ja meinen miniIrCul in Betrieb und damit Senden und empfangen über WLAN. Es wäre nur interessant gewesen auch noch den Arduino einzusparen...

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

r_knipp

Funktionieren sollte es doch aber über MQTT als Sender, oder?
Man bekommt vielleicht nicht alle möglichen Protokolle in den ESP, für meine Zwecke würde es aber völlig reichen,
wenn ich darüber die paar Tastencodes senden könnte, die ich in FHEM nutzen möchte.

Hier hat jemand die Arduino Library IRRemote für den ESP angepasst.
https://github.com/markszabo/IRremoteESP8266/

Diese Library ist auch in den ESPEasy Sourcen mit drin.
Ich will mich damit auch mal auseinandersetzen, da ich noch einen Yamaha Receiver habe, der nicht netzwerkfähig ist und meine VU+ Uno kein WOL kann.
Ich bin aber absolut kein Profi was das angeht und weiß noch nicht, ob ich das hinbekomme.

Hier ist beschrieben, wie man mit einem Arduino die IR Codes decodieren kann.
https://alexbloggt.com/infrarot-geraete-vernetzen/

Sollte es dann nicht funktionieren, die zuvor aus der Fernbedienung ausgelesen Codes in FHEM zu hinterlegen und bei Bedarf über MQTT an den ESP zu schicken?

viegener

Zitat von: r_knipp am 13 April 2016, 10:37:56
Funktionieren sollte es doch aber über MQTT als Sender, oder?
Man bekommt vielleicht nicht alle möglichen Protokolle in den ESP, für meine Zwecke würde es aber völlig reichen,
wenn ich darüber die paar Tastencodes senden könnte, die ich in FHEM nutzen möchte.

Hier hat jemand die Arduino Library IRRemote für den ESP angepasst.
https://github.com/markszabo/IRremoteESP8266/

Diese Library ist auch in den ESPEasy Sourcen mit drin.
Ich will mich damit auch mal auseinandersetzen, da ich noch einen Yamaha Receiver habe, der nicht netzwerkfähig ist und meine VU+ Uno kein WOL kann.
Ich bin aber absolut kein Profi was das angeht und weiß noch nicht, ob ich das hinbekomme.

Hier ist beschrieben, wie man mit einem Arduino die IR Codes decodieren kann.
https://alexbloggt.com/infrarot-geraete-vernetzen/

Sollte es dann nicht funktionieren, die zuvor aus der Fernbedienung ausgelesen Codes in FHEM zu hinterlegen und bei Bedarf über MQTT an den ESP zu schicken?
Ich habe die neue Version der Library bisher nicht ausprobiert, ursprünglich gab es Problem mit dem Empfang/Senden, da der ESP8266 im Timing nicht so verhersagbar ist wie ein Arduino und bei meinen Versuchen bin ich bereits beim Senden mit der Original-Library auf Probleme gestossen. Vielleicht ist jetzt die richtige Zeit einen neuen Versuch zu starten...

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

rippi46

Hallo viegener,

Habe deine Schaltung nachgebaut und die Hex-Datei geflascht und alles so angelegt wie es oben beschrieben ist.
Leider steht bei mir bei dem Internal "irReceive" immer NoAnswer beim anlernen.
Am TSOP kommt auch etwas an.

-muss ich einen bestimmten TSOP verwenden (habe TSOP1738 bzw. CHQ0038 verwendet)?
-werden die Buttons automatisch angelegt?
-funktionieren nur bestimmte Fernbedienungen?

Mein CUL steht nur auf opened und mein CUL_IR steht auf initialized.

meine Listings
Internals:
   CMDS
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:CUL_RFR::CUL_TCM97001:CUL_REDIRECT:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02L1LO-if00-port0@38400 3210
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02L1LO-if00-port0@38400
   FHTID      3210
   NAME       miniIrCUL
   NR         170
   PARTIAL
   STATE      opened
   TYPE       CUL
   initString X21
   Matchlist:
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04....(1|5|9).a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
     J:SOMFY    ^Y[r|t|s]:?[A-F0-9]+
     K:CUL_TCM97001 ^s[A-F0-9]+
     L:CUL_REDIRECT ^o+
   Readings:
     2016-06-03 11:59:04   cmds            No answer
     2016-06-03 11:59:09   credit10ms      No answer
     2016-06-03 12:16:16   raw             No answer
     2016-06-03 12:24:37   state           opened
     2016-06-03 11:59:17   version         No answer
Attributes:
   room       Büro


Internals:
   DEF        miniIrCUL
   IODev      miniIrCUL
   NAME       myir
   NR         171
   STATE      Initialized
   TYPE       CUL_IR
   irReceive  NoAnswer
   Helper:
     Dblog:
       State:
         Logdb:
           TIME       1464949386.02903
           VALUE      irLearnForSec 200
Attributes:
   learncount 1
   learnprefix A
   room       Büro


Gruß rippi

P.S. Habe eine funktionierende Lösung mit einem RASPI über LAN. Wollte die hier mal ausprobieren.
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

viegener

Das CUL-Listing zeigt einen CUL, der per USB angeschlossen wäre
ZitatDEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02L1LO-if00-port0@38400 3210
keinen per WLAN über ESP8266 angebundenen CUL?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

rippi46

Hallo viegener

Hatte gerade keinen zur Hand und habe ihn über USB angeschlossen.

Muß der CUL über Wlan angebunden sein?

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

viegener

Nein, allerdings habe ich nur mit einem Promini 3v/8Mhz getestet, hast Du den arduino auch im Einsatz?

Es geht halt darum, dass momentan Dein CUL nicht im richtigen Zustand ist (ich nehme an wenn Du uptime etc) machst kommt da no answer zurück?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können