Ran*_*ndu 3 serial-communication raspberry-pi
我们如何使用带有python脚本的raspberry pi进行串行通信,以便将数据发送/接收到我的笔记本电脑?如果是,我们可以使用RS232电缆直接连接到树莓派上的TX/RX端口吗?如果是,必须从RS232电缆使用哪些引脚?如果有人可以发布示例python脚本,那将是完全有用的吗?
由于我的第一个目标是向/从树莓派发送/接收数据到笔记本电脑,我在两端使用RS232到USB线连接到笔记本电脑以及树莓派.
适用于RS-232
1)下载Putty.
2)购买串行端口RS232到TTL转换器模块和用于PC的RS-232串行电缆.
3)按照此链接上 与微控制器或其他外设连接的步骤进行操作.实际上阅读整个事情是为了更好地理解.
4)用3.3V(引脚1)或5.0V(引脚2)为转换器模块供电,将模块的Rxd引脚连接到Rpi上的Rxd(引脚8),将Txd引脚连接到Rpi上的Txd(引脚10).
5)将RS-232(从PC)电缆连接到转换器模块
现在您已准备好在Python中进行一些编码.但在此之前,请确保您拥有名为serial for python 的库来创建通信.您可以通过键入sudo apt-get install python-serial轻松地通过终端获取它.您还将看到代码中的波特率为7200.根据同步情况,它可能会更少或更多.还要确保putty和COM1中的波特率相同,这是RS-232连接到PC的端口.您可以在Windows中从设备管理器进行检查和设置.顺便说一下,超时是您收到的每条消息之间的时间间隔.
如果您无法从空闲运行代码(某些库发生这种情况),请在终端中执行.为此,转到保存python代码并键入python name.py的文件夹.
import serial
import time
def readlineCR(port):
rv = ""
while True:
ch = port.read()
rv += ch
if ch == '\r' or ch == '':
return rv
port = serial.Serial("/dev/ttyAMA0", baudrate = 7200, timeout = 2)
while True:
rcv = readl?neCR(port)
port.write("I typed: " + repr(rcv))
print(rcv)
Run Code Online (Sandbox Code Playgroud)
适用于USB串口转PC
你有两个选择
首先,您可以购买用于RS-232/RS-485的USB加密狗,这样就不会使用GPIO引脚.但最好是为所有鼠标,键盘和加密狗安装一个USB集线器.
第二个也更容易,您可以购买FTDI USB转TTL转换器并使用GPIO与Rpi进行串行通信.这个代码与上面的代码完全相同.连接这很容易.
模块 - Rpi
Txd - > Txd
Rxd - > Rxd
Gnd ---> Gnd
| 归档时间: |
|
| 查看次数: |
31744 次 |
| 最近记录: |