字符串写在Raspberrypi上的python串口

时间:2015-12-15 05:49:58

标签: python serial-port raspberry-pi

我正在使用python语言在RPi中实现SIM900接口。 但是,在port.write()函数中发送字符串时出现问题。

这是我的代码:

# This line has to write on serial port
port.write(b'AT+SAPBR=3,1,"APN","TATA.DOCOMO.INTERNET"\r\n') 

以上一行效果很好......

现在我的要求是必须从命令行读取的字符串TATA.DOCOMO.INTERNET,我需要用b'AT+SAPBR=3,1,"APN","xxxx"\r\n'附加该字符串。

但是当我试图将APN名称读入变量并且在追加它之后它不起作用时,代码行是

# AP ="TATA.DOCOMO.INTERNET"-string read from serial input
AP = gsm.read() 
t1 = "AT+SAPBR=3,1,"
t2 = '"APN",'
t3 = AP
t4 = '\r\n'
t = t1 + t2 + t3 + t4

它在python中的输出如下:

AT+SAPBR=3,1,"APN","TATA.DOCOMO.INTERNET"\r\n'

它看起来像我需要的行,但是当我写入gsm.write(t)时 它给出了一个错误,我甚至试过

gsm.write(byte(t))
gsm.write(t.encode())

但是,它仍然不起作用。

1 个答案:

答案 0 :(得分:0)

您可以尝试将此代码与Python标准的os模块一起使用:

import os

os.system(b'echo -e "AT+SAPBR=3,1,\"APN\",\"TATA.DOCOMO.INTERNET\"\r\n" >> ttyAMA0')

祝你好运