Raspberry Pi 3b+ 控制台和硬件问题上的串行通信
Raspberry Pi 3b+ serial communication on both console and hardware issue
我对 raspberry pi 有点陌生,但我想我设法启用了(某种)串行通信,但我感到困惑,因为它似乎同时使用控制台和调制解调器通信.
下面是我的代码:
import time
import serial
ser = serial.Serial(
port = '/dev/ttyAMA0',
baudrate = 9600,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 1
)
while 1:
ser.write('AT'+'\r')
time.sleep(1)
print(ser.read(10))
下面是我得到的输出:
Linux 9 raspberrypi AT
OK
Login incorrectraspberrypi login:
AT
OK
Login incorrectraspberrypi login:
AT
OK
Login incorrectraspberrypi login:
AT
OK
AT
OK
Login incorrectraspberrypi login:
Traceback (most recent call last):
File "sim808AT.py", line 17, in <module>
print(ser.read(10))
File "/usr/lib..." read
'device reports readiness to read but returned no data'
然后断开连接...
据我所知,要在没有控制台的情况下设置串行:
还原您对串行所做的任何更改(\boot\cmdline.txt、\boot\config.txt 等中的任何其他行)。注意:boot分区可以用MicroSloth访问OS!
运行sudo raspi-config
。
在“5 Interfacing Options”-> "P6 Serial" 下,为 shell 选择 no,为端口硬件选择 yes。
重启并测试。
顺便说一句,硬件序列现在是 ttyAMA0 而不是 ttyS0。
我实际上发现您 post 正在寻找我自己的解决方案;我在使用最新的 Pi 映像(2018 年 10 月)时遇到串行问题,但我离题了 ;)
我对 raspberry pi 有点陌生,但我想我设法启用了(某种)串行通信,但我感到困惑,因为它似乎同时使用控制台和调制解调器通信.
下面是我的代码:
import time
import serial
ser = serial.Serial(
port = '/dev/ttyAMA0',
baudrate = 9600,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 1
)
while 1:
ser.write('AT'+'\r')
time.sleep(1)
print(ser.read(10))
下面是我得到的输出:
Linux 9 raspberrypi AT
OK
Login incorrectraspberrypi login:
AT
OK
Login incorrectraspberrypi login:
AT
OK
Login incorrectraspberrypi login:
AT
OK
AT
OK
Login incorrectraspberrypi login:
Traceback (most recent call last):
File "sim808AT.py", line 17, in <module>
print(ser.read(10))
File "/usr/lib..." read
'device reports readiness to read but returned no data'
然后断开连接...
据我所知,要在没有控制台的情况下设置串行:
还原您对串行所做的任何更改(\boot\cmdline.txt、\boot\config.txt 等中的任何其他行)。注意:boot分区可以用MicroSloth访问OS!
运行sudo raspi-config
。
在“5 Interfacing Options”-> "P6 Serial" 下,为 shell 选择 no,为端口硬件选择 yes。
重启并测试。
顺便说一句,硬件序列现在是 ttyAMA0 而不是 ttyS0。
我实际上发现您 post 正在寻找我自己的解决方案;我在使用最新的 Pi 映像(2018 年 10 月)时遇到串行问题,但我离题了 ;)