我想要做的是创建一个简单的Windows窗体应用程序来控制继电器板打开和关闭一些灯 . 没有什么是严肃的,这是个人项目 . 这是我继电器板的链接:http://www.canakit.com/catalog/product/view/id/627/s/4-port-usb-relay-controller/ .
现在我的问题是如何向继电器发送命令并通过USB接收一些命令 . 继电器板配有驱动器 . 这些板支持以下命令 . 那么如何通过我的窗体将它们发送到电路板 .
从用户手册:它兼容Windows和Apple OS X,以及各种Linux风格,并显示为USB CDC(通信设备类)设备,它创建一个虚拟串行(COM)端口,允许通过任何支持串行通信的编程语言(VB,VB.NET,C#,C,C,Perl,Java等) . 一套完整易用的命令可用于完全控制所有继电器,I / O通道和传感器 .
支持的命令:
RELx.ON
RELx.OFF
RELx.TOGGLE
RELx.GET
RELS.ON
RELS.OFF
RELS.GET
CHx.ON
CHx.OFF
CHx.TOGGLE
CHx.GET
CHx.SETMODE
CHx.GETANALOG
CHx.GETTEMP
CHS.ON
CHS.OFF
CHS.GET
CHS.SETTEMPRES
3 回答
查看说明手册,驱动程序为您提供串行端口访问(但没有直接的USB api),因此您必须打开到继电器板的串行端口 .
首先关闭(如果你还没有),请按照手册中 Communicating with the Controller 下的说明操作并使用HyperTerminal之类的东西确保你可以'talk'到电路板上 .
然后看看这些来自C#的简单串行通信的例子:
http://csharp.simpleserial.com/
http://msmvps.com/blogs/coad/archive/2005/03/23/SerialPort-2800_RS_2D00_232-Serial-COM-Port_2900-in-C_2300_-.NET.aspx
你应该使用System.IO.Ports.SerialPort class .
如果您已经看过该课程的文档并且在使用它时遇到问题,请详细说明您遇到的问题 .
安装驱动程序后插入设备 . 打开设备管理器,您现在应该看到主板制造商提供的COM端口 . 您可以在文档中提供COM端口,波特率,奇偶校验等 . 现在你可以使用以下代码创建一个c#控制台应用程序,我已经做了一个示例,在3秒的间隙之后发出RELx.ON,然后发出RELx.OFF: