Программно говоря с Последовательным портом в OS X или Linux

У меня есть Прооблегченный светодиодный знак, что мне нравится настраивать, чтобы показать, что прокрутка поисковых запросов от апача регистрируется и другая забавная статистика. Проблема, мой G5 не имеет последовательного порта, таким образом, я должен использовать usb для последовательного аппаратного ключа. Это обнаруживается как/dev/cu.usbserial и/dev/tty.usbserial.

Когда я делаю это, все, кажется, целая и невредимая легкая рыбачья плоскодонка:

stty -f /dev/cu.usbserial
speed 9600 baud;
lflags: -icanon -isig -iexten -echo
iflags: -icrnl -ixon -ixany -imaxbel -brkint
oflags: -opost -onlcr -oxtabs
cflags: cs8 -parenb

Все также работает, когда я использую инструмент последовательного порта, чтобы говорить с ним.

Если я выполняю эту часть кода, в то время как вышеупомянутый инструмент последовательного порта, все также работает. Но как только я разъединяю инструмент, соединение теряется.

#!/usr/bin/python

import serial

ser = serial.Serial('/dev/cu.usbserial', 9600, timeout=10) 
ser.write(" \r\n") 
read_chars = ser.read(20)
print read_chars

ser.close()

Таким образом, вопрос, какое волшебство я должен выполнить, чтобы начать говорить с последовательным портом без инструмента последовательного порта? Это - проблема полномочий? Кроме того, каково различие между/dev/cu.usbserial и/dev/tty.usbserial?


Нет, никакие порядковые номера. Вещь, проблема сохраняется даже с sudo-выполнением сценария Python и единственной вещи, которая заставляет его пройти, если я открываю соединение в gui инструменте, который я упомянул.

17
задан casperOne 20 August 2012 в 20:18
поделиться

2 ответа

/dev/cu.xxxxx устройство "выноски", это - то, что Вы используете, когда Вы устанавливаете соединение с последовательным устройством и начинаете говорить с ним. /dev/tty.xxxxx "коммутируемое" устройство, используемое для контроля порта для входящих вызовов, например, слушателя факса.

5
ответ дан 30 November 2019 в 14:48
поделиться

Вы попытались следить за трафиком между GUI и последовательным портом, чтобы видеть, отправляет ли там некоторая специальная команда через? Также просто любопытный, Python отправляет ASCII и не UTF-8 или что-то еще правильное? Причина, которую я спрашиваю, состоит в том, потому что я заметил Ваши изменения кавычки для строк и на некоторых языках, который на самом деле является различием между ASCII и UTF-8.

0
ответ дан 30 November 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: