Make a USB Device, Control It In Java

前端 未结 6 1834
北海茫月
北海茫月 2020-12-31 06:35

I\'m thinking about making a physical controller (device?) with knobs, buttons, and LEDs. I\'d like to interact with it using Java (respond to the knobs, light up LEDs, etc)

相关标签:
6条回答
  • 2020-12-31 07:13

    The Arduino development environment is written in Java.

    But the standard language you write a program for the Arduino platform is effectively C++.

    The Arduino platform is based on an Atmel AVR chip. There is at least one Java VM for AVR chips. There are other languages available for the AVR such as Forth and BASIC (although I could only find commercial versions, so I'll if you want to find them, search for "AVR BASIC").

    The Arduino uses a virtual COM port to communicate between the host computer and it. A virtual COM port emulates an old style serial line but is done with USB. You can use the Java communication API to then have a Java program running on the host computer communicate with your physical device.

    0 讨论(0)
  • 2020-12-31 07:13

    sample for java usb connection to freescale microcontroller:

    http://javausbapi.blogspot.com/

    0 讨论(0)
  • 2020-12-31 07:16

    Can you expand on your need for a custom device? It seems to me that designing hardware has a pretty high barrier to entry and that most applications I can think of would be better resolved by repurposing an existing piece of game controller hardware. If you really need new hardware, then i suggest you start by googling 'USB development kit' or 'USB development board' which will get you links like this, this and this.

    As for working with USB hardware from Java, I've played around with the JUSB library a bit and it looks promising, but appears to be limited to Linux only because the Windows version of the native library half of the library hasn't been written. Alternatives can by found by googling 'HID java'.

    0 讨论(0)
  • 2020-12-31 07:17

    I know for the serial port there were libraries that existed for interacting with it (rs232 library). Googling for java and USB returned several answers (the first was called jUSB). That would be the first type of thing I would be looking for.

    0 讨论(0)
  • 2020-12-31 07:28

    Ok, computer-platform independant? What platforms are you targetting? That would depend on the driver and support for that said platform, what does the usb device do? Is it a mass storage device...You may have to look around and see if you can find a device driver that can talk to the device...

    Hope this helps, Best regards, Tom.

    0 讨论(0)
  • 2020-12-31 07:32

    For some encoders and buttons, you probably want to implement a USB HID device. If you're going to produce more than a couple of them, you'll want to do a custom board. Check out V-USB, an open-source library for making USB HID devices using Atmel microcontrollers. They have a bunch of examples of projects that use this library.

    You could probably make this look like a HID joystick, using the encoders to produce X/Y axis information and having the buttons act like buttons. They you could use standard Java gaming APIs to read the joystick values.

    0 讨论(0)
提交回复
热议问题