如何使用SIM808将带有python脚本的post请求从服务器发送到数据库?

2024-03-29 10:59:40 发布

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

当python代码在+HTTPREAD处运行命令时,我收到一个错误。另外,无法让命令退出,因此在我再次尝试运行时会产生错误,因此必须重新启动模块。调试允许我在某个时候发送数据,但程序不能自己运行。你知道吗

我试着运行AT+HTTPREAD命令。我还尝试使用+SAPBR命令关闭模块,但没有成功。在测试运行失败后运行每个命令时,我收到了不同的结果。你知道吗

import serial
port = serial.Serial("/dev/ttyS0", baudrate=19200, timeout=3)

def execute(cmd):
    global port
    msg = (cmd + '\r').encode()
    port.write(msg)
    result = port.read(100).decode()
    return result

def close_all():
    cmd = "AT+SAPBR=0,1"
    result = execute(cmd)
    print(result)
    port.close()
    exit(1)

cmd = "AT"
result = execute(cmd)
print(result)
if "ERROR" in result:
    exit(1)

cmd = "AT+SAPBR=3,1,\"\",\"\""
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

cmd = "AT+SAPBR=3,1,\"\",\"""
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

cmd = "AT+SAPBR=1,1"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

cmd = "AT+SAPBR=2,1"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()


cmd = "AT+HTTPINIT"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()


cmd = "AT+HTTPPARA=\"CID\",1"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

cmd = "AT+HTTPPARA=\"URL\",\"http:""
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

cmd = "AT+HTTPACTION=1"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()


cmd = "AT+HTTPREAD=0,100"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

cmd = "AT+HTTPTERM"
result = execute(cmd)
print(result)


close_all()

我希望这能测试我的服务器读写数据库数据的能力。你知道吗


Tags: in命令cmdcloseexecuteifport错误
1条回答
网友
1楼 · 发布于 2024-03-29 10:59:40

我的错误在命令行。我漏掉了“HTTREAD”的“P”。正确的命令是'AT+HTTPREAD=0100'。你知道吗

cmd = "AT+HTTPREAD=0,100"
result = execute(cmd)
print(result)
if "ERROR" in result:
    close_all()

相关问题 更多 >