15

我正在考虑制作一个带有旋钮、按钮和 LED 的物理控制器(设备?)。我想使用 Java 与它进行交互(响应旋钮、点亮 LED 等)。我提到 Java 的原因有两个:第一,我很了解 Java 1。其次,我已经用 Java 编写了我需要与之交互的程序的其余部分(尽管有一些方法可以从另一种语言与 Java 程序对话)。

我希望设备通过 USB 连接并独立于(计算机)平台。

我不知道从哪里开始,除了开始阅读 Arduino 网站。这是我最好/唯一的选择吗?有没有更适合与 Java 通信的东西?

注意:我知道 Arduino 与 Java 有关(不确定是什么),但似乎代码必须用 C 的子集编写。

我将如何开始讨论这个话题?


1 - 请不要笑。

4

6 回答 6

7

Arduino 开发环境是用 Java 编写的。

但是您为 Arduino 平台编写程序的标准语言实际上是 C++。

Arduino 平台基于 Atmel AVR 芯片。至少有一个用于 AVR 芯片的 Java VM。AVR 还有其他可用的语言,例如Forth和 BASIC(虽然我只能找到商业版本,所以如果您想找到它们,请搜索“AVR BASIC”)。

Arduino 使用虚拟 COM 端口在主机和它之间进行通信。虚拟 COM 端口模拟老式串行线路,但使用 USB 完成。您可以使用Java 通信 API让在主机上运行的 Java 程序与您的物理设备进行通信。

于 2010-01-29T01:21:56.233 回答
4

对于某些编码器和按钮,您可能想要实现 USB HID 设备。如果你要生产超过几个,你会想做一个定制板。查看V-USB,这是一个使用 Atmel 微控制器制作 USB HID 设备的开源库。他们有一堆使用这个库的项目示例。

您可以让它看起来像一个 HID 操纵杆,使用编码器产生 X/Y 轴信息并让按钮像按钮一样工作。他们可以使用标准 Java 游戏 API 来读取操纵杆值。

于 2010-02-01T21:14:28.937 回答
1

您能否扩展您对定制设备的需求?在我看来,设计硬件的进入门槛相当高,而且我能想到的大多数应用程序都可以通过重新利用现有的游戏控制器硬件来更好地解决。如果您真的需要新硬件,那么我建议您首先在谷歌上搜索“USB 开发套件”或“USB 开发板”,它会为您提供这样的链接这个这个

至于使用 Java 中的 USB 硬件,我对 JUSB 库进行了一些尝试,它看起来很有希望,但似乎仅限于 Linux,因为库的一半本机库的 Windows 版本尚未编写. 可以通过谷歌搜索“HID java”找到替代方案。

于 2010-01-29T02:54:21.567 回答
0

好的,计算机平台无关?你的目标是什么平台?这将取决于该平台的驱动程序和支持,USB 设备有什么作用?它是大容量存储设备吗...您可能需要环顾四周,看看是否可以找到可以与设备通信的设备驱动程序...

希望这会有所帮助,最好的问候,汤姆。

于 2010-01-29T01:25:06.310 回答
0

我知道对于串行端口,存在与之交互的库(rs232 库)。谷歌搜索 java 和 USB 返回了几个答案(第一个被称为 jUSB)。那将是我要寻找的第一种类型。

于 2010-01-29T01:27:18.890 回答
0

java USB 连接到飞思卡尔微控制器的示例:

http://javausbapi.blogspot.com/

于 2010-05-22T13:27:31.173 回答