问题标签 [dmx512]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
udp - Artnet 数据包结构
尽管我找到了这么多允许程序员使用 Artnet/ArtnetDMX 协议的库,但我还没有找到正确的结构来在代码中发送 Artnet(到套接字)。
给出了结构,但是我只是不知道应该以什么顺序发送字节。我是一个接一个地向宇宙发送一个字节,还是需要发送一个包含所有值的字节数组?
有没有人有通过 UDP 发送 Artnet 的经验?
这是维基百科上给出的结构:http: //i.stack.imgur.com/wUjzd.png
c++ - mac 上的 ftd2xx.h 给了我无数错误。如何在 xcode 中使用它?
我在使用文件“ftd2xx.h”来控制 enttec 的 DMX USB PRO 时遇到了一些问题。
他们在他们的网站上放了一个可下载的 zip 文件,其中包含一个 c++ 代码示例来控制他们的 dmx 界面。我刚刚下载了它,在 XCode 中创建了一个新的终端项目(C++),粘贴了该项目,但没有任何效果!节目告诉我
我无法弄清楚为什么没有任何工作这些是前几个错误:
ftd2xx.h 文件是这样的:
你能帮我弄清楚我的mac无法运行程序的问题吗?我从未在 Mac 上使用 C++ 编程或使用过 Xcode。
timer - Arduino 计时器似乎崩溃了?
对于带有一些互动装置的展览,我必须创建一个系统,从三个超声波 PING 传感器读取数据,并在一个输出端连接一个DMX调光器。
所以我拿起我的Arduino Mega板,围绕它构建了一些硬件(用于 DMX 的信号逆变器)并使用库DmXSimple测试了 DMX 调光器。它工作正常!
下一步:测试 PING 传感器。我使用了库NewPing并连接了传感器。它工作正常!
现在两者都在一起,在一个程序中:使用相同的代码导入两个库。它不起作用!
定时器碰撞?嗯......无论如何 - 我不知道如何解决这个问题。我应该怎么办?如果是计时器问题(即两个库都调用同一个计时器),我真的不知道如何修改库以使其正常工作。
javascript - 如何将 PHP/html 传递给 javascript 循环
我有一个非常强大的 JavaScript 脚本,可以通过一些外部软件控制我的房间灯。我有一个 PHP,它在运行时只返回 1 或 0。理想情况下,我希望有一个 JavaScript 循环,它每隔几秒钟运行一次并拉出 1 或 0,如果它是 1,则做一些工作。问题是,无法弄清楚如何让 JavaScript 在条款或处理/数据收集方面打开另一个页面。
是否有等同于 JavaScript 的“文件获取内容”?我不希望将 PHP 值写在 JavaScript 页面上,只是为了有做一点 if 语句的值。
delphi - Delphi UDPClient 示例 -> ArtNet 通信和解析器
最近我开始了一个项目,我需要将 OSC 与 ArtNet 协议结合起来。虽然 OSC(开放声音控制)有一些可用的示例和文档,并且 vvvv 小组也编写了非常好用的 Delphi 解析器,但 ArtNet - 以太网 DMX 协议 - 实际上不支持,或者更好地说,根本不支持 delphi 的示例。我唯一设法找到的是:http: //mbed.org/users/okini3939/code/DmxArtNet/docs/c59dc374fc64/DmxArtNet_8cpp_source.html 这似乎不完整,我根本无法完成。联系作者是在黑暗中拍摄的......
无论如何,主要是在通过 UDPClient 发送它们之前进行字节编码。现在,由于这与 OSC 的工作方式基本相同,我想这没什么大不了的,尤其是因为除了 OSC,ArtNet 只需要通过 UDPClient 发送 tose 位,并且什么都没有收到(使用 OSC,大多数解析器是关于接收和解码数据包的......)但是,除了我敢说“这没什么大不了的”,我不得不说同时我不熟悉如何去做。
在第 22 页和第 23 页是带有字节格式信息的 ArtDmx 表...
www.artisticlicence.com/WebSiteMaster/User%20Guides/art-net.pdf
我认为这是为了发送命令我必须做的......
有谁知道它,或者有时间快速看看它是如何工作的,甚至可以举一个例子来说明我如何从delphi的应用程序发送数据......?
谢谢!
马克
编辑: 看起来他们的网站已关闭,因为指向 pdf 的链接不再有效,但是我仍然打开了它的副本,所以我将复制以下内容:
ArtDmx 数据包可以广播,但不推荐。单播 ArtDmx 可以显着提高网络效率。当 ArtDmx 为单播时,必须使用以下规则: 传输设备必须定期 ArtPoll 网络以检测 Universe 交换机设置的任何变化。如果传输设备选择单播,则它必须将 ArtDmx 单播到订阅(在 ArtPollReply 中)该 Universe 的所有节点。已订阅表示 Swin 和 Swout 数组中列出的任何 Universe。如果没有发送者希望发送的宇宙的订阅者,则可以广播 ArtDmx。实施者应提供单播和广播之间的动态变化。如果 Universe 订阅者的数量超过给定数量,则广播可能会变得更有效率。对于使用超过 30 个 Universe 的系统,只能强制使用单播。桌子: http://shrani.si/f/2c/GQ/3NF9rewr/artnet-udp-table.png
if-statement - LabVIEW复杂的If语句
背景:我正在尝试在 LabVIEW 中配置 DMX 转盘,它有两种旋转设置:粗略(360 度,255 点)和精细(1 度,255 点)。我需要能够首先执行命令以在粗略模式下移动到最近的可用 DMX 位置,然后在精细模式下弥补差异。
例如,我想转向 90 度,这相当于 DMX 值 63.75,但它向下舍入为 63。度数的实际值现在是 88.94,所以我需要通过使用精细设置来弥补额外的 1.06 度(我只能弥补 1 度,但 89.94 已足够接近 90)。
我可以很好地执行粗略设置,但是我需要某种“if”语句来表示“如果实际度数小于输入值,则弥补差异”。案例结构没有提供足够的控制来使用这个复杂的“if”语句,我可以用什么来代替?
c++ - Arduino ISR - 矢量的多种定义
我在这里使用了一个包含四个宇宙的 DMX 库。
在没有任何其他库的情况下使用这个库可以很好地工作。但是,当还使用标准SPI.h
库时,我在以下代码行中与 ISR 发生冲突:
lib_dmx.ccp(第 3 行)
HardwareSerial.cpp(第 2 行)
现在,我对arduino的中断服务相当陌生。这HardwareSerial.cpp
是一个 Arduino 核心,所以我认为我无法真正更改此文件中的任何内容。
提前致谢。
更新 1
删除 ISR 并将其替换为 aserialEvent()
会给我错误error: invalid use of void expression。没有 void,serialEvent()
就不能正确声明。我必须包含某个库吗?
lib_dmx.ccp
更新 2:
lib_dmx.cpp
lib_dmx.h
我的文件.ino
这个库允许 DMX 使用多个 Universe,尽管我现在只使用第一个(这就是为什么在 .h 文件中其中一些被转义出来的原因)。在 myfile.ino 中,我删除了某些内容,因为我还实现了 UDP 多播库(修改后的标准以太网库)。
c# - 将信号写入串行端口
我正在尝试通过 USB 到 RS485 电缆将数据写入 DMX 接收器。我可以看到正确的数据帧,但是对于遵循 DMX 协议的数据包,我需要一个中断和 MAB 信号。所以我的问题是,有没有办法产生这样的信号?我的想法是向串行端口写入带有延迟的 hi 和 lo 信号,但我还没有找到在 VS C# 中执行此操作的方法。
powershell - 在远程电脑上运行批处理文件*可见*登录用户
我有一个批处理文件 dmx2vlc,它会在调用时通过 VLC-Player 播放随机视频文件。它在本地运行良好,但我需要在网络上的另一台机器上发生这种情况(将是临时的),并且结果(VLC-Player 播放视频)必须在远程屏幕上可见。我尝试过 SSH、Powershell 和 PsExec,但它们似乎都在命令行会话中运行批处理文件和播放器,即使在应用补丁以允许多次登录时也是如此。
因此,如果我运行批处理文件,它永远不会在屏幕上显示。使用 Teamviewer 等不是选项,因为我需要能够从我的 dmx 程序中以编程方式调用所有这些。
我不一定能够直接调用批处理,如果我能以某种方式触发它运行就足够了。
可悲的是,延迟是一个问题,因为我们正在谈论照明(因此 dmx)环境。
任何提示将不胜感激!
unity3d - 使用 Unity3D 控制灯光、风扇和其他设备
我们正在使用 Unity 3D,我们有一个完全开发的游戏,但客户想要完全可操作的游戏室,灯光、风扇、雾机等(在现实世界中)将由我们开发的 Unity 游戏触发,我首先要说我不知道该怎么做,我在强调!我知道我需要为此使用 DMX 盒子,我们已经做了很多研究,enttec USB DMX PRO 似乎是正确的选择,但我根本不知道如何使用 DMX 盒子。
我可能错了,但似乎我们需要向它发送一个代码文件以使其执行预执行操作?我们通过将代码文件放在文件夹中来发送此代码,但我不确定!如果是这种情况,那么我可以在游戏中的正确给定时刻统一将文件放在文件夹中。
如果有人知道如何将代码发送到 DMX 盒子,如果你能纠正我,如果你能告诉我代码的类型,这样我就可以开始学习,那就太好了。
USB DMX PRO 是正确的方法吗?