Существует последовательный порт, который может получать текстовые сообщения от внешнего устройства. Теперь я хочу передать эти сообщения специальному программному обеспечению. Но это программное обеспечение может принимать только пакеты TCP/IP. Например, я могу использовать telnet для подключения и отправки текстовых сообщений. Буду ли я эмулировать устройство NIC? Есть ли свободное программное обеспечение или коммерческое программное обеспечение, которое может делать такие вещи?
2 ответа
Я возьму на себя Linux.
Сначала вам нужно идентифицировать ваше последовательное соединение, обычно это имеет вид /dev/ttyS0
. Использование dmesg | grep tty
должен помочь найти его.
Далее вы хотите установить скорость последовательного соединения - 9600, 8n1 является общим:
stty -F /dev/ttyS0 9600 cs8 -parenb -cstopb
Теперь вы можете прочитать tty с помощью cat /dev/ttyS0
, однако мы хотим направить все, что поступает через tty, в соединение tcp. Для этого мы будем использовать netcat
:
sudo apt-get install netcat # this is debian style package management, yours may differ
Теперь, предполагая, что ваше программное обеспечение прослушивает IP-адрес 192.168.10.1 на порту 3322, мы перенаправим вывод с cat
на nc
, который является netcat, который будет подключаться и передавать входящий трафик службе:
cat /dev/ttyS0 | nc 192.168.10.1 3322
Проверьте ser2net
ser2net предоставляет пользователю способ подключения из сетевого подключения к последовательному порту.