我发现LIRC是发送IR消息的相对简单的方法,但我确实希望能够从Java控制LIRC。我喜欢用Java编程,但是没有找到任何简单的Python教程来说服我使用它代替Java。尝试使用Java从pi发送IR代码几个小时后,我发现下一个解决方案相对简单:制作一个包含该irsend
消息的bash脚本,并告诉Java运行它。
例:
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();
}
}
}
你想得到exit value: 0
。如果您的退出值为127,则意味着Java找不到bash脚本。
更多注意事项:
- 我已经尝试过jlirc和lircj-LIRC的Java包装器,但无法正确配置它们->无法正常工作。
- 该解决方案的唯一缺点是您无法收听IR消息。如果有人对使用类似方法收听IR消息有任何想法,我想知道。
有用的资源:
- 按照Alex Bain的说明为pi设置LIRC。他们真的很好!您可以在
irsend
此处找到更多信息。这使得列出您的遥控器更加清晰。
- 在这里,您可以找到有关从Java运行bash脚本的更多信息。
希望对您有所帮助,汤姆