Есть ли способ подключения к сетевому последовательному порту RFC2217 с помощью Twisted Python?Использовать последовательные порты RFC2217 с Twisted Python?
Pyserial, кажется, поддерживает его через serial.serial_for_url("rfc2217://...")
function. И они указывают, что twisted использует pyserial для управления последовательными соединениями, однако twisted.internet.serialport.SerialPort
, похоже, ожидает имя или номер порта, который предполагает, что он просто передает это конструктору serial.Serial
.
Я могу использовать socat для создания PTY извне и передать имя dev для скручивания, которое отлично работает, но мне было интересно, могу ли я обойти этот шаг, используя прямую поддержку pyserial.
socat PTY,link=/dev/myport TCP:192.168.1.222:9001
Edit: pyserial faq предлагает эту модификацию для инстанцирования серийных объектов:
try:
s = serial.serial_for_url(...)
except AttributeError:
s = serial.Serial(...)
Не уверен, если это поможет, хотя ...
У меня нет ответа для вас. Я боюсь; и я подозреваю, что ответ будет * Нет; еще нет*; и вы, вероятно, захотите записать проблему :) - Однако у вас есть мнение, что мы также добавляем такую функцию к [circuit.io.Serial] (https://github.com/circuits/circuits/ blob/master/circuit/io/serial.py) –
Спасибо Джеймсу, да, я посмотрю, как подать запрос о проблеме/функции, если нет хорошего ответа. –
WRT для вашего редактирования; Я думаю, вы захотите сделать '' if ': // "in''. i.e: проверка URI или что-то еще. –