Wenn ich auf dem Rückweg von irgendwo nach Hause bin, möchte ich in der Lage sein, meine Klimaanlage einige Minuten vor meiner Ankunft in meinem Apartment einzuschalten, wahrscheinlich indem ich mit meinem Telefon eine Verbindung zu meinem Raspberry Pi auf meinem Schreibtisch herstelle, der dann in Betrieb ist Schalten Sie, steuern Sie die AC. Der Wechselstrom kann mit einer Infrarot-Fernbedienung gesteuert werden. Ich möchte, dass der Raspberry Pi das benötigte Signal abgibt.
Was muss ich für den Raspberry Pi kaufen, damit er das benötigte Signal sendet? Außerdem benötige ich etwas, mit dem ich das von der Originalfernbedienung gesendete Signal abtasten kann, damit ich dem Raspberry Pi mitteilen kann, welches Signal gesendet werden soll. Wie mache ich das?
Bitte beachten Sie, dass die einzige Programmiersprache, die ich verwenden kann, Python ist. Wenn etwas Programmierung in C oder so erfordert, ist es für mich keine gute Lösung.
quelle
Es gibt jemanden, der bereits einen LIRC-Kerneltreiber für den Raspberry Pi geschrieben hat. Diesen finden Sie hier: LIRC Raspberry Pi driver . Auf dieser Seite finden Sie auch die erforderlichen Hardware- und Verbindungsschemata.
Ich habe noch nicht selbst mit LIRC experimentiert, aber es gibt viele Anwendungen, die LIRC verwenden. Ich denke, sie funktionieren jetzt alle auf dem Raspberry Pi.
Wenn Sie möchten / müssen, kann ich etwas tiefer in dieses Thema eintauchen und zusätzliche Informationen einbringen.
Für den Python-Teil gibt es ein Python-Modul für die Interaktion mit LIRC namens pyLirc und eine neuere, gepflegte Version namens pyLirc2
quelle
Ich habe festgestellt, dass LIRC eine relativ einfache Methode zum Senden von IR-Nachrichten ist, wollte aber unbedingt LIRC von Java aus steuern können. Ich programmiere gerne in Java und habe kein einfaches Tutorial für Python gefunden, um mich davon zu überzeugen, statt mit Java damit zu arbeiten. Nachdem ich mehrere Stunden lang versucht hatte, mit Java IR-Codes vom pi aus zu senden, stellte ich fest, dass die nächste Lösung relativ einfach ist: Erstellen Sie ein Bash-Skript, das die
irsend
Nachricht enthält , und weisen Sie Java an, sie auszuführen.Beispiel:
toggleLight.sh
RunBash.java
Du nimmst an zu bekommen
exit value: 0
. Wenn Ihr Exit-Wert 127 ist, bedeutet dies, dass das Bash-Skript von Java nicht gefunden wurde.Noch ein paar Anmerkungen:
Nützliche Ressourcen:
irsend
hier . Dadurch wird die Auflistung Ihrer Fernbedienungen viel übersichtlicher.Hoffe es hilft, Tom
quelle
Ich habe LIRC immer als unangenehmeres Projekt empfunden, als es notwendig erscheint, ähnlich wie lm-Sensoren.
Also würde ich das vielleicht etwas umständlicher betrachten: Wenn Sie einen Mikrocontroller (oder sogar eine tatsächliche Fernbedienung) dazu bringen könnten, den richtigen Pulszug zu senden, wenn er ausgelöst wird, könnten Sie vielleicht einen GPIO-Pin (oder eine UART-Nachricht) verwenden das RPi, um den Knopf mehr oder weniger zu drücken und das Senden auszulösen.
Es ist relativ einfach zu bedienen, wenn Sie die richtige Senderlösung finden.
Lassen Sie RPi sich Sorgen machen, dass ein Server und ein Hardware- (Firmware-) Modul sich um die IR-Aktion kümmern. Vielleicht können Sie einen ähnlichen Trick verwenden, um den Prozessstatus zu überwachen.
quelle