需求:
在某些特定场合,需要在某些时刻实现风扇开启,关闭,调节风速等功能。要实现PC上对其轻松控制。
为什么选择digiFan df-500型号风扇?
- 成熟稳定的工业级产品
- DMX512接口,可轻松实现上位机控制
参考资料:
简述解决方法:
-
什么是DMX512?
DMX512 是娱乐服务与技术协会 (ESTA) 制定的一项标准。该标准描述了一种在控制器与受控照明设备和附件(包括调光器和相关设备)之间传输数字数据的方法。物理电气接口根据 EIA/TIA-485 标准(亦称为 RS-485 标准)指定。
DMX512 标准规定了 8 位异步串行协议和 250 kbps 数据传输率,旨在将重复的控制数据从单个控制器传输到一个或多个接收器。主要链路上的控制数据最多包含 513 个存储槽,这些存储槽通过均衡的传输线路以数据包的形式发送。
信息采用 8 位格式,依次发送到不同的节点。值介于 0 到 255 之间。其中,0 表示关 条件,而 255 表示开 条件。中断 条件持续两帧,指示一个包含 512 个值的序列的开头。至少持续 8 µs 的高电平表示第一个字节的开头。
作者简单概括一下,DMX512就是在485总线上实现一些舞台相关的控制协议,所以在开发控制时,以开发串口设备的思路来解决问题。
-
搞清接口:
通过阅读Manual了解DF500风扇的DMX512接口为5Pin的XRL接头。国内使用的XRL接头一般为三口接头。这里需要大家注意一下,线序对比如下图。
-
硬件哪里买,怎么买:
既然需求是PC上对其控制,接口就需要是PC支持的接口,笔者在淘宝上搜了一下,USB和RJ45(udp转DMX512)接口的设备都有。我们这里选择USB设备。
购买地址在这里,无广告嫌疑及责任
-
软件准备:
DMX512控制,重要的是搞清楚控制信道和指令,具体描述在参考资料里,都有详细描述。这里一定要搞清楚:确定地址是多少,几个通道控制,每个通道是什么作用,就可以用下面的软件模拟控台操作了。
我们需要准备一个控制模拟器,界面如下图所示:
测试控制DF500风扇需要的指令。
-
软件实现:
上一步获得控制指令后,可以通过程序编写发送指令,实现最后效果。
python参考链接: pySimpleDMX A beginners guide to programming DMX512 in Python.
-
其他:
- 总结一下:先搞清是485设备,然后再搞清怎么和PC连接,最后弄明白怎么控制,齐活了。
- 参考资料请认真阅读。
- 感谢李晓东同学提供的控制测试软件。