Skip to content

Commit

Permalink
ReadMe: install LIRC
Browse files Browse the repository at this point in the history
  • Loading branch information
petterpet committed Apr 7, 2021
1 parent 30d01a5 commit dfa503f
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 2 deletions.
60 changes: 58 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,58 @@
# RGB-LED-IR-Control-RPi
Control RGB-LED-Stripes with a Raspberry Pi using LIRC and Python
# RGB-LED IR-Steuerung
RGB-LED-Stripes per Raspberry Pi mit LIRC und Python steuern.

## Hardware Vorbereitung
An GPIO24 wird eine IR-LED angeschlossen. Andere Ports sollten auch funktionieren, jedoch muss die Config später angepasst werden. \
Optimal: Mit einem Transistor lässt sich die Reichweite erhöhen. \
Optimal: Zusätzlich kann ein IR-Receiver (an GPIO23) angeschlossen werden, um neue IR-Signale anzulernen.

#### Schaltplan
![Schaltplan](schematics.png)

## Software
- Paketquellen aktualisieren: `sudo apt update`

#### LIRC installieren
Folgende Anleitungen können hilfreich sein:
- [https://indibit.de/raspberry-pi-mit-lirc-infrarot-befehle-senden-irsend/](https://indibit.de/raspberry-pi-mit-lirc-infrarot-befehle-senden-irsend/)
- [https://gist.github.com/billpatrianakos/cb72e984d4730043fe79cbe5fc8f7941](https://gist.github.com/billpatrianakos/cb72e984d4730043fe79cbe5fc8f7941)

Diese Schritte sind nötig:
- LIRC installieren: `sudo apt install lirc`

- Boot-Config anpassen: `sudo nano /boot/config.txt`

Die beiden Zeilen werden einkommentiert:
```
dtoverlay=gpio-ir,gpio_pin=23
dtoverlay=gpio-ir-tx,gpio_pin=24
```
Gegenfalls hier die Ports anpassen.

- LIRC-Config anpassen: `sudo nano /etc/lirc/lirc_options.conf`

```
driver = default
device = /dev/lirc0
```
*/dev/lirc0* ist der Sender. \
*/dev/lirc1* ist der Empfänger.

- `sudo mv /etc/lirc/lircd.conf.d/devinput.lircd.conf /etc/lirc/lircd.conf.d/devinput.lircd.conf.dist`

- LIRC-FB-Config kopieren: Die Datei [rgbled.lircd.conf](rgbled.lircd.conf) wird in den Ordner _/etc/lirc/lircd.conf.d/_ kopiert. Gefunden habe ich die Datei [hier](https://raw.githubusercontent.com/bitboxx/raspberry-pi-lirc-rgbled-remote-emulator/master/etc/lirc/nec-rgb-led.conf).

- Raspberry Pi neustarten: `sudo reboot`

#### Optimal: IR-Empfänger testen (wenn angeschlossen)
- LIRC-Service stoppen: `sudo systemctl stop lircd`
- `mode2 -d /dev/lirc1`
- Wenn nun Buttons auf einer IR-Fernbedienung in der Nähe gedrückt werden sollte eine Ausgabe erscheinen.
- Das Anlernen neuer Fernbedienungen mit `irrecord` ist in den beiden verlinkten Anleitungen beschrieben.
- LIRC-Service wieder starten: `sudo systemctl start lircd`

#### IR-Sender testen
- LIRC-Service starten: `sudo systemctl start lircd`
- Gespeicherte Buttons ausgeben: `irsend LIST rgbled ""`
- Einzelne Codes senden: `irsend SEND_ONCE rgbled <Button-Name>` also z.B. `irsend SEND_ONCE rgbled ON`
- Sollte das nicht funktionieren ist die Fernbedienungsconfig nicht geeignet, sodass die Fernbedienung manuell angelernt werden muss.
45 changes: 45 additions & 0 deletions rgbled.lircd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# RGB LED Remote (NEC protocol) LIRC configuration file

begin remote

name RGBLED
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 8997 4495
one 553 1689
zero 553 568
ptrail 550
repeat 8999 2253
pre_data_bits 16
pre_data 0xFF
gap 107669
toggle_bit_mask 0x0

begin codes
ON 0xF7C03F
OFF 0xF740BF

WHITE 0xF7E01F
RED 0xF720DF
GREEN 0xF7A05F
BLUE 0xF7609F

ORANGE 0xF710EF
YELLOW_DARK 0xF730CF
YELLOW_LIME 0xF708F7
YELLOW_GREENISH 0xF728D7

TURQUOISE 0xF7906F
TURQUOISE_LIGHT 0xF7B04F
BLUE_LIGHT 0xF78877
BLUE_PASTEL 0xF7A857

BLUE_PURPLE 0xF750AF
PURPLE_DARK 0xF7708F
PURPLE_PINKISH 0xF748B7
PINK 0xF76897
end codes

end remote
Binary file added schematics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit dfa503f

Please sign in to comment.