最近听说可以用USB to TTL这种方式通过串口可以控制智能设备,手头正好有树莓派,花了一点时间研究了一下,记录一下整个过程。

设备

  • 树莓派*1(以及相应的)
  • 杜邦线*1
  • USB to TTL*1

image-20181023110203373

操作步骤

  1. 启动树莓派

    把树莓派连上显示器、键盘后插上电源,树莓派就启动了(第一次用还在找开机键),如果忘记密码可以考虑重刷系统或者通过cmdline的方式修改init来重置密码。

  2. 打开树莓派串口

    安装系统,进入树莓派之后sudo raspi-config-> Interfacing Options -> Serial 修改位是。 查看/boot/config.txt 最后一行enable_uart=1是否已经加入。重启之后配置生效。

  3. 连接USB to TTL和树莓派串口

    用杜邦线将树莓派上的串口,根据相应的引脚和USB to TTL连接。四根线:

    • 树莓派5v 对应 USB to TTL 5v
    • 树莓派Ground 对应 USB to TTL Ground
    • 树莓派TXD 对应 USB to TTL RXD
    • 树莓派RXD 对应 USB to TTL TXD

    小常识(非常重要):
    TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。
    RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
    正常通信时候本身的TXD永远接设备的RXD!
    自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。
    https://detail.tmall.com/item.htm?id=39479435733

    gpios

  4. usb连接ubuntu

    如果连接成功,可以看到/dev/ttyUSB0。

  5. ubuntu安装ckermit

    sudo apt-get install ckermit
    vi /dev/ttyUSB0
    # 写入内容
    set line /dev/ttyUSB0
    set speed 115200
    set carrier-watch off
    set handshake none
    set flow-control none
    robust
    set file type bin
    set file name lit
    set rec pack 1000
    set send pack 1000
    set windows 5
    
  6. 重启树莓派,连接成功。

    image-20181023110300381

参考

  1. 通过串口连接控制树莓派 https://www.cnblogs.com/zhangzl/p/4520158.html
  2. [Android Things] 如何调试 https://www.jianshu.com/p/ceda4c16c393
  3. 树莓派串口配置及minicom的安装 https://www.jianshu.com/p/bae40bd60cd2
  4. 树莓派使用 ttl 串口转 usb 连接电脑登录终端 https://blog.lennox67.me/posts/rpi-use-tty-via-ttl.html