【发布时间】:2014-01-26 03:13:04
【问题描述】:
我正在尝试通过 I2c 将数据从 Raspberry PI 发送到 Arduino。
当我使用独立的 java 应用程序执行代码时,我能够毫无问题地发送和接收数据(下面的代码给了我预期的结果)。
public static void main(String[] args) throws Exception {
// get I2C bus instance
final I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1);
I2CDevice arduino = bus.getDevice(0x04);
byte[] buffer = new byte[1];
buffer[0] = 1;
arduino.write(buffer, 0, buffer.length);
Thread.sleep(100);
buffer[0] = 0;
int number = arduino.read(buffer, 0, 1);
}
然后我尝试相同的代码,但这次它在 Servlet 中,使用 Raspberry Pi 中的 Jetty,我收到以下错误:
java.io.IOException: Cannot open file handle for /dev/i2c-1 got -1 back.
at com.pi4j.io.i2c.impl.I2CBusImpl.<init>(I2CBusImpl.java:96)
at com.pi4j.io.i2c.impl.I2CBusImpl.getBus(I2CBusImpl.java:70)
at com.pi4j.io.i2c.I2CFactory.getInstance(I2CFactory.java:56)..
有人知道会发生什么吗?
问候,
【问题讨论】:
标签: java arduino jetty raspberry-pi i2c