配置树莓派4B的自带的串口引脚实现串口通信和小车的远程键盘控制

配置树莓派4B的自带的串口引脚实现串口通信和小车的远程键盘控制

1:如果您的树莓派上没有安装Ubuntu和ROS Melodic,请按照前面两篇博客进行安装

2:此实验将会使用树莓派的串口引脚、分别为TXD(8)、RXD(10)、3.3V(1)、GND(39)(括号内为其物理引脚),树莓派的串口默认为串口终端调试使用,如要正常使用串口传输数据则需要修改树莓派设置。(关闭串口终端调试功能后则不能再通过串口登陆访问树莓派,需从新开启后才能通过串口控制树莓派)
在这里插入图片描述操作教程:
2.1:释放串口:在终端输入

sudo raspi-config

选择 Interfacing Options ->Serial ->Select->no -> Yes -> ok -> Finish->Yes重启,此时便关闭了串口调试功能,打开了串口。
2.2:打开/boot/config.txt文件sudo gedit /boot/config, 找到这条语句

 "enable_uart=1"

如果没有可添加在文件最后面
2.3:安装Ubuntu下的串口助手sudp apt-get install minicom(此步骤可以不做)
2.4:打开串口调试助手:minicom -D /dev/ttyAMA0,(注:如果是树莓派3B或4B,板载的串口ttyAMA0作为蓝牙使用,用户串口端口改为ttyS0,即输入minicom -D /dev/ttyS0;默认波特率为115200,如需设置波特率为9600加参数 -b 9600,-D代表端口),通过windows的串口调试工具,并且使用USB转TTL模块,便可以和树莓派的串口通信(此步骤可以不做)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
3:利用ROS和串口实现键盘控制
打开终端输入

cd ~/catkin_ws/src

创建功能包:

catkin_creat_pkg telepcontrol std_msgs rospy roscpp
cd telepcontrol
添加scripts文件夹:
mkdir scripts
cd scripts
sudo gedit UartCommunicate.py

添加以下串口通信内容

#!/usr/bin/env python

###########use serial library
##添加与串口通信相关的库文件
import serial
import struct

import rospy
from geometry_msgs.msg import Twist

class  ArtOmnibotDriver():
    def __init__(self):
##ROS节点
        rospy.init_node('art_rosMove')
##订阅键盘控制有关的话题teleop_keyboard/cmd_vel,可以根据自己的键盘控制代码修改
        rospy.Subscriber('teleop_keyboard/cmd_vel', Twist, self.cmd_cb)
##配置串口,
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值