繁体   English   中英

J 在树莓派上输入

[英]JInput on RaspberryPi

我正在尝试让 JInput 在 raspeberryPi 上工作。 我知道在没有 ide 的情况下使用 JInput 并不理想,但 Raspberry Pi 的速度太慢,无法与其中的大多数一起使用。 我已经成功地从 windows 上的命令行编译并运行了我的程序。但是,在 pi 上我遇到了麻烦。 pi 正在运行 raspbian,java 版本 1.7.0_40,热点客户端 vm build 24.0-b56。 我已经将文件结构设置为:

库/分区
-jinput-test.jar
-jinput.jar
-控制器
--.dll,.so文件
--Linux环境插件.java
垃圾桶
来源

我正在使用命令

java -Djava.library.path=lib/dist/Controller -Djinput.plugins=net.java.games.input.LinuxEnvironmentPlugin -cp bin:lib/dist/jinput.jar:lib/dist/Controller Main

尝试运行。

但是,我得到

“信息:无法加载库:”/libjinput-linux64.so:/libjinput-linux64.so:错误的 ELF class:ELFCLASSS64”

这就是我感到困惑的地方。 为什么要尝试使用 64 位文件。 树莓派有一个 ARM 版本 6 处理器,它只适用于 32 位。 那么为什么它首先要寻找 64 位文件呢? 我也尝试过使用 -d32 选项运行,但这没有帮助。

您需要为Pi(ARM)构建的本机共享库(JNI)。 幸运的是,有一些针对JInput的预先构建的raspbian软件包,其中包括所需的本机库:

  • 须藤apt-get install libjinput-java libjinput-java-doc libjinput-jni

您还应该在/ etc / modules的末尾添加uinput,以便检测到控制器。 如果您想要一个好的GUI来测试控制器,请尝试另外安装:

  • 须藤apt-get install jstest-gtk

您可以通过安装Jinput

  • 须藤apt-get install libjinput-java libjinput-java-doc libjinput-jni

然后在安装后在树莓派上找到这些文件

  • jinput-20100502.jar
  • jinput.jar
  • jinput-Test.jar的
  • libjinput-linux.so
  • libjinput.so

在您的工作目录(可以随意命名)中创建一个名为(例如)lib的新目录,将上述所有文件复制到您刚才创建的目录lib中。 然后通过这种方式编译java文件:

  • sudo javac -cp“ /usr/share/java/jinput.jar” Example.java

然后通过这种方式运行它:

  • 须藤java -Djava.library.path =。/ lib -cp ./lib/* :.

如果从netbeans中创建Example.java,请删除顶部的软件包信息行。 它应该工作。

• 实施变通办法。
• 想在我的 Raspberry Pi 上实现操纵杆慢跑,在 Grbl CNC 机器上实现 Processing3 GUI,但遇到了 JInput <==> ARM 不兼容问题。 相信 Quark 断言不存在 ARM 兼容的 JInput 是正确的。 这与RaspberryPi 上的 StackOverFlow 线程 JInput相矛盾。 尝试了 Albert 的扩展 apt-get:但没有乐趣 从https://qengineering.eu/install-raspberry-64-os.html尝试了 2021-05-07-raspios-buster-arm64,但处理无法开始。 回到 32 位树莓派。
• 解决方法是添加第二个 Arduino Uno 和 USB 主机防护罩,然后从防护罩上运行 Logetech 3D Pro 操纵杆。 Modified the Arduino USB Host Shield Library 2.0 le3dp sketch to have all output include an identifying preamble (J0Y) which allows the processing serialEvent to identify which USB port belongs to the Grbl Arduino and which is the joystick Arduino. Working code is at https:/ /github.com/TPMoyer/Grbl4Phttps://github.com/TPMoyer/LE3DP_4_Grbl4P

这会将jar文件放在/ usr / share / java /中,该文件需要添加到CLASSPATH中。 我仍在寻找需要添加到LD_LIBRARY_PATH的.so文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM