0

vodafoneでhuawei e220モデムを使用して、Pythonでプログラムでtxtメッセージを送受信しようとしています。

editit: smsc を ***** に設定する必要があります。私が知る必要があるのは、これに設定するコマンドは何ですか?? EG AT+????

serial.Serial モジュールでこれを行うにはどうすればよいですか??? 私は苦労しています。

PyGSM はこれを行うのに最適なモジュールですか? どうやって使うの?どこにもドキュメントが見つかりませんが、より良いモジュールも見つかりません。

Daisy13_on_D1="/dev/ttyUSB0"

gsm = GsmModem(port=Daisy13_on_D1,baudrate=115200,logger=GsmModem.debug_logger).boot()

s = gsm.wait_for_network()

gsm.send_sms(642723243,"Hey, what's up")

この出力が得られます

debug Booting
   debug Connecting
   write 'ATE0\r'
    read '\r\n'
    read 'OK\r\n'
   write 'AT+CMEE=1\r'
    read '\r\n'
    read 'OK\r\n'
   write 'AT+WIND=0\r'
    read '\r\n'
    read 'COMMAND NOT SUPPORT\r\n'
   write 'AT+CMGF=1\r'
    read '\r\n'
    read 'OK\r\n'
   write 'AT+CSQ\r'
    read '\r\n'
    read '+CSQ: 19,99\r\n'
    read '\r\n'
    read 'OK\r\n'
   write 'AT+CMGS="642723243"\r'
    read '\r\n'
    read '+CMS ERROR: 330\r\n'
   write '\x1b

また、sms0.4 モジュールも使用しようとしていますが、うまくいきません。

import sms

m = sms.Modem("/dev/ttyUSB0")

m.send('64272923243','This works YO')
print m.conn.sent()

結果:

Traceback (most recent call last):   File "testSMSMODULE.py", line 5, in <module>
    m.send('0272923243','This works YO')   File "/usr/local/lib/python2.7/dist-packages/sms-0.4-py2.7.egg/sms/__init__.py", line 61, in send
    self._command('AT+CMGS="%s"' % number)   File "/usr/local/lib/python2.7/dist-packages/sms-0.4-py2.7.egg/sms/__init__.py", line 109, in _command
    raise ModemError(results) sms.ModemError: ['\r\n', '+CMS ERROR: 330\r\n']
4

2 に答える 2

1

モジュールはsmsはるかに使いやすいようです:http: //pypi.python.org/pypi/sms

簡単に言うと、PythonでGSMモデムのシリアルインターフェースを介してテキストを送信するには、次のようにします。

#!env python
import serial
m = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
m.write('ATZ\r')
m.write('AT+CMGF=1\r\n')
m.write('AT+CMGS="%s"\r\n' % '+phone_number_here')
m.write('this is the text message here')
m.write(chr(26))
m.close()

SMSCを設定するATコマンドは次のとおりAT+CSCA="+smsc_number_here",145です。http://www.developershome.com/sms/cscaCommand.aspを参照してください

于 2012-12-07T00:09:59.430 に答える
1

私の知る限り、あなたが望むことを行う最高の無料ライブラリは SMSLib と呼ばれ、Java で書かれています。ハードウェアに固有の多くの問題を修正する準備をしてください。ただし、一般的には問題なく動作します。

「 ActiveXperts Mobile Messaging Toolkit 」と呼ばれる商用ソリューションがあり、COM バインディングを介して Python から使用できます。自分でそれを試したことはありませんでしたが(必要な場合は、代わりに独自のソリューションを実装しました)、インターネット上の人々はそれがうまくいくと言います.

私の知る限り、それらの残りはがらくたです。

于 2012-11-27T00:18:24.643 に答える