问题标签 [pi4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1754 浏览

java - 带有 PI4J 库的 Maven 项目 - 打开 zip 文件时出错

我对 Raspberry Pi 的 pi4j 库有一个很奇怪的问题。我在 Eclipse 中有 Maven 项目,并且刚刚为 pi4j 添加了存储库和依赖项,如下所示:

我的项目中没有任何 pi4j 代码,并且在执行 mvn 安装时出现此错误:

[错误] 无法在项目 kosciol-main 上执行目标 org.apache.maven.plugins:maven-shade-plugin:2.1:shade(默认):创建阴影 jar 时出错:打开 zip 文件时出错 d:\Programy\apache- maven-3.1.1\m2\repositories\com\pi4j\pi4j-native\1.0-SNAPSHOT\pi4j-native-1.0-SNAPSHOT-hard-float.so -> [帮助 1]

如果我删除依赖项,项目编译没有错误...我试图从 m2 文件夹中删除这个 pi4j 存储库,但这没有帮助。我该如何解决?

0 投票
1 回答
2460 浏览

java - 在 windows 或 mac 上运行 pi4j 程序

我正在使用 Java PI4J 库开发一个 Raspberry PI 项目。我已经让它在 PI 本身上正常工作,但无法在 PI 之外运行我的程序,因为 PI4J 在运行时会出错。例如

有谁知道是否可以禁用整个库,以便在将程序放在 PI 上之前尝试调试程序的其他功能?或者有没有办法运行 PI4J,因为它不会给出这些错误?

谢谢,

亚当

0 投票
2 回答
1269 浏览

java - 使用 java 的 PI 中的 GPIO 引脚侦听器导致突发动作事件

在这个程序中,我可以读取GPIO 引脚但是为单个事件按下硬件按钮(与按钮连接的GPIO引脚)会导致状态变化的爆发并导致动作事件的爆发......那么我怎样才能消除在一定时间段内同时发生的GPIO状态变化来消除这种情况爆裂。

0 投票
6 回答
15282 浏览

java - read temperature from DHT11, using pi4j

I'm trying to read temperature data from a DHT11 temperature sensor, using pi4j. I followed the code written in c and python in this site: http://www.uugear.com/portfolio/dht11-h ... or-module/ But it's not working. when I test the instruction 'dht11Pin.getState()' it's always in HIGH state, never changing. Is there anything wrong in my code?

Below is my code:

}

0 投票
5 回答
4954 浏览

java - PI4J - 无法使用路径加载 [libpi4j.so]

我在 MacOS 上使用 NetBeans 来开发使用 PI4J 的应用程序。一切看起来都很好,但我收到下面的错误,说 PI4J 无法加载。有谁知道如何解决这个问题?

0 投票
2 回答
2041 浏览

java - PI4j Raspberry Pi 红外接收器

我已经将红外接收器连接到 Rasberry Pi,如下所示: 在此处输入图像描述

我已经尝试了来自 URL 的示例: http ://pi4j.com/example/listener.html从 GPIO 18 获取信息,但它没有向终端输出任何内容。

有什么方法可以使用 Pi4j 从 Java 中的红外接收器获取信息。

我知道 Python 脚本存在,但我想了解是否有可能从 Java 读取传感器数据。

更新 1:

GPIO 端口 18 是 Pi4j 中的端口 1 现在我得到状态为 LOW HIGH 的输出我现在如何解码信号以便我可以将它用于发送器。

0 投票
1 回答
329 浏览

java - 使用 Pi4j 编译

我遇到了以下问题:在运行 Pi4J 内置设备的 GPIO 示例时,我收到一个 JNI 错误,然后是 com/pi4j/io/gpio/GpioProvider 的 NoClassDefFoundError。经过一番搜索(这里和其他网站),我得出的结论是我错过了 pi4j-gpio-extension.jar。原来我必须在编译时特别包含这些。我正在使用:

这是一个宏/速记/不知道

这成功编译。运行程序后,我得到 NoClassDefError。所以问题是,如何在 pi4j/javac 编译中明确包含某些 .jar 文件?

0 投票
1 回答
242 浏览

java - Pi4j 风速计 - 每个间隔的计数器

我正在尝试使用数字风速计与我的树莓派 pi4j 一起工作。

我的想法是GpioPinListenerDigital当一个引脚变高时添加到监视器(意味着 1 个完整的风速计旋转),但我不能让它工作......我想设置一个间隔来观察中断,但没有成功......

这是我的主要课程

它简称为风速计,即

看起来它永远不会进入while循环......知道吗?

0 投票
1 回答
169 浏览

java - 使用 crontab 安排 pi4j / Java 任务

我想在我的 Raspberry PI 上使用 crontab 定期运行 Java / pi4j 任务(脚本 ControlGpioExample )。

此代码在终端上运行良好:

在 Crontab 中,我添加了以下行(在本例中为 19:58):

但是,这项工作不是在 20:00 开始的,我也没有使用 ...

其他 stackoverflow 用户在Crontab not running Java Code方面也有类似的问题,所以我也尝试了这个:

同样,Crontab 仅显示代码已执行但没有错误消息!

其他用户的问题表明,也许我的路径环境变量似乎不正确?我怎样才能找到这个,我还需要设置什么来运行这个脚本?请帮助,我已经尝试解决此问题 2 天!

谢谢!

0 投票
1 回答
1970 浏览

java - NoClassDefFoundError: com/pi4j/io/I2CFactory$UnsupportedBusNumberException

我正在尝试在 Raspberry Pi 模型 3 上运行 java 代码,从 PC eclipse 开发环境下载以使用 pi4j 库访问 I2C 总线上的 9DoF 设备。我收到以下错误:

java -classpath .:classes:/opt/pi4j/lib/'*' -jar /home/pi
/artifacts/RPITank-1.0-SNAPSHOT.jar Error: A JNI error has occurred, please check your installation and try again in 异常线程“主”java.lang.NoClassDefFoundError:com/pi4j/io/i2c/I2CFa
java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 的 java.lang.Class.getDeclaredMethods0(Native Method) 的 ctory$UnsupportedBusNumberException java.lang.Class.privateGetMethodRecursive(Class.java:3048) 的 java.lang。 java.lang.Class.getMethod(Class.java:1784) 的 Class.getMethod0(Class.java:3018) sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544 ) sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper .java:526) 引起:java.lang.ClassNotFoundException: com.pi4j.io.i2c.I2CFactory$Unsuppor
tedBusNumberException at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java .lang.ClassLoader.loadClass(ClassLoader.java:357) ... 还有 7 个

这是代码

我使用 I2Cdetect -y 1 检查了设备在总线 1 上是否可见,这显示了地址为 0x68 和 0x76 的设备。

我不知道这是执行环境还是代码的问题,欢迎任何帮助。

进一步的实验表明删除异常处理程序不是编译时需要的选项。此处描述了异常类 http://pi4j.com/apidocs/com/pi4j/io/i2c/I2CFactory.UnsupportedBusNumberException.html