LIRC'nin IR mesajları göndermenin nispeten kolay bir yolu olduğunu gördüm, ancak gerçekten LIRC'i java'dan kontrol etmek istedim. Java'da programlama yapmayı seviyorum ve python'un beni java yerine onunla çalışmamıza ikna etmesi için basit bir öğretici bulamadım. Java kullanarak pi'den IR kodları göndermeye çalıştıktan birkaç saat sonra bir sonraki çözümü nispeten basit buldum: irsend
Mesajı içeren bir bash betiği yapın ve java'yı çalıştırmasını söyleyin.
Misal:
toggleLight.sh
#!/bin/bash
irsend SEND_ONCE HyundaiFan lightOnOff
RunBash.java
public class RunBash {
public static final void main (String args[]) {
String cmd = "../toggleLight.sh";
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(new String[] {"/bin/bash", "-c", cmd});
int exitValue = process.waitFor();
System.out.println("exit value: " + exitValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Almalısın exit value: 0
. Çıkış değeriniz 127 ise, bash betiğinin java tarafından bulunmadığı anlamına gelir.
Bazı notlar:
- LIRC için jlirc ve lircj - java sarmalayıcıları denedim ama onları doğru bir şekilde yapılandıramadım -> çalışmıyor.
- Bu çözümün tek dezavantajı, IR mesajlarını dinleyememenizdir. Birisi IR mesajlarını dinlemek için benzer yöntemi kullanma konusunda herhangi bir fikriniz varsa bilmek istiyorum.
Yararlı kaynaklar:
- Pi için LIRC'yi ayarlamak için Alex Bain talimatlarını takip edin. Onlar gerçekten iyi!
irsend
Burada daha fazla bilgi bulabilirsiniz . Uzaktan kumandalarınızı listelemeyi çok daha net hale getirir.
- Java'dan bash betikleri çalıştırmak için daha fazla bilgiyi burada bulabilirsiniz.
Umarım yardımcı olur, Tom