Я разработал встраиваемое приложение, которое запрашивает информацию о статусе от устройства вниз канал передачи. Мой клиент требует, чтобы они были отправлены с определенным периодом времени, поэтому что я ищу, приложение разъема сигнала ПК, которое может неоднократно отправлять команду текстовой строки в интервале набора в течение времени. Я в настоящее время использую тестер последовательного устройства, который может сразу передать строку набора обратно, когда что-то отправляется в нее, но я должен управлять периодом времени и количеством повторений.
Есть ли какие-либо приложения (для Windows) там, который может достигнуть этого?
Скрипты Docklight / Docklight Для тестирования приложений связи через последовательный порт - лучший инструмент для работы. Он слушает пользовательские последовательности последовательностей на последовательном порте и затем может вызвать передачу с параметрами, полученными из входного сообщения или функции в скрипте.
Я написал программу C ++ для проверки встроенного последовательного приложения, и это было +/- 1000 строк кода. Я смог заменить это около 20 строк сценария VB в сценарии Docklight.
Docklight определенно стоит денег.
Я бы стремился реализовать короткий сценарий 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 (доступны с того же сайта).
Сервисный эмуляция серийной терминалы TERA TERM, имеет язык сценариев, который будет способен настроить временные петли.
Для этого я бы написал программу C #. Они имеют библиотеки для открытия COM-портов и таймеров к моменту отправки данных.
Вы можете использовать встроенный планировщик задач Windows для выполнения простого пакетного скрипта, который пишет тексты к COM-порту, некоторые думают, как
echo "Hell there" > COM1:
, но я не сделал это в том, что он так Мой синтаксис ржавый. В противном случае вы можете использовать простую программу «термулятора», которая поддерживает скрипты - снова я не сделал это за десятилетие, я думаю.
Я использую RealTerm. Вы можете написать для него сценарии и заставить его повторно отправлять этот файл. Вы можете добавить задержки между символами или задержки между строками. Иногда это немного глючит, но отлично по цене (бесплатно).