无法通过 PL2303 连接到 ESP-201
Can't connect to ESP-201 over PL2303
更新:
我认为问题出在 PL2303 的连接上。我在 Arduino 的帮助下将 ESP 的波特率降低到 9600 bps。联系了 PL2303 的制造商,并会在收到说明后更新 post。
我正在尝试让 ESP-201(ESP8255 的变体)在 Windows 主机上工作。我的目标是正确配置设置并通过获得 AT 命令的 OK 响应来验证。
我看到PL2303 PC端默认波特率为9600,ESP-201的波特率为115200。我怀疑我发送的数据没有被ESP正确接收,所以我尝试配置波特率。我尝试使用 Python 进行操作,因为 PuTTY 连接到设备但不允许我向终端提供任何输入。所以我尝试 运行 这个 Python 代码,没有 ESP 连接到 PL2303。
import serial
esp = serial.Serial(port="COM5", baudrate=9600, timeout=1)
esp.write(b"PLBAUD 115200")
time.sleep(500)
print(esp.readline())
esp.write(b"BAUD 115200")
time.sleep(500)
print(esp.readline())
这应该首先将 PL2303 的 ESP 端波特率设置为 115200,然后将 PC 端波特率设置为 115200。但是在更改波特率设置后,使用以下代码发送 AT 命令不会产生预期的 OK 响应在 Windows 设备管理器中设置波特率并插入 ESP 模块。
import serial
esp = serial.Serial(port="COM5", baudrate=115200, timeout=1)
esp.write(b"AT\r\n")
print(esp.readline())
如果发送的字符串是 UTF-8,我手动将它们编码为十六进制并再次发送,结果没有改变。
我联系了这个模块的制造商Waveshare,了解到主机PC和这个适配器TTL端的设备必须有相同的波特率才能工作。将它们都设置回 115200 即可解决。
这是因为适配器没有适应波特率的缓冲区,而不是它是一个直通设备。
更新:
我认为问题出在 PL2303 的连接上。我在 Arduino 的帮助下将 ESP 的波特率降低到 9600 bps。联系了 PL2303 的制造商,并会在收到说明后更新 post。
我正在尝试让 ESP-201(ESP8255 的变体)在 Windows 主机上工作。我的目标是正确配置设置并通过获得 AT 命令的 OK 响应来验证。
我看到PL2303 PC端默认波特率为9600,ESP-201的波特率为115200。我怀疑我发送的数据没有被ESP正确接收,所以我尝试配置波特率。我尝试使用 Python 进行操作,因为 PuTTY 连接到设备但不允许我向终端提供任何输入。所以我尝试 运行 这个 Python 代码,没有 ESP 连接到 PL2303。
import serial
esp = serial.Serial(port="COM5", baudrate=9600, timeout=1)
esp.write(b"PLBAUD 115200")
time.sleep(500)
print(esp.readline())
esp.write(b"BAUD 115200")
time.sleep(500)
print(esp.readline())
这应该首先将 PL2303 的 ESP 端波特率设置为 115200,然后将 PC 端波特率设置为 115200。但是在更改波特率设置后,使用以下代码发送 AT 命令不会产生预期的 OK 响应在 Windows 设备管理器中设置波特率并插入 ESP 模块。
import serial
esp = serial.Serial(port="COM5", baudrate=115200, timeout=1)
esp.write(b"AT\r\n")
print(esp.readline())
如果发送的字符串是 UTF-8,我手动将它们编码为十六进制并再次发送,结果没有改变。
我联系了这个模块的制造商Waveshare,了解到主机PC和这个适配器TTL端的设备必须有相同的波特率才能工作。将它们都设置回 115200 即可解决。
这是因为适配器没有适应波特率的缓冲区,而不是它是一个直通设备。