Nor*_*oro 6 java microcontroller device serial-communication led
我想在JAVA中编写一个程序,它可以控制LED灯连接到连接到计算机的"东西".
JAVA程序将包含JFrame中的8个切换按钮.按钮编号从1到8,当按下编号为X的按钮时,编号为X的LED将打开; 再次单击(切换)该按钮时,该LED将关闭.
与我们必须在其中加载代码的微控制器不同,我提到的"某些东西"只是接收来自JAVA的信号(可能通过USB/SerialPort/...)来控制灯光.例如,JAVA通过SerialPort将0000_0101(打开LED 1号和3号灯)发送到"某物",然后"东西"将"保留"该值,直到发送新信号.该值的每个数字代表"某物"上引脚的高/低,我将引脚连接到LED.
"Something"可能类似于可以将"串行端口信号"转换为"二进制"并将"二进制"保存在具有输出引脚的寄存器中的设备,我可以将它们连接到LED.
那可能吗?有没有像"东西"这样的设备?它是什么?有没有人有任何建议?还是一些更好的方法来控制PC的灯光?
我使用运行 Android 端口的 BeagleBone Black 做了类似的事情。我设计了一个 Android 应用程序,它使用我创建的自定义低功耗蓝牙 API 来与运行 BLE 堆栈的 TI CC2541 进行通信。
您需要做的是用 C/C++ 编写函数来进行必要的平台硬件调用以切换 I/O。像 ToggleLed(led) 这样的东西就足够了。然后,您可以使用Java 本机接口 (JNI)连接对 Java 的本机调用。JNI 创建一个可以静态加载的库。
创建库后,您可以在 Java 中调用它。
例如,在我的情况下,我创建了一个与本机 C++ 通信的 BLE API,该 API 对我的嵌入式 CC2541 BLE 芯片执行串行读/写操作,以命令其进入不同的状态。这些命令是连接/断开连接、写入数据和读取数据。BLE API 使用 Java 编写,并通过 JNI 和驱动程序调用与硬件连接。然后我编写了使用 BLE API 的应用程序。
您可以通过操作来控制Raspberry Pi上的GPIO引脚File。例如,请参见: https: //blogs.oracle.com/hinkmond/entry/rpi_and_java_embedded_gpio3,其中 LED 闪烁是通过交替引脚的输出来完成的。所以“东西”就是 Pi,你可以花很少的钱从许多不同的经销商处获得它。
但通常情况下,Java 不是低级位控制的首选语言。特别是对于 Raspberry Pi,请改用 Python。