我正在用java启动一个项目,在那里我想使用终端窗口从我的计算机上控制一盏灯。我正在使用一个名为Enttec开放DMX USB转换器的硬件。所以我写了这个问题,问社区是否有人知道如何将数据发送到这个Enttec设备来控制灯光。我从哪里开始?我已经知道如何编写终端命令别名并执行.jar文件,因此不需要帮助。
到目前为止,我尝试的是查看一个名为“开放照明项目”的开源项目,我知道这个项目可以控制设备,了解它是如何工作的,以及如何制作我的程序。但是我在查看Github中的java代码文件夹时被困了,我试图找到一个DmxData.java类,它说OlaClient.java正在导入这个类。所以我很困惑它是从哪里来的。
我还试着查看Enttec网站上的开发工具,但它们不起作用。更具体地说,我查看了名为Java包装器的文件包,并尝试运行测试,每次都有不同的错误导致失败。
以下是这些链接:
Enttec设备: https://www.enttec.com/product/controls/dmx-usb-interfaces/open-dmx-usb/
开放照明体系结构Github存储库: https://github.com/OpenLightingProject/ola
任何帮助都将不胜感激!
谢谢!
发布于 2020-01-20 20:53:40
一年多前,我将一个DmxPy移植到了Java。它满足了我的需要与ENTEC DMX USB Pro。看看这个对你有用吗。
链接:https://github.com/trevordavies095/DmxJava
实例化:DmxJava dmx = new DmxJava();
设置DMX地址的值:dmx.setChannel(dmx_address, value);
您现在可以使用您正在使用的任何串行库将该数据包发送到ENTTEC。
发布于 2022-06-26 17:01:03
我使用Juanjo的lib (https://sourceforge.net/projects/opendmxjavajni/)。DMX512协议非常简单。主要概念如下:
宇宙:你可以选择任何宇宙,从0开始,到65 K。宇宙是一个孤立的固定装置网络,每个通道有512个通道。大多数入门级DMX/USB接口只能在一个宇宙中工作。
通道:每个通道支持0到255之间的整数值。有些固定装置只使用一个通道(例如,一个调光器),另一些使用多个通道(例如,RGB夹具用于调光器,其他3个通道用于红色、绿色和蓝色),还有一些可能会变得非常复杂,使用大量的通道(例如:移动的头)。您必须了解要使用的实际装置所使用的通道是什么(通道n: dimmer,通道n+1: red,等等)。通常,您可以在夹具配置中设置"n“值。
若要连接DMX/USB接口,请使用:
OpenDmx.connect(OpenDmx.OPENDMX_TX)通常,您会想要运行一个无限循环,在这个循环中,您可以控制每个通道的运行情况。只需更新DMX数组(一个‘ints’数组),考虑到通道1将位于0位置,等等,直到位置511。接口将不断更新您的夹具相应。
OpenDmx.setValue(channel,value);Juanjo的lib有几个可能有用的示例。
祝好运。
https://stackoverflow.com/questions/59723851
复制相似问题