2011-11-02 5 views
3

Je cours sous Ubuntu 11.04 et un modem ZTE 3G.Comment puis-je communiquer avec un modem 3G via pySerial alors qu'il est connecté?

Le modem est composé avec WvDial

Lorsque le modem n'est pas utilisé par WvDial je peux envoyer des commandes AT au modem, et obtenir des informations telles que la puissance du signal:

AT+ZCSQ 
+ZCSQ: 1, -87 

OK 

Mais quand WvDial est en utilisant le modem, /dev/ttyUSB0 est verrouillé et je ne peux pas l'interroger. Est-ce que je manque quelque chose d'évident? Est-il possible de configurer le modem, WvDial, ou pyserial afin que je puisse envoyer des commandes AT au modem pendant qu'il est connecté?

Répondre

3

Ah. Apparemment, ce modem expose un couple de ttys pour travailler avec. J'ai pu utiliser /dev/ttyUSB1 à envoyer des commandes AT en WvDial était connecté sur /dev/ttyUSB0:

import serial 

ser = serial.Serial('/dev/ttyUSB1', 9600, timeout=2) 

at_command = 'AT+ZCSQ\r\n' 
ser.write(at_command) 
ser.sendBreak() 

line = ser.read(ser.inWaiting()) 
ser.close 

print line 
+1

Intéressant, mais s'il n'y a qu'un seul ATS? Dans ce cas, Wvdial doit probablement être arrêté. – BMiner

Questions connexes