【问题标题】:Need to send specific HEX values to a com port, preferably with .vbs or a batch file需要将特定的 HEX 值发送到 com 端口,最好使用 .vbs 或批处理文件
【发布时间】:2014-02-12 01:48:31
【问题描述】:

我从 ebay 上买了 2 个这样的 USB 继电器模块,软件方面很少(没有)。

[http://cgi.ebay.ie/ws/eBayISAPI.dll?ViewItem&item=181279336378]

正如它所说的那样;

打开USB开关:A0 01 01 A2

关闭USB开关:A0 01 00 A1

我一直在使用一个名为“RS232 Monitor”的程序(我能找到的唯一一个可以让我发送 HEX 值并且可以工作的程序恰好是 30 天试用期,我知道你不应该为这些东西付费像那样),它会打开和关闭继电器。好的。但这并不好玩。

我想安排脚本,远程触发等

如果有人能帮我想出一个 .vbs 脚本或批处理文件来打开和关闭它,我将不胜感激。

感谢阅读...

【问题讨论】:

    标签: vbscript serial-port hex


    【解决方案1】:

    您可以制作一些批处理文件,然后使用 Windows 任务调度程序来进行投标。不过老实说,您会发现自己受限于 vb 或批处理脚本。

    无论如何,要将此数据从批处理文件发送到串行端口:

    1. 您必须有一个有效的通讯号码,例如COM1
    2. 将数据加载到二进制文件中,因为(不是纯文本,而是原始二进制文件)
    3. 复制 /B yourdata.bin COM1

    二进制文件很重要,因为

        echo data > com1
    

    只会发送 ASCII。您必须使用复制命令和 /B 标志将这些字节发送到您的 Arduino。看看我们已经在努力做到这一点了吗?

    我会继续列出这个列表,但实际上,只要阅读一些 .NET 或 Python(甚至是 Chrome 串行 API),你就会变得更好。

    祝你好运

    【讨论】:

    • 感谢您回复我。不幸的是,当我从 HEX 转换二进制命令时,设备不接受二进制命令,尝试使用我一直使用的实用程序发送它们(我当然将其设置为二进制模式)。我仍然尝试了您的建议,它只是在我的硬盘驱动器上创建了一个名为 COM11 的文件,上面写着“该文件无法复制到自身”...
    • 你是如何创建这个文件的?我觉得这就是事情出错的地方。您是否设置了 com 端口以匹配您的波特率?这是我成功测试的模式 COM7 BAUD=19200 Parity=n DATA=8 copy /B sample.bin COM7 我用十六进制编辑器(不是记事本)创建了我的二进制文件。
    • 谢谢,我刚刚使用了在线转换工具并用记事本保存。下载了一个十六进制编辑器并导出了文件,它可以工作了!也很好,现在我可以安排一些批处理文件等。不错的...
    • 谢谢!对不起最后一个问题,如果没有简单的答案,不用担心,我可以使用我所拥有的。但是,您知道如何从 .vbs 脚本中复制 on.bin 和 off.bin 文件吗?最好静默(即它不会弹出 CMD 窗口一秒钟),这样我就可以使用表单按钮等来更改状态。如果你不知道临时,或者它太麻烦,不要担心。你已经帮了很多忙了!!
    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多