树莓派与arduino串行通信

本文介绍了如何实现树莓派与Arduino之间的串行通信。通过连接两个设备的RX、TX和GND引脚,可以实现双向数据传输。在树莓派端,需要修改配置文件以释放串口,并使用Python的`serial`库进行串口通信,实现数据的发送与接收。
摘要由CSDN通过智能技术生成

树莓派与arduino都有一个串行口,都是TTL电平,可以直接连接。不同的是树莓派是5V供电,而arduino是3.3V供电。

1、连接方式:

          树莓派的RX       -----      arduino的TX

          树莓派的TX       -----      arduino的RX

          树莓派的GND      -----      arduino的GND

2、树莓派串行口配置

    树莓派的串口在启动时默认为控制台,给SSH调试使用,若要使用串口需要修改两处文件。

【1】/boot/cmdline.txt
    【输入以下指令】
    sudo nano /boot/cmdline.txt
    【删除红色部分】
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
    【最终变为】
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
【2】/etc/inittab
    【输入以下指令】
    sudo nano /etc/inittab
    【注释最后一行内容】
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

3、树莓派使用minicom
    配置完之后便可测试一下树莓派的UART是否正常工作,而minicom便是一个简单好用的工具。minicom是linux平台串口调试工具,相当于windows上的串口调试助手。
    【1】minicom安装
    sudo apt-get install minicom
    【2】minicom启动
    minicom -b 9600 -o -D /dev/ttyAMA0
    -b代表波特率,-D代表端口,/dev/ttyAMA0 类似于windows中的COM1,-o功能暂时未知。


    图2 minicon界面
    【3】minicom发送内容
        直接在控制台中输入内容即可,如果minicom打开了回显可在控制台中观察到输出内容,如果回显关闭则控制台中没人任何反应,千万不要以为minicom没有正常工作。
    【4】minicom回显控制
        先Ctrl+A,再E。可翻转回显状态(原来回显打开则此事回显关闭)
    【5】minicom回显关闭
        先Ctrl+A,再Q。

4、树莓派使用pyserial
    minicom仅满足调试用途,如果需要编程解决问题那么python的serial扩展库——pyserial则是一个不错的选择。pyserial模块非常好用,后面的文章还会分析如何使用pyserial控制GPRS模块。
    【pyserial安装】
    安装pyserial扩展库有很多种方法,可使用pip或者easy_install安装,也可以直接选择apt-get工具安装。
    若使用apt-get工具安装,可输入以下指令
    sudo apt-get install python-serial

    【串口回显程序】
    非常简单的一个串口程序,树莓派通过串口返回接收的内容。
[python] view plain
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值