树莓派3与PC机通信
一、前言
在写这篇博客之前,网上已经有很多关于树莓派和PC机通信的博客教程,因此这篇博客从技术上讲也算不上原创,只不过是结合自己的使用情况做一个总结,便于以后快速解决同样的问题。
二、过程目录
1.硬件连接
2.恢复硬件串口配置方法
3.编写串口测试代码
4.使用串口调试助手完成测试
三、具体过程
硬件资源:树莓派3、PC机、USB转TTL模块
(一)硬件连接
将树莓派的GPIO14和GPIO15引脚分别和USB转TTL模块上的PB10和PB11引脚(原因见下图)进行连接,并用USB线连接PC机和USB转TTL模块。下面第一张图为树莓派3的GPIO引脚图,第二张图为USB转TTL模块图。
在USB转TTL模块中,右边有8个引脚,左边4个和右边4个是完全相同的,只不过为了模块化设计,将这个模块和主控芯片引脚断开,必要时只需要用跳线帽进行连接即可。红色跳线帽共地,蓝色跳线帽共5V,和树莓派GPIO口连接的杜邦线需要连接PB10和PB11对应的左边的引脚。
(二)恢复硬件串口的配置方法
1.下载pi3-miniuart-bt-overlay文件,然后在Terminal终端进入文件存放目录,执行以下命令将文件解压到目录 /boot/overlays/ 下。
sudo unzip pi3-miniuart-bt-overlay.zip -d /boot/overlays/
2.使用以下命令编辑 /boot 目录下的config.txt文件
sudo nano /boot/config.txt
config.txt文件初始状态如下:
在文本末尾加上如下一行代码:
dtoverlay=pi3-miniuart-bt
按下Ctrl+O组合键,再按下Enter键进行保存操作,最后按下Ctr+X组合键返回终端窗口。
3.输入以下命令编辑 /boot 目录下的cmdline.txt文件
sudo nano /boot/cmdline.txt
删除 console=serial1,115200
删除前可先进行备份,按下Ctrl+6开始标记,按下方向键可以标记多个,被标记的内容会反白,再次按下Alt+6完成复制,按下Ctrl+U完成粘贴操作;在一行代码前添加 # 符号可以注释掉该行代码。效果如下:
保存后返回到终端窗口初始界面。
4.更新配置并重启
依次输入以下命令进行配置更新:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
5.查看修改后的映射关系
输入以下命令查看当前映射关系:
ls -l /dev
修改后的映射关系如图:
6.在树莓派命令窗口中分别通过如下两个命令停止和禁用串口的控制台功能
sudo systemctl stop aaa@qq.com
sudo systemctl disable aaa@qq.com
7.重启树莓派
sudo reboot
(三)串口测试代码
使用Python语言在Python图形化界面软件Geany中编写以下代码(一个回显程序),并保存为Uart_test.py。
# -*- coding: utf-8 -*
import serial
import time
#open the serial
ser = serial.Serial("/dev/ttyAMA0",115200)
def main():
while True:
#get Buffered character
count = ser.inWaiting();
if count !=0:
#read content and show return
recv = ser.read(count)
ser.write(recv)
#clear Buffer
ser.flushInput()
time.sleep(0.1)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
if ser != None:
ser.close()
在终端窗口进入程序保存目录,输入以下命令执行测试程序。
python Uart_test.py
(四)使用串口调试助手完成测试
在PC端打开串口调试助手,在能搜索到串口的前提条件下,将波特率调整为115200,打开串口,发送数据,观察接收窗口是否可以接收到发送的数据。
参考博客:
上一篇: 更新FreeBSD Port Tree的几种方法小结
下一篇: 什么是反射?
推荐阅读
-
树莓派3B板载蓝牙与HC05蓝牙模块通讯(C++编程实现)
-
毕设笔记03-Arduino与树莓派实现串口通信并传输温湿度数据
-
树莓派3b + Ubuntu mate 18.04 + ROS Melodic + 另一台主机ROS通信【下】
-
FA1204电子天平与PC机间的串口通信程序设计
-
.Net Core使用Socket与树莓派进行通信详解
-
3GPP R16中与车联网、PC5、V2X、直连通信相关的协议汇总
-
树莓派与PC端在局域网内运用python实现即时通讯
-
树莓派3与PC机通信
-
倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码
-
.Net中Core使用Socket与树莓派进行通信的实例分析(图文)