2011-01-25 67 views
1

我想在OSX 10.6.6上製作一個簡單的python 2.6應用程序,它可以在我的Zoom 7.2m(3g)USB調制解調器上發送和接收SMS。如何通過AT命令使用Zoom 7.2m三頻USB調制解調器發送短信?

在最初插入USB調制解調器時,似乎沒有創建TTY或CU會話。我必須運行調制解調器軟件才能啓動以下會話;

cu.LJADeviceInterface2621 cu.LJADiagConnector2620 cu.LJAMobileConnector2622 tty.LJADeviceInterface2621 tty.LJADiagConnector2620 tty.LJAMobileConnector2622

經過一番 「快樂」,似乎唯一的會議上,我可以讀,寫的就是「 cu.LJADeviceInterface2621" 。嘗試連接到此tty實例時,出現錯誤 -

serial.serialutil.SerialException:無法打開端口/dev/tty.LJADeviceInterface2621:[錯誤16]資源繁忙:'/ dev/tty .LJADeviceInterface2621'

這很好,但我至少有一些工作,銅當量。

我的腳本如下;

  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 [按下確認鍵來提交寫入]

AT + CMGW = 「+ 447725123123」 \ r \ n [按下確認鍵來提交寫入]

ERROR

我應該寫信息的文本,然後按Ctrl-Z(字符(13),但我得到一個直接的錯誤。

USB調制解調器有一個有效的SIM卡,信用,它有信號,我可以從縮放調制解調器軟件發送文本(但這隻適用於PDU模式 - 但調制解調器支持文本模式,按照AT + CMGF =?命令)並接收消息。

任何想法?

樂意提供地方需要更多的信息,感謝 斯圖

回答

1

還記得,有很多項目在那裏,做任務爲你(pysms是其中之一)

+0

嘿,有時顯而易見的是最好的方式!謝謝你的推動,我結束了使用pyMobile(http://sourceforge.net/projects/pymobile/)。它自2003年以來一直沒有更新,但它直接與調制解調器一起工作 - 經過兩天通過自己編寫代碼進行爭論後非常令人沮喪。我必須編寫一小段代碼才能在調制解調器上執行不受包支持的命令(它只支持發送盒子)。如果有人想要實現該代碼的方向,請讓我知道。再次歡呼! – 2011-01-27 12:26:09

0

嗯,我從來沒有使用調制解調器,但我想它使用標準GSM AT命令,AT + CMGW是錯誤的。

您應該發送:AT + CMGS = 「+ 111111111」 \ r \ n短信按Ctrl-Z

這應該工作

+0

/\即時發送消息。我想存儲到內存中,然後發送。乾杯 – 2011-01-27 12:29:05

相關問題