短信发送和接收库 python-gsmmodem

LGPL
Python
跨平台
2017-06-22
Kinegratii

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()
的码云指数为
超过 的项目
加载中

评论(1)

郑启强
郑启强
优质三网合一短信通道,价格可谈,能发通知,营销,验证码短信,有需要的加我微信NX94CG,我们详聊

暂无资讯

暂无问答

一些AT指令详解

1. 使用“CNMI” 与“CSMP”指令设置不通过SIM卡进行数据传输因为SIM卡只有1万到10万次读写次数和10-18条的存储空间,还涉及到SIM卡上短消息读写需要 一定的时间才能完成。这些因素影响了许...

2015/12/01 17:31
36
0
Python 学习线路图

Python 学习线路图 PyCharm教程 Pycharm介绍 Pycharm安装 Pycharm了解基础知识 Pycharm 快捷键 Pycharm快捷方式 Pycharm Omni Pycharm Macros Pycharm Micros Pycharm改进和编写代码 Pychar...

2018/10/10 17:33
90
0
python 语言

Python 学习资料汇总

2014/10/25 11:28
84
0
Python天天美味(总)

Python Eat me! Python天天美味,每天一口,乐在其中,悠哉,悠哉~~ - CoderZh Python 天天美味(1) - 交换变量 Python 天天美味(2) - 字符遍历的艺术 Python 天天美味(3) - 字符转换 Python...

2014/07/28 11:32
19
0
Python: Monitoring a Directory

Basic mtime + checksum + directory traversal Code #!/usr/bin/env python ''' monitor a directory print the changed files in the directory strategy: mtime + checksum ''' import ...

2012/08/30 12:44
119
0
Python经典资料汇总80个下载目录-Python典藏

Python经典资料汇总80个下载目录-Python典藏 80个Python资料,分享给Python开发的同学。内容包括1个Python专题、66个学习资料、7套Python源码和6个相关软件。附件较多,无法一一分享,在此大...

2015/05/30 00:06
124
1
教为学:python学习之路(一):python源码安装

教为学:python学习之路(一):python源码安装 前言 Python是一门万金油语言,特别在Linux下。一般的Linux系统也自带Python。不过,我们依旧有必要学习怎么在Linux下安装Python。 操作系统的...

2014/09/02 11:42
12
0
Win10下python3和python2多版本同时安装并解决pip共存问题

Win10下python3和python2多版本同时安装并解决pip共存问题 特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似。 使用python开发,环境有Python2和 ...

2018/12/23 11:58
27
0
Debian9.2中将默认的Python2为系统的python3

Debian9.2中将默认的python2,但现在用python3,把系统默认的python改为python3: 1.查看系统默认的python应用程序: root@debian92:/usr/bin# ls -la python lrwxrwxrwx 1 root root 9 1月 24...

2017/10/31 11:56
17
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部