I am trying to make a simple python 2.6 application on OSX 10.6.6 that can send and receive SMS on my Zoom 7.2m (3g) USB Modem.
On initially plugging into the USB modem, no TTY or CU sessions seem to be created. I have to run the modem software to initiate the following sessions;
cu.LJADeviceInterface2621 cu.LJADiagConnector2620 cu.LJAMobileConnector2622 tty.LJADeviceInterface2621 tty.LJADiagConnector2620 tty.LJAMobileConnector2622
After much "fun", it seems the only session I can read and write to is "cu.LJADeviceInterface2621". On attempting to connect to the tty instance of this, I get an error -
serial.serialutil.SerialException: could not open port /dev/tty.LJADeviceInterface2621: [Errno 16] Resource busy: '/dev/tty.LJADeviceInterface2621'
Thats fine though - I at least have something to work with, the cu equivalent.
My script is as follows;
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()
Now, I also have another script that is monitoring the messages on "cu.LJADeviceInterface2621". That script is as follows;
ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)
print "Attempting search."
while True:
line = ser.readline()
print ">", line
With these scripts both running, in the WRITE code, I enter the following lines;
(Note: ZZ input is replaced for Ctrl-Z via the write script above - chr(13))
AT+CMGF=1ZZ [press enter to commit write]
OK
AT+CMGW="+447725123123"\r\n [press enter to commit write]
ERROR
I should be writing the text of the message, followed by Ctrl-Z (chr(13) but I get an immediate error.
The USB modem has a valid sim, with credit, it has signal, I can send a text from the Zoom Modem Software (this however only works in with PDU mode - but the modem does support text mode, as per the AT+CMGF=? command) and receive messages.
Any ideas?
Happy to provide more information where needed, thanks Stu