ROS Kinetic 与STM32通信,控制一盏LED灯

1、首先、新建一个工作空间。

mkdir - p stm32_project/src

   编译

catkin_make

  进入src

cd stm32_project/src

  添加stm32f103rc_rosserial包

git clone https://github.com/ykevin/stm32f103rc_rosserial.git
cd ..
catkin_make
source devel/setup.bash

 2、安装编译工具链

sudo apt-get install -y git build-essential gcc-arm-none-eabi

3、安装ST_LINK V2 烧录驱动

git clone https://github.com/texane/stlink.git 
cd stlink 

 

make
cd build/Release
sudo make install

安装完毕。

4、修改GPIO

在Driver里面可以看到有编写好的led的代码。这里要更改你开发板的灯对应的GPIO,打开Bsp文件夹,找到config.h文件。这里修改对应的GPIO即可

5、编译烧录

cd stm32_project/src/stm32f103rc_rosserial
make

 这里会生成main.elf和main.bin以及.o文件

 接着插入ST_Link,连接开发板和电脑

查看是否有ST_LINK

lsusb

 ROS Kinetic 与STM32通信,控制一盏LED灯_第1张图片

 没有的话就是驱动安装失败,重新安装。 

烧录:

make flash

 烧录成功后,会发现灯已经亮起。

用USB跟STM32通信。

6、USB权限设置

sudo chmod 777 /dev/ttyUSB0
$sudo usermod -aG dialout username

  username是自己的用户名。重启。

reboot

7、通信测试。

  启动master

roscore

 另一个终端打开,开启USB连接。

 rosrun rosserial_python serial_node.py /dev/ttyUSB0

成功:截图如下:

ROS Kinetic 与STM32通信,控制一盏LED灯_第2张图片

8、查看正在发布的话题

rostopic list

ROS Kinetic 与STM32通信,控制一盏LED灯_第3张图片

9、发布话题消息

rostopic pub /led std_msgs/Float64 0.01

观察灯的情况即可。

小白的学习笔记,学习ROS很娱快。

你可能感兴趣的:(ROS,嵌入式)