Java Intel Edison 上的应用 运行 无法读取传感器(Python 可以)

Java app running on Intel Edison can't read from sensor (and Python can)

我创建了一个连接到 Intel Edison 的 quick & dirty prototype in Python that reads temperature/humidity from an HTU21D sensor 传感器。我正在尝试重写 Java 中的 Python 原型。不幸的是,在 Java 中为 temperature/humidity 返回的值为零。

代码发布在 Github: https://github.com/alexwoolford/htu21d_logger. Under the covers, both Python and Java versions are using upm/mraa.

这是从传感器读取的 Java 代码:

upm_htu21d.HTU21D sensor = new upm_htu21d.HTU21D(1);
logger.info("Temperature: " + sensor.getTemperature() + "; humidity: " + sensor.getHumidity());

在传感器的 Java example code 中,传递给 upm_htu21d.HTU21D(0) 的总线参数为零。

你能看出我做错了什么吗?有关如何解决此问题的任何建议?

HTU21D Java example code 缺少以下调用:

sensor.sampleData()

感谢Jon Trulson for identifying the root cause