我正在尝试在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监控串口,我也看不到任何发送。
如果有人能告诉我问题在哪里,那就太棒了。但我也很高兴我自己能找到解决方案的任何意见。
非常感谢, 弗洛里安
答案 0 :(得分:0)
我认为Raspberry Pi 3将不同的设备用于串行端口。试试
u