HOWTO - Infrarottransceiver für RaspPi im Selbstbau OHNE Löten

Begonnen von Marcy, 15 Mai 2014, 22:21:15

Vorheriges Thema - Nächstes Thema

MaxAut

Hallo! Ich möchte mich mal in diese Diskussion mit reinhängen. Mein Vorhaben ist es meine Klima-Innengeräte der Marke Gree  (5 Stück) per Infrarot steuern zu können. Ich bin mittlerweile so weit, dass das grundsätzlich mit dem RPI, LIRC und einer ähnlichen Variante der hier beschriebenen Infrarot-Sende-Hardware funktioniert. Da LIRC das Protokoll meines Klimagerätes leider nicht versteht nehme ich einfach die Befehle im RAW Format auf und gebe sie dann wieder. Ich tue mir da einfach, da bei mir der Lüfter ohnehin immer auf "Auto" steht, und ich die Lamellen, einmal eingestellt, auch nicht verändere. Meine Steuerung reduziert sich also auf ein, aus und 5 verschiedene Temperaturwerte - also eine sehr überschaubare Anzahl von Befehlen.

Nun funktioniert meine Steuerung zwar wunderbar, hat aber den Schönheitsfehler, dass ich entweder zu jedem Klima-Innenteil einen RPI brauche, oder aber von einem zentralen RPI aus zu jedem Innenteil ein Kabel hinlege. Beides gefällt mir nicht. Wonach ich suche, ist eine batteriebetriebene günstige Funklösung. Der RPI verfügt ohnehin bereits über entsprechende Konnektivität (Busware 868, EnOcean, HomeMatic LAN CFG Adapter), bzw. wäre ich auch bereit zusätzlich noch ein 433Mhz Modul anzuschaffen, falls notwendig. Woran es bisher scheitert ist das kleine Empfangsmodul. Was sollte es können:

- Batteriebetrieben, weil ich nicht zu jeder Klima noch ein Netzteil legen möchte
- Empfang der zu senden Kommandos (im RAW Format) über die Funkschnittstelle
- Senden der Infrarotkommandos im RAW Format
- Rückkanal auf der Funkschnittstelle

Damit man sich etwas unter so einem Kommando im Raw Format vorstellen kann - das sieht in einer LIRC Konfigurationsdatei für ein einzelnes Kommando z.B. so aus:

     8962     4420      678     1609      677      517
      678      516      678     1608      682      513
      678      516      679      516      678      521
      674      521      678     1603      679     1607
      678      516      679      516      679      516
      683      512      678      521      674      521
      674      521      678      517      678      517
      678      516      679     1603      678     1608
      678      516      679      520      674      521
      678      517      678      517      678     1607
      675      520      679     1603      678      517
      681      518      674     1607      679      520
      674    19826      682      516      679     1603
      678      521      678      517      678      516
      679      516      678      521      674      516
      678      521      678      517      678      516
      678      517      678      516      679      516
      678      517      679      520      674      521
      678      516      679      516      679      516
      678      516      679      516      678      517
      678      521      678      516      679      516
      678      516      679      516      679     1607
      679      516      678      517      678     1603
      683



Meine Frage nun an die Runde: Kennt jemand ein Funk-IR-Transmitter Modul das meinen Anforderungen entspricht? Oder hat ein findiger Selbermacher eine Idee für eine entsprechende Schaltung?

Liebe Grüße,
Max

sasquuatch

was mir auf anhieb einfällt sind ir-transceiver/transmitter mit wifi, aber die dinger auf die ich hier mal aufmerksam gemacht wurde, sind nicht gerade günstig
http://www.irtrans.de/de/shop/lan.php

vielleicht gibt es inzwischen auch was günstigeres, früher habe nichts gefunden, aber wenn du mal googgelst findest du vieleicht sowas wie das hier, weis aber nicht ob das wirklich geht, habe es mir nicht durch gelesen. eventuell gibt es was aus china.....

amithlon

#77
Hallo,

ich bin hier nur durch Zufall drüber gestolpert, habe aber eine Frage:
die GPIO des Raspi keine Stromquellen, es wird hier wohl einfach darauf vertraut, daß sich der I/O den beinahe-Kurzschluß durch die BE-Strecke des Transistors gefallen läßt.
Ich sehe solche Mißhandlungen oft im Netz, auch bei den AVR auf den Arduinos.

Bei den zulässigen 8mA der GPIO als Ausgang wäre hier ein Reihenwiderstand zur Basis von 330 Ohm Minimum eigentlich nötig. Der Widerstand Basis-GND ist eigentlich überflüssig. Im Gegensatz zu einem MosFET stört sich ein Transistor nicht an einer offenen Basis wenn der Pi bootet, der sperrt dann einfach.

Man muß Bauteile nicht außerhalb der Spezifikation betreiben, auch wenn sie es sich oft lange gefallen lassen.

PS: bei mir läuft als IR-Transmitter-WLAN-Bridge ein ESP8266, Bauteilkosten ca. 6 Euro. IRreceive habe ich da im Moment nicht drauf, müßte aber auch gehen.
An FHEM mit MQTT angebunden, kann man aber auch anders lösen.

Falls jemand sehr empfindliche 38kHz Empänger mit relativ geringer Stromaufnahme sucht, die bereits ab 2,7V gehen:
http://www.pollin.de/shop/dt/MzE5ODc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Optoelektronik/Infrarot_Empfaenger_SHARP_GP1UD281YK_38_kHz_10_Stueck.html
Die TSOP-Serie kann da nicht mithalten.

Gruß aus Berlin
Michael


Dersch

Eine fabelhafte Anleitung!!! Richtig gute Arbeit!

Da ich nun bald auch einen PI als IR Sender unter FHEM umsetzen muss werde ich die fleissig umsetzen. Allerdings gelötet da ich das recht gut kann ;) Ausserdem brauche ich einen kleinen Bauraum. Aber die Anbindung und Einrichtung ist Gold wert für mich!

Grüße
Dirk

Pati_Alpha

Marcy: Ohne deine Zusammenstellung von Modulen hätte ich den LIRC Client wohl in FHEM nie ans Laufen gekriegt :)
Vielen vielen Dank!!

Mad-at

Hallo! Tolle Anleitung, vielen Dank! Ich versuche eine Heimsteuerung mit fhem und dem Raspi einzurichten und hätte gerne das das Licht automatisch dimmt wenn ich den Fernseher einschalte...  ::)
Leider scheitere ich trotz Befolgen der Anleitung schon direkt nach Insallation von Lirc...

pi@asciirasp:~ $ sudo mode2 -d /dev/lirc0
mode2: could not open /dev/lirc0
mode2: default_init(): Device or resource busy


Ich stehe leider auf dem Schlauch. Auf raspberry.org habe ich von dem Problem gelesen, da hing es mit den Kernel Modulen zusammen, aber das soll gefixt worden sein, und mein Raspi ist der Anleitung entsprechend auf dem neuesten Stand. Ich verwende "Raspbian Jessie Lite" Hat jemand einen Tip für mich?

Wernieman

seufz: die "übliche" Frage
ls -lha /dev/lirc0
# bzw.:
ls -lha /dev/lirc*

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Mad-at

Vielen Dank für die Hilfe - tut mir leid, aber ich weiß nicht wie mit mir das weiterhilft? Das habe ich schon gemacht, lirc0 ist der richtige port. Und wenn ich "sudo mode2 -d /dev/lirc0" eingebe sollte ich sowohl Lese- als auch Schreibzugriff haben... Oder würde ich mir etwas anderes wünschen?

pi@asciirasp:~ $ ls -lha /dev/lirc*
crw-rw---- 1 root video 245, 0 Oct 31 16:14 /dev/lirc0

Wernieman

Sorry, das "seufz" war nicht auf Dich, sondern auf "zu häufig Fehler mit zuwenig Infos" zurückzuführen ...

Du hast einen Serielles lirc-Device angeschlossen. Läuft denn auch der benötigte Treiber?

Habe jetzt nicht "die Anleitung" im Kopf, kann Dir also auch nicht sagen, welcher laufen muß, aber nachsehen kannst Du mit
lsmod
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Mad-at

#84
Alles gut! Danke für Deine Unterstützung! Sorry dass ich da zu wenig Info gegeben habe, ich muss gestehen, es fällt mir nicht ganz leicht zu entscheiden was wichtig sein könnte, weil ich mich ja auch schon weit reingedacht habe, und viele Sachen gecheckt habe. Also von Vorne: Ich habe faulerweise das Sunfounder Modul gekauft und an GND, 5V und GPIO 18 angeklemmt. Die Kontrollampe vom Empfänger leuchtet und die Empfangsbestätigung quittiert IR Signale mit Blinken.

In /boot/config.txt steht
dtoverlay=lirc-rpi,gpio_in_pin=18

In /etc/modules steht
lirc_dev

Die /etc/lirc/hardware.conf enthält
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"


In Konsequenz ergibt "lsmod"

pi@asciirasp:/opt/fhem/certs $ lsmod
Module                  Size  Used by
bnep                   10340  2
hci_uart               17943  1
btbcm                   5929  1 hci_uart
bluetooth             326105  22 bnep,btbcm,hci_uart
brcmfmac              186339  0
brcmutil                5661  1 brcmfmac
cfg80211              427855  1 brcmfmac
rfkill                 16037  4 cfg80211,bluetooth
snd_bcm2835            20447  0
snd_pcm                75762  1 snd_bcm2835
snd_timer              19288  1 snd_pcm
snd                    51908  3 snd_bcm2835,snd_timer,snd_pcm
bcm2835_gpiomem         3040  0
bcm2835_wdt             3225  0
lirc_rpi                6478  0
uio_pdrv_genirq         3164  0
uio                     8000  1 uio_pdrv_genirq
lirc_dev                8310  1 lirc_rpi
rc_core                16468  1 lirc_dev
ipv6                  347530  48


Also sollte der Treiber doch geladen sein, oder?

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Mad-at

Das wirft folgendes aus:


pi@asciirasp:~ $ dmesg | grep lirc
[   13.883722] lirc_dev: IR Remote Control driver registered, major 245
[   14.549431] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[   15.509733] lirc_rpi: auto-detected active low receiver on GPIO pin 18
[   15.510038] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[   15.510049] lirc_rpi: driver registered!

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html


Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html