短信猫是一种将短信以电信方式发送的设备,可以方便地用于开发短信应用程序。而Python则是一门高效的编程语言,与短信猫结合使用可以实现各种基于短信的应用。
# 导入serial库和time库 import serial import time # 短信猫串口相关参数 ser = serial.Serial() ser.port = 'COM4' # 短信猫连接在COM4端口 ser.baudrate = 9600 # 串口波特率为9600 ser.bytesize = 8 ser.stopbits = 1 ser.timeout = None # 打开串口 ser.open() # 判断串口是否已打开 if ser.isOpen(): print('串口已打开') else: print('串口打开失败') # 设置短信中心号码 ser.write(b'AT+CSCA="106581388001"\r\n') # 等待短信中心号码设置成功 time.sleep(1) # 设定短信格式为PDU ser.write(b'AT+CMGF=0\r\n') # 短信内容编码方式为16进制 msg = 'Hello World!' pdu = msg.encode('hex') # 设置短信接收方号码 phone_num = '86137xxxxxxxx' # 计算短信长度,不足两位时前面补0 msg_len = hex(len(msg))[2:] if len(msg_len) % 2 == 1: msg_len = '0' + msg_len # 组合PDU格式 pdu = '0011000D91' + phone_num + '00' + msg_len + pdu # 发送短信 cmd = 'AT+CMGS=' + str(len(pdu) / 2 - 1) + '\r\n' ser.write(cmd.encode('utf-8')) time.sleep(1) ser.write((pdu + '1A').decode('hex')) # 关闭串口 ser.close()
上述代码演示了如何使用Python与短信猫结合发送一条短信。其中,先设定了短信中心号码,将短信格式设置为PDU,并按照PDU格式组装短信内容,并将其发送。需要注意的是,发送短信时需先发送“AT+CMGS”命令,指定短信长度后再发送短信内容,最后以1A结尾。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。
0