树莓派串口配置

插上蓝牙模块

以下是树莓派原理图


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

你可能感兴趣的:(树莓派串口配置)