簡體   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