树莓派4B按Pubnub GPS教程操作运行脚本报串口错误如何解决
树莓派4 GPS串口报错解决方案
该报错核心原因是/dev/ttyS0串口设备无法被正常配置访问,属于树莓派4硬件串口映射的典型问题,按以下步骤排查解决:
- 第一步:启用硬件串口并关闭串口登录
执行配置命令:
依次选择sudo raspi-configInterface Options->Serial:- 提示「是否启用串口登录shell」选择否
- 提示「是否启用硬件串口功能」选择是
保存退出后重启设备。
- 第二步:调整串口映射,将高性能硬件串口分配给GPIO接口
树莓派4默认将硬件串口ttyAMA0分配给蓝牙模块,GPIO用的是性能不稳定的迷你串口ttyS0,修改配置文件优先使用硬件串口:
编辑配置文件(新系统路径为/boot/firmware/config.txt,旧版Raspbian为/boot/config.txt),在文件末尾添加两行:
执行命令禁用蓝牙服务避免冲突:dtoverlay=disable-bt enable_uart=1
重启设备后,GPIO对应的串口设备路径变更为sudo systemctl disable hciuart/dev/ttyAMA0,将gps_simpletest.py中第21行的/dev/ttyS0替换为/dev/ttyAMA0。 - 第三步:确认当前用户的串口访问权限
执行命令将当前用户加入串口权限组:
执行后注销当前用户重新登录生效。sudo usermod -aG dialout $USER - 第四步:验证串口硬件连接与通信
安装串口测试工具:
执行测试命令查看是否有GPS的NMEA报文输出:sudo apt update && sudo apt install -y minicom
如果能看到类似minicom -b 9600 -D /dev/ttyAMA0$GPRMC开头的报文输出,说明串口通信正常,回到脚本运行即可。如果没有输出,检查硬件接线:GPS模块的TX接树莓派BCM编号15引脚(GPIO RX)、RX接BCM编号14引脚(GPIO TX),确保两个设备共地、供电电压符合GPS模块要求。
内容的提问来源于stack exchange,提问作者T bow
相关产品推荐
相关产品推荐

