【1】、首先这不是通过串口登录树莓派的内容,不要混了。
【2】、从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。
树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。
运行以下命令可以查看到默认的串口分配方式:
ls /dev -al 注意:此处为字母L
由于硬件串口分配给板载蓝牙使用,所以我们要释放掉,并且设置硬件串口分配给GPIO串口。
1.ssh登录树莓派系统之后
sudo raspi-config
进入树莓派系统配置界面,选择第五个Interfacing Options:
进入P6 Serial
选择关闭串口登录功能,打开硬件串口调试功能:
完成后提示以下界面,按OK
退出raspi-config设置,并根据提示重启树莓派。
2.设置硬件串口为GPIO串口
编辑/boot目录下的config.txt文件
sudo nano /boot/config.txt
添加下面两行到最后:
dtoverlay=pi3-miniuart-bt
force_turbo=1
修改后的如下图片所示
保存:Ctrl+O,退出Ctrl+X。
重启树莓派
sudo reboot
重启树莓派后,再次输入ls /dev -al,可以看到两个串口已经互相换了位置:
3.minicom串口助手测试
安装minicom
sudo apt-get install minicom
安装完成后启动minicom
minicom -D /dev/ttyAMA0 -b 9600
其中-D表示选择串口/dev/ttyAMA0,-b 设置波特率为9600,此参数可以不用设置,默认115200。
此时,可以从minicom中显示 由串口调试工具 发来的数据
【3】从树莓派端 向 串口发数据时,从终端 import serial
ser =serial.Serial(“/dev/ttyAMA0”,115200)
ser.write(x) 如果x为多个字符,则需要转码,改为“x”.encode(‘utf-8’)
此时,可以通过串口调试助手,接收到树莓派发来的消息