【智能小车】一、树莓派与STM32的配置

0. 整体结构

从接触单片机开始,就一直想自己做一个能实时传输视频的智能小车,用openwrt、树莓派折腾过mjpeg-streamer,也用ip摄像头、航模图传简单满足过。这次有大块时间和精力,再加上一直想从硬件的坑里跳出来,学习一下图像识别和机器学习,就翻出了箱子里的小家伙,组装了一个简陋的智能小车。在制作的过程中也发现了几个有意思的开源项目,得到了不少启发。其中有donkeycar、AutoRCCar等。
【智能小车】一、树莓派与STM32的配置_第1张图片
-做视觉SLAM时使用的turtlebot waffle
【智能小车】一、树莓派与STM32的配置_第2张图片
-本次的主角
小车由平衡小车改装而来,使用差速转向。直流电机尾部安装有霍尔传感器测速,可实现电机的闭环控制。树莓派摄像头采集数据通过tcp协议传输到pc进行数据处理或直接在树莓派上进行处理,决策后将控制信息通过串口传输给单片机,进而对小车控制。
简单记录制作过程如下。

1. 树莓派基本配置

  1. 树莓派镜像官方下载地址
  2. 使用Win32DiskImager刷写镜像
  3. 刷写完成后打开/boot,新建文本文档,重命名为ssh,以打开ssh;
  4. 新建文本文档,重命名为wpa_supplicant.conf,输入:
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
     
    network={
    ssid="WiFi-A"
    psk="12345678"
    key_mgmt=WPA-PSK
    priority=1			#priority:连接优先级,数字越大优先级越高(不可以是负数)
    }
     
    network={
    ssid="WiFi-B"
    psk="12345678"
    key_mgmt=WPA-PSK
    priority=2
    scan_ssid=1			#scan_ssid:连接隐藏WiFi时需要指定该值为1
    }
    

参考链接

2. 配置samba

  1. 打开samba可以用来传输文件,便于程序调试。安装配置步骤如下:终端运行:

    sudo apt-get update
    sudo apt-get install samba samba-common-bin
    
  2. 新建分享目录share,修改配置文件,文件路径/etc/samba/smb.conf,在文件末尾添加:

    [share]
        path = /home/pi/share
        available = yes
        valid users = pi
        read only = no
        browsable = yes
        public = yes
        writable = yes
    
  3. 添加账户,并设置密码

    sudo smbpasswd -a pi
    
  4. 重启samba服务使配置生效

    sudo samba restart
    
  5. 使用ubuntu连接到树莓派,成功。
    【图片】-ubuntu连接成功

samba参考资料:参考一 参考二

3. 配置STM32控制板

STM32控制板的作用是接收树莓派传来的指令,主要进行运动控制。使用STM32F103C8T6,目前要配置的就是PWM和串口

  1. PWM配置,用来对直流电机调速,驱动使用TB6612FNG模块。程序流程:时钟使能 --> 逻辑IO推挽输出、时钟IO复用输出 --> 设置定时器工作模式 --> 使能定时器
  2. 串口配置,用来和树莓派通讯。配置参考正点原子的例程。
    代码链接

你可能感兴趣的:(【智能小车】一、树莓派与STM32的配置)