java - 如何使用JAVA控制通过USB/串口等连接PC的LED灯?我应该使用什么设备?

标签 java device microcontroller serial-communication led

我想用 JAVA 编写一个程序,它可以控制连接到连接到计算机的“某物”的 LED 灯。

JAVA 程序将由 JFrame 中的 8 个切换按钮组成。按钮编号从1到8,当按下编号X的按钮时,编号X的LED将点亮;再次单击(切换)该按钮时,该 LED 将关闭。

与我们必须将代码加载到其中的微 Controller 不同,我提到的“某些东西”只是从 JAVA(可能通过 USB/SerialPort/...)接收信号来控制灯。 例如,JAVA 通过串行端口将 0000_0101(打开 LED 1 号和 3 号)发送到“某物”,然后“某物”将“保留”该值,直到发送新信号。值的每个数字代表“某物”上引脚的高/低,我将把引脚连接到 LED。

“某物”可能类似于可以将“串行端口信号”转换为“二进制”并将该“二进制”保存在具有输出引脚的寄存器中的设备,我可以将它们连接到 LED。

这可能吗?有没有像“某物”这样的装置?它是什么?有人有什么建议吗?或者一些更好的方法来从 PC 控制灯光?

最佳答案

我使用运行 Android 端口的 BeagleBone Black 做了类似的事情。我设计了一个 Android 应用程序,它使用我创建的自定义蓝牙低功耗 API 与运行 BLE 堆栈的 TI CC2541 进行通信。

您需要做的是用 C/C++ 编写函数来调用必要的平台硬件来切换 I/O。像 ToggleLed(led) 这样的东西就足够了。然后使用 Java Native Interface (JNI) 连接对 Java 的 native 调用。 . JNI 创建一个可以静态加载的库。

创建库后,您可以在 Java 中调用它。

例如,在我的情况下,我创建了一个与 native C++ 通信的 BLE API,该 API 将对我的嵌入式 CC2541 BLE 芯片执行串行读/写以命令它进入不同状态。这些命令是连接/断开连接、写入数据和读取数据。 BLE API 是用 Java 编写的,通过 JNI 和驱动程序调用与硬件连接。然后我编写了使用 BLE API 的应用程序。

关于java - 如何使用JAVA控制通过USB/串口等连接PC的LED灯?我应该使用什么设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22401731/

相关文章:

java - 这是内存泄漏吗?

java - sphinx for Java API的一些问题

java - 无法理解 TangoPoseData 中的 ij 术语

c - For LOOP 被编译器优化丢弃

python - 实时艺术项目---输入: sound --- output: image (better title?)

java - Socket OutputStream::write 方法混合了 TCP 数据包?

java - 通过 Java 和 Postfix 服务器发送 SMTP 邮件

C#:无法创建 DirectX 设备。硬件类型或软件类型均无效

macos - 如何在 Bash 中列出可用的音频 I/O 设备

c++ - 使用 KDS 中断 KL25Z 板