Я пытаюсь создать простое приложение python 2.6 для OSX 10.6.6, которое может отправлять и получать SMS-сообщения на моем USB-модеме Zoom 7.2m (3g).
При первоначальном подключении к USB-модему сеансы TTY или CU, по-видимому, не создаются. Я должен запустить программное обеспечение модема, чтобы начать следующие сеансы;
cu.LJADeviceInterface2621
cu.LJADiagConnector2620
cu.LJAMobileConnector2622
tty.LJADeviceInterface2621
tty.LJADiagConnector2620
tty.LJAMobileConnector2622
После большого "веселья", кажется, единственная сессия, на которую я могу читать и писать, это "cu.LJADeviceInterface2621". При попытке подключиться к tty, я получаю сообщение об ошибке -
serial.serialutil.SerialException: не удалось открыть порт /dev/tty.LJADeviceInterface2621: [Errno 16] Ресурс занят: '/dev/tty.LJADeviceInterface2621'
Это хорошо, хотя - у меня по крайней мере есть с чем работать, эквивалентно cu.
Мой сценарий выглядит следующим образом;
ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)
print "Setting DTR..."
ser.setDTR(True)
sleep(3)
print "Turning off DTR..."
ser.setDTR(False)
searching = True
ser.setDTR(True)
while searching:
print "Write instruction..."
txt=raw_input()
if txt.find("ZZ")>-1:
txt=txt.replace("ZZ",chr(13))
ser.write(txt)
ser.close()
Теперь у меня также есть другой скрипт, который отслеживает сообщения в cu.LJADeviceInterface2621. Этот сценарий выглядит следующим образом:
ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)
print "Attempting search."
while True:
line = ser.readline()
print ">", line
Когда оба этих скрипта работают, в коде WRITE я ввожу следующие строки:
(Примечание: ввод ZZ заменяется на Ctrl-Z с помощью сценария записи выше - chr (13))
AT + CMGF = 1ZZ [нажмите ввод, чтобы зафиксировать запись]
OK
AT + CMGW = "+ 447725123123" \ r \ n [нажмите ввод, чтобы зафиксировать запись]
ERROR
Я должен написать текст сообщения, затем Ctrl-Z (chr (13), но я сразу же получаю ошибку.
У модема USB есть действующий сим, с кредитом, у него есть сигнал, я могу отправить текст из программного обеспечения Zoom Modem (однако это работает только в режиме PDU - но модем поддерживает текстовый режим, согласно AT + CMGF =? Команда) и получать сообщения.
Есть идеи?
Рад предоставить больше информации, где это необходимо, спасибо
Stu