Skip to content

Commit

Permalink
added Python Control Script
Browse files Browse the repository at this point in the history
  • Loading branch information
petterpet committed Apr 7, 2021
1 parent dfa503f commit 4439a87
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Optimal: Zusätzlich kann ein IR-Receiver (an GPIO23) angeschlossen werden, um n
#### Schaltplan
![Schaltplan](schematics.png)

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

#### LIRC installieren
Expand Down Expand Up @@ -56,3 +56,11 @@ Diese Schritte sind nötig:
- 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.

## Python3 CLI
`python3 rgb-led-ir-control.py`

Das [Python-Programm](rgb-led-ir-control.py) ist nahezu selbsterklärend. Zunächst werden alle bekannten IR-Codes nummeriert ausgegeben. Anschließend kann der Benutzer fortlaufend die Nummer des Codes eingeben, der gesendet werden soll. Wird eine "0" eingeben, beendet sich das Programm.

Intern führt das Programm den _irsend_-Befehl aus. \
Somit kann es beliebig für weitere Fernbedienungen erweitert werden.
31 changes: 31 additions & 0 deletions rgb-led-ir-control.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Voraussetzung: LIRC installiert und FB-Config erstellt
# Wenn eine andere FB-Config verwendet wird muss die Code-Liste und der FB-Name angepasst werden.

import os

baseCommand = "irsend SEND_ONCE rgbled "
codeList = ["ON","OFF","WHITE","RED","GREEN","BLUE","ORANGE","YELLOW_DARK","YELLOW_LIME","YELLOW_GREENISH","TURQUOISE","TURQUOISE_LIGHT","BLUE_LIGHT","BLUE_PASTEL","BLUE_PURPLE","PURPLE_DARK","PURPLE_PINKISH","PINK"]
codeCount = len(codeList)

os.system("sudo systemctl start lircd")

# Ausgabe der bekannten Codes
print("+++ IR-Sender +++ \n")
print("Bekannte Codes:")
for i in range(codeCount):
print(str(i+1) + ": " + codeList[i])
print("\n")

# Per Benutzereingabe senden
print("Bitte die Nummer des Codes eingeben, der gesendet werden soll.")
print("\"0\" zum Beenden eingeben \n")

while True:
codeNummer = int(input("Nummer des Codes, der gesendet werden soll: "))

if (codeNummer == 0):
break

command = baseCommand + codeList[codeNummer-1]
os.system(command)
print()

0 comments on commit 4439a87

Please sign in to comment.