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

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

Vorheriges Thema - Nächstes Thema

Mad-at

Vielen Dank!!
Schaut so aus als ob er läuft:

pi@asciirasp:~ $ ps aux | grep lirc
pi         976  0.0  0.2   4276  1908 pts/0    S+   22:25   0:00 grep --color=auto lirc

Oder?

Aber wenn ich den Prozess kille, kommt er sofort wieder, auch wenn lircd service gestoppt ist...

Mad-at

Ich packs nicht!!
Mir ist aufgefallen dass der Themenersteller in dem von Dir verlinkten Beitrag genauso wie ich GPIO1 / GPIO_pin_18 verwendet. Also habe ich jetzt mal auf GPIO3 / GPIO_pin_22 gewechsel. Und siehe da: es funktioniert!!!  :o
Aus irgendeinem Grund scheint LIRC nicht auf GPIO1 zu funktionieren... Ich geh mich jetzt aufhängen....  ::) :-X ;)

Danke für Deine Hilfe!!!

Wernieman

Nur mal als Info:
Der von Dir angezeigte Prozess war nicht der Kirche Prozess, sondern der grep danach ... Ließ Dir die Ausgabe nochmals durch .......

Schön das es jetzt funktioniert!
- 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

Ah, stimmt, sorry  :-[ Habe ich mich mal wieder als totaler Linux Depp geoutet   ;)

JonasE

Hallo zusammen,

ich habe das nach Anleitung versucht, jedoch musste ich feststellen, dass es leider nicht funktioniert. Es gibt anscheinend Probleme mit Raspbian Stretch und lirc. Ich bin im Thema lirc noch nicht so tief, dass ich erkennen könnte woran es liegt. Eventuell hat es auch mit der lirc Version 0.9.4 zu tun.

Als erstes habe ich das hier gefunden:
https://www.raspberrypi.org/forums/viewtopic.php?t=192891

Der Service läuft nicht mehr über init.d sonder über systemd. Lirc kann also folgendermaßen gestoppt werden:
sudo systemctl stop lircd.socket
sudo systemctl stop lircd.service

Ich konnte damit zumindest Daten Empfangen, aber sobald ich einen Command senden möchte kommt die Meldung "hardware does not support sending".
Hat eventuell schon jemand Erfahrungen mit Raspbian Stretch und lirc gemacht?


Wernieman

lirc empfang funktioniert, lirc senden nicht? Deine Hardware unterstützt senden?

Sorry aber mit senden habe ich mich nie befasst ...
- 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

JonasE

Ja genau, das Senden funktioniert nicht. Ich habe die Hardware aufgebaut wie in der Anleitung beschrieben (sollte auch soweit alles richtig sein, das hab ich mehrmals überprüft).
Einfach den NPN Transistor mit Pull Down Widerstand und 2 IR LEDs.

Ich glaube es hat sich etwas im Lirc oder im Kernel geändert...


Wernieman

Da ich dise Hardware nicht habe, kann ich es nicht prüfen.

Weißt Du, welcher Linux-Treiber dafür verantwortlich ist? Ich glaube eher, das der nicht weiß, das Deine Hardware auch senden kann ....
- 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

JonasE

Welcher Treiber genau, dass weiß ich nicht. In der hardware.conf ist folgendes definiert:

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false

# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false

# Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""


Ich habe jetzt jedoch noch folgendes im Raspbian Forum gefunden und werde das heute Abend überprüfen

Zitat## 0.9.4 disruptive update

The configuration is so much changed that updating from 0.9.0 requires
manual intervention. This could be done using the update scripts or as
a completely manual process. Many users will always need some manual steps.

Mit dem Skript sudo /usr/share/lirc/lirc-old2new.sh soll man also angeblich die Konfiguration konvertieren können.


JonasE


Schlimbo

#100
Hallo zusammen,
habe gerade mein Raspberry mit Raspbian Stretch neu aufgesetzt, allerdings bekomme ich jetzt das Lirc Modul nicht mehr zum laufen.
Unter Jessie lief es noch einwandfrei.
Habe die config files aus meiner Jessie Installation übernommen und dann das Scrip "/usr/share/lirc/lirc-old2new" ausgeführt.
Im Terminal schaut alles gut aus, starte ich hier "irw" bekomme ich beim Tastendruck der Fernbedienung eine Ausgabe:
pi@FHEM2:~ $ irw
0000000000000453 00 KEY_6 Velleman_K8051
0000000000000453 01 KEY_6 Velleman_K8051

Auch das senden von IR Befehlen aus FHEM mit "irsend" funktioniert
{system("irsend SEND_ONCE Westinghouse $EVENT")}
Allerdings stürzt FHEM ab, sobald ich das Lirc Modul aktiviere:
define Lirc LIRC /opt/fhem/lircrc
Die lircrc Datei habe ich auch von meiner funktionierenden Jessie Installation kopiert.
Auch Lirc::Client habe ich über cpan installiert.
Im Log erscheint folgende Meldung:
2017.10.13 13:07:27.155 3: LIRC opening Lirc device /opt/fhem/lircrc
couldn't connect to Lirc::Client=HASH(0x2d989d0)->dev: No such file or directory at ./FHEM/00_LIRC.pm line 46.

Kann hier jemand helfen?
Hat schon jemand das Modul mit einer "frischen" Stretch Installation am laufen?


Edit 20.10.2017:
Falls noch mal jemand vor diesem Problem stehen sollte:
Habe es mit dem FHEM-LIRC Modul leider nicht mehr hinbekommen nutze jetzt aber irexec so wie es hier beschrieben ist:
https://forum.fhem.de/index.php/topic,70475.msg620850.html#msg620850
Damit kann ich jetzt FHEM wieder über IR steuern :)

Meine lirc_options.conf:
# These are the default options to lircd, if installed as
# /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
# manpages for info on the different options.
#
# Some tools including mode2 and irw uses values such as
# driver, device, plugindir and loglevel as fallback values
# in not defined elsewhere.

[lircd]
nodaemon        = False
driver          = default
device          = /dev/lirc0
output          = /var/run/lirc/lircd
pidfile         = /var/run/lirc/lircd.pid
plugindir       = /usr/lib/arm-linux-gnueabihf/lirc/plugins
permission      = 666
allow-simulate  = No
repeat-max      = 600
#effective-user =
#listen         = [address:]port
#connect        = host[:port]
#loglevel       = 6
#uinput         = ...
#release        = ...
#logfile        = ...

[lircmd]
uinput          = False
nodaemon        = False

[modinit]
code            = modprobe lirc_rpi
# code = /usr/sbin/modprobe lirc_serial
# code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
# code2 = ...


# [lircd-uinput]
# release-timeout = 200


Hatte anfänglich noch das Problem, dass ein Tastendruck auf der IR-Fernbedienung immer einen Tastatur-Input simuliert hatte und diese Taste nicht mehr los gelassen hat (so als wird eine Taste durchgehend gehalten).
Auch das Deaktivieren von "uinput" in der lirc_options.conf half hier nicht weiter.
In Stretch wird der Service "lircd-uinput" anscheinend standardmäßig beim Systemstart mit gestartet.
Nach deaktivieren des Services /lib/systemd/system/lircd-uinput.service war der Spuk dann aber auch vorbei.

Die config von irexec kommt in Debian Stretch in die Date "/etc/lirc/irexec.lircrc":
begin
  prog = irexec
  remote = FHEM_IR
  button = KEY_PREVIOUS
  config = /home/irexec/schalte-fhem.sh Remote PREVIOUS
end
begin
  prog = irexec
  remote = FHEM_IR
  button = KEY_NEXT
  config = /home/irexec/schalte-fhem.sh Remote NEXT
end
....


Als Programm Parameter hat irexec "fhem" nicht akzeptiert, also habe ich hier einfach "irexec" angegeben:
prog = fhem -->  prog = irexec

Beste Grüße
Schlimbo



Wernieman

Komishcerweise habe ich bei bei irexec als Prog drinstehen .. obwohl der Zitierte Beitrag von mir ist ... komisch, denn irexec ist das richtige.
- 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

Hans Preuth

hallo! ich versuche gerade den Ir - Empfang in Fhem zu installieren und breche mir grausam dabei einen ab - vielleicht kann mich da jemand in die richige Richtung schupsen. Ich habe LIRC installiert und bekomme mit IRW auch die richtige Anzeige:

0000000000001166 00 key_fastforward /home/pi/lircd.conf

nur unter Fhem bekomme ich nicht ans laufen. Woher weiss ich in welchen Pfad ich die benötigten Dateien kopieren muss

  @INC:
    /home/pi/perl5/lib/perl5/5.20.2/arm-linux-gnueabihf-thread-multi-64int
    /home/pi/perl5/lib/perl5/5.20.2
    /home/pi/perl5/lib/perl5/arm-linux-gnueabihf-thread-multi-64int
    /home/pi/perl5/lib/perl5
    /etc/perl
    /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2
    /usr/local/share/perl/5.20.2
    /usr/lib/arm-linux-gnueabihf/perl5/5.20
    /usr/share/perl5
    /usr/lib/arm-linux-gnueabihf/perl/5.20
    /usr/share/perl/5.20
    /home/pi/perl5/lib/perl5/5.20.1
    /home/pi/perl5/lib/perl5/5.20.0
    /usr/local/lib/site_perl
Ich denke das ist mein Problem. Ohne Fhem (mit irexc) kann ich Relais und Funk- Aktoren schalten. Ich will nun nicht in jeden Pfad die Dataien kopieren.

Wernieman

Meine Empfehlung:

gehe über irexec und ein eigenes Script:

Dummy anlege (hier irc)
Per Script Dummy schalten, ala:
#!/bin/bash
Taste=$1

echo "set irc=$Taste | nc -w5 localhost:7072


in lirc für jede Taste das Script anlegen. Und nun in fhem die notify auswerten ... gibt bestimmt auch bessere Wege. Nur mit dem FHEM-Modul habe ICH es nicht sauber (und schnell) hinbekommen.
- 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

Hans Preuth

Ohh, vielen Dank für die super schnelle Antwort!
ImAugenblick überfordert mich die Antwort. Kannst Du wenn Du Zeit hast
da etwas genauer werden.