Raspberry Pi 3上串行通信的问题

时间:2017-04-18 12:28:51

标签: python-3.x serial-port raspberry-pi3

我正在尝试在Raspberry Pi3和具有RS-232连接的数字传感器之间建立通信。我买了一个帽子,上面还有一个RS-232端口,可以连接到Pi上的rx和tx引脚。 Pi已安装了raspbian,我使用Python 3编写代码。

在我阅读的教程中,我说我必须首先配置Pi以允许串行通信。我已经完成了以下步骤:

第1步:

sudo raspi-config -> Interfacing Options -> Serial -> [login shell accesible over serial? -> no] -> [serial port hardware enabled? -> yes]

第2步:

sudo nano /boot/cmdline.txt 

将行更改为:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

第3步:

sudo nano /boot/config.txt 

添加行:

dtoverlay=pi3-miniuart-bt
enable_uart=1
force_turbo=1

第4步:

 sudo apt-get install python-serial

在此设置之后,我在Python 3中编写了一个非常短的程序来测试它:

import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write(bytes(5, 'UTF8'))

数字5告诉传感器更改显示的单位。代码运行没有错误消息,但我没有看到传感器的单位发生变化。如果我用一个串口到usb转换器将RS232连接到我的笔记本电脑并使用Putty监控串口,我也看不到任何发送。

如果有人能告诉我问题在哪里,那就太棒了。但我也很高兴我自己能找到解决方案的任何意见。

非常感谢, 弗洛里安

1 个答案:

答案 0 :(得分:0)

我认为Raspberry Pi 3将不同的设备用于串行端口。试试

u