开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
python-gsmmodem首页、文档和下载 - 短信发送和接收库 - 开源中国社区
全部项目分类
LGPL
Python
跨平台
分享
收藏
13 人收藏
收录时间:2017-06-22
python-gsmmodem 详细介绍

Python实现的短信发送/接收库,支持多种型号的短信猫。主要功能有:

  • 发送短信、检测信号强度

  • 基于回调的来电和短信处理方法

  • 支持短信状态报告追踪

  • 使用Python异常包裹AT命令错误

  • 模块化代码,具有良好的扩展能力

  • 提供了一些简单的调试工具。

示例

短信接收和回复

#!/usr/bin/env python

"""\
Demo: handle incoming SMS messages by replying to them
Simple demo app that listens for incoming SMS messages, displays the sender's number
and the messages, then replies to the SMS by saying "thank you"
"""

from __future__ import print_function

import logging

PORT = '/dev/ttyUSB2'
BAUDRATE = 115200
PIN = None # SIM card PIN (if any)

from gsmmodem.modem import GsmModem

def handleSms(sms):
    print(u'== SMS message received ==\nFrom: {0}\nTime: {1}\nMessage:\n{2}\n'.format(sms.number, sms.time, sms.text))
    print('Replying to SMS...')
    sms.reply(u'SMS received: "{0}{1}"'.format(sms.text[:20], '...' if len(sms.text) > 20 else ''))
    print('SMS sent.\n')
    
def main():
    print('Initializing modem...')
    # Uncomment the following line to see what the modem is doing:
    logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.DEBUG)
    modem = GsmModem(PORT, BAUDRATE, smsReceivedCallbackFunc=handleSms)
    modem.smsTextMode = False 
    modem.connect(PIN)
    print('Waiting for SMS message...')    
    try:    
        modem.rxThread.join(2**31) # Specify a (huge) timeout so that it essentially blocks indefinitely, but still receives CTRL+C interrupt signal
    finally:
        modem.close();

if __name__ == '__main__':
    main()
python-gsmmodem

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 python-gsmmodem 的评论 (全部 1 条评论)
{{repayCom.userName}}
郑启强
优质三网合一短信通道,价格可谈,能发通知,营销,验证码短信,有需要的加我微信NX94CG,我们详聊
顶部