Autor Thema: MiniIRCul - Infrarot Sender/Empfänger als CUL über WLAN (ESP8266)  (Gelesen 32945 mal)

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
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.





« Letzte Änderung: 21 März 2017, 16:51:19 von viegener »
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können
Gefällt mir Gefällt mir x 4 Liste anzeigen

Offline AndiL

  • Jr. Member
  • **
  • Beiträge: 90
Antw:MiniIRCul - Infrarot Sender/Empfänger als CUL über WLAN (ESP8266)
« Antwort #1 am: 21 Februar 2016, 20:54:02 »
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....

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
Antw:MiniIRCul - Infrarot Sender/Empfänger als CUL über WLAN (ESP8266)
« Antwort #2 am: 21 Februar 2016, 20:57:50 »
@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

Offline AndiL

  • Jr. Member
  • **
  • Beiträge: 90
Antw:MiniIRCul - Infrarot Sender/Empfänger als CUL über WLAN (ESP8266)
« Antwort #3 am: 21 Februar 2016, 21:04:52 »
Ich danke fürs Hochladen.
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....

Offline sbiermann

  • Full Member
  • ***
  • Beiträge: 447
Teile in China bestellt... Lieferzeit bis zu 60 Tage. Dann mal schauen ob ich den T-Entertain Receiver damit ansteuern kann.

Offline wrmueller

  • New Member
  • *
  • Beiträge: 3
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

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
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

Offline wrmueller

  • New Member
  • *
  • Beiträge: 3
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

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
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

Offline r_knipp

  • Full Member
  • ***
  • Beiträge: 120
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?
« Letzte Änderung: 13 April 2016, 11:51:06 von r_knipp »

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
Antw:MiniIRCul - Infrarot Sender/Empfänger als CUL über WLAN (ESP8266)
« Antwort #10 am: 13 April 2016, 17:01:41 »
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

Offline rippi46

  • Sr. Member
  • ****
  • Beiträge: 515
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 16.04, Max Komponenten, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino
MySensor-GW+Sensoren, RGBWW, Xiaomi,Nextion,LEDMatrix,Alexa,Dashbutton

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
Das CUL-Listing zeigt einen CUL, der per USB angeschlossen wäre
Zitat
DEF        /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

Offline rippi46

  • Sr. Member
  • ****
  • Beiträge: 515
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 16.04, Max Komponenten, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino
MySensor-GW+Sensoren, RGBWW, Xiaomi,Nextion,LEDMatrix,Alexa,Dashbutton

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4189
    • Meine Seite im fhemwiki
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