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 月)时遇到串行问题,但我离题了 ;)