在Raspberry Pi2上使用AT命令和Python接收空白SMS SIM800

2024-04-29 13:16:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我在rpi2上创建了这个python脚本,消息经过,但它是一个空白消息。是编码问题吗?在

import serial
import time
from sys import version_info
from curses import ascii
phone = serial.Serial("/dev/ttyAMA0", 115200, timeout=0.5)
def send_text(number,message):    
    phone.write(b'AT+CMGF=1\r')
    phone.write(b'AT+CMGS="' + number.encode() + b'"\r')
    phone.write(message.encode())
    phone.write(ascii.ctrl('z'))
    for i in range(len(reply)):
        reply[i] = reply[i].rstrip()
    print reply

AT命令(其中0000000000是10位移动电话号码) 在Minicom中,仍有空白消息

^{pr2}$

Screenshot of Message from GSM Module


Tags: fromimport脚本消息numbermessageasciiserial
2条回答

在+CSMP=17167,0,0时

参数 取决于命令或结果代码:GSM的第一个八位字节 03.40 SMS-DELIVER、SMS-SUBMIT(默认值17)

SMS-STATUS-REPORT或SMS-COMMAND(默认2)一个整数 格式。如果设置为49,则在文本模式下支持SMS状态报告。在

取决于SMS-SUBMIT设置:GSM 03.40 TP有效期为整数格式(默认167)或时间字符串 格式(参考)

整数格式的GSM 03.40 TP协议标识符(默认为0)。在

GSM 03.38整数格式短消息数据编码方案。在

文本模式参数有问题。下面的AT命令修复了它-

AT+CSMP=17,167,0,0

 info about it
AT+CSMP=<fo>,<vp>,<pid>,<dcs>
<fo>=17 Sets reply pat, user data header, status report request, validity period format, reject duplicates and message type.
<vp>=167 Sets validity period.
<pid>=0 Higher layer protocol indicator.
<dcs>=0 Information encode format.
OK Modem Response.

相关问题 更多 >