树莓派串口配置
2018-12-06 本文已影响0人
zheng_zq
插上蓝牙模块
以下是树莓派原理图
image.png
配置串口
- 首先可以查看串口映射关系
ls -l /dev
image.png
以上图片是我已经配置完之后截图的,一开始的话是没有serial0->ttyS0的。
- 先安装gedit便于修改配置文件
sudo apt-get install gedit
- 开始修改配置文件
cd /boot
sudo gedit config.txt
在最后一行加上dtoverlay=pi3-miniuart-bt
然后保存文件,重启树莓派使之生效。
这样我们就可以将树莓派3的蓝牙切换到mini串口(ttyS0),并且恢复硬件串口(ttyAMA0)到GPIO 14&15脚中。
串口调试
- 先安装cutecom(图形界面串口调试助手)
sudo apt-get install cutecom
- cutecom
sudo cutecom
选择ttyS0、波特率为9600就可以通过蓝牙模块和手机正常通信了。
serial
如果想用python的serial模块做上位机
要输入sudo chmod 777 /dev/ttyAMA0
python代码:
#coding=utf-8
import serial
import easygui
import time
ser = serial.Serial("COM7",9600)
# 测试发送
while(1):
Yes_or_No = easygui.buttonbox("是否发送数据?", choices = ['Yes','No','退出'])#提供简易UI
if Yes_or_No=='退出':break
if Yes_or_No=='Yes':
ser.write("ok".encode())#向端口写数据
ser.close()#关闭端口
else:
ser.write("no".encode())
ser.close()#关闭端口
break
# 测试接受和发送
# def main():
# while True:
# # 获得接收缓冲区字符
# count = ser.inWaiting()
# if count != 0:
# # 读取内容
# recv = ser.read(count)
# if recv == "1":
# ser.write("you send 1\n")
# # 清空接收缓冲区
# ser.flushInput()
# # 必要的软件延时
# time.sleep(0.1)
#
#
# if __name__ == '__main__':
# try:
# main()
# except KeyboardInterrupt:
# if ser != None:
# ser.close()
如果报错就pip install serial
如果还报错就pip install pyserial