我开发了一个嵌入式应用程序,它通过通信通道从设备请求状态信息。我的客户要求这些将在特定时间段内发送,所以我要找的是PC终端应用程序,它可以在一段时间内以设定的间隔重复发送文本字符串命令。我目前使用的是串口设备测试仪,可以在发送内容时立即发回设置字符串,但我需要控制时间段和重复次数。
是否有任何可以实现此目的的应用程序(适用于Windows)?
答案 0 :(得分:8)
Docklight / Docklight Scripting 为了通过串口测试应用程序通信,它是最好的工具。 它在串行端口上侦听用户定义的序列,然后可以使用从脚本中的输入消息或函数派生的参数来触发传输。
我编写了一个C ++程序来测试嵌入式串行应用程序,它是+/- 1000行代码。我能用Docklight Scripting中的大约20行vb脚本替换它。
Docklight绝对物超所值。
答案 1 :(得分:6)
我倾向于实现一个简短的python脚本来执行此操作(如果这是您需要的话,可以使用py2exe将其编译为独立的可执行文件。安装python和pyserial。然后使用这样的脚本:
#!/usr/bin/python
import time
import serial
# Interval in seconds
interval = 2.5
# Number of times to send
repetitions = 10
# Simple Command string
command_string = "Hello World"
# Or if it's a binary-type command:
command_bytes = [0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64]
command_string = "".join([chr(c) for c in command_bytes])
# Open the serial port - most of these settings have
# defaults in case you want to be lazy
ser = serial.Serial(
port=0, # This is COM1, use 1 for COM2 etc
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
xonxoff=0,
rtscts=0,
timeout=0)
# Loop 'repetitions' times
for i in range(repetitions):
# Send the string
ser.write(command_string)
# Go to sleep for "interval" seconds
time.sleep(interval)
但是,如果您想要一个更传统的Windows应用程序,那么您可以使用Docklight,可能与Docklight Scripting(可从同一站点获得)结合使用。
答案 2 :(得分:5)
串行终端仿真应用程序Tera Term,有一种脚本语言,可以设置定时循环。
答案 3 :(得分:4)
我使用的是RealTerm。您可以为它编写脚本并让它重复发送该文件。您可以在字符之间添加延迟或在行之间延迟。有时它有点儿马车,但它的价格很高(免费)。
答案 4 :(得分:2)
虽然已经回答,我使用http://www.hw-group.com/products/hercules/index_de.html。他们的应用程序是免费的,在串口选项卡中,我可以从rs232发送和接收数据。就像一个魅力。
答案 5 :(得分:1)
ScriptCommunicator(开源,跨平台)是适合您的工具。它有许多功能和非常有用的脚本界面。
答案 6 :(得分:0)
您可以使用内置的Windows任务计划程序运行一个简单的批处理脚本,该脚本将文本写入com端口,有人认为
echo "Hell there" > COM1:
但是我没有这样做是因为我的语法生锈了。否则你可以使用一个支持脚本编写的简单“termulator”程序 - 我认为在十年内我还没有这样做。
答案 7 :(得分:0)
我会编写一个C#程序来执行此操作。他们有库来打开COM端口和定时器,以便在何时发送数据。
答案 8 :(得分:0)
GModLab - 跨平台,可编写脚本(JS)的终端:https://github.com/tardigrade888/gmodlab 您可以编写可以执行任何操作的脚本。