美文网首页python交流学习
python:短信发送和接收库 python-gsmmodem

python:短信发送和接收库 python-gsmmodem

作者: 78c40b03ee4e | 来源:发表于2019-02-26 21:49 被阅读0次

    前言

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

    1. 发送短信、检测信号强度

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

    3. 支持短信状态报告追踪

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

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

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

    示例

    短信接收和回复

    #!/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的学习qun 740322234
    无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    相关文章

      网友评论

        本文标题:python:短信发送和接收库 python-gsmmodem

        本文链接:https://www.haomeiwen.com/subject/slttuqtx.html