ROS2与arduino入门教程-安装Teensyduino
ROS2与arduino入门教程-安装Teensyduino
说明:
- 介绍如何安装teensyduino支持teensy板子
Teensyduino安装步骤:
- 新建目录
mkdir ~/tools/teensy-micros
- 下载rules
cd ~/tools/teensy-micros
wget https://www.pjrc.com/teensy/49-teensy.rules
- 下载arduino和解压
wget https://downloads.arduino.cc/arduino-1.8.13-linux64.tar.xz
tar -zxJf arduino-1.8.13-linux64.tar.xz
- 下载teensyduino
wget https://www.pjrc.com/teensy/td_153/TeensyduinoInstall.linux64
chmod 755 TeensyduinoInstall.linux64
./TeensyduinoInstall.linux64
- 根据界面提示安装,选择刚才下载arduino目录
- 安装完成既支持teensy烧录固件
增加micros支持:
- 下载micros版本,点击选择可下载版本
cd ~/tools/teensy-micros
wget https://github.com/micro-ROS/micro_ros_arduino/archive/v0.0.4.zip
- 打开arduino IDE
~/tools/teensy-micros/arduino-1.8.13/arduino
- 进入上传库压缩包界面,
Sketch -> Include library -> Add .ZIP Library...
- 打Teensyduino补丁
#export ARDUINO_PATH=[Your Arduino + Teensiduino path]
export ARDUINO_PATH=~/tools/teensy-micros/arduino-1.8.13/
cd $ARDUINO_PATH/hardware/teensy/avr/
curl https://raw.githubusercontent.com/micro-ROS/micro_ros_arduino/foxy/extras/patching_boards/platform_teensy.txt > platform.txt
测试:
选择刷固件,
File->micro_ros_arduino->micro-ros_publisher
点击刷固件箭头,完成刷固件
在pc端,运行agent
PC端,使用ros2的版本foxy
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM0 -v6
- 效果如下:
data:
0000: 81 00 00 00 0B 01 05 00 06 00 06 00 80
[1609296063.242358] debug | SerialAgentLinux.cpp | send_message | [** <<SER>> **] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 07 00 00 00 80
[1609296064.203405] debug | SerialAgentLinux.cpp | recv_message | [==>> SER <<==] | client_key: 0x50E95322, len: 16, data:
0000: 81 80 07 00 07 01 08 00 00 11 00 05 03 00 00 00
[1609296064.203475] debug | SerialAgentLinux.cpp | recv_message | [==>> SER <<==] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0B 01 05 00 07 00 07 00 80
[1609296064.203492] debug | SerialAgentLinux.cpp | recv_message | [==>> SER <<==] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0B 01 05 00 07 00 07 00 80
[1609296064.203571] debug | DataWriter.cpp | write | [** <<DDS>> **] | client_key: 0x00000000, len: 4, data:
0000: 03 00 00 00
[1609296064.203724] debug | SerialAgentLinux.cpp | send_message | [** <<SER>> **] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 08 00 00 00 80
[1609296064.203760] debug | SerialAgentLinux.cpp | send_message | [** <<SER>> **] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 08 00 00 00 80
[1609296064.203776] debug | SerialAgentLinux.cpp | send_message | [** <<SER>> **] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 08 00 00 00 80
[1609296064.204683] debug | SerialAgentLinux.cpp | recv_message | [==>> SER <<==] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0B 01 05 00 07 00 07 00 80
[1609296064.204905] debug | SerialAgentLinux.cpp | send_message | [** <<SER>> **] | client_key: 0x50E95322, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 08 00 00 00 80
- 在PC端,新开终端,执行
ubuntu@AiROS2-NUC:~$ ros2 topic list
/micro_ros_arduino_node_publisher
/parameter_events
/rosout
- 在PC端,新开终端,执行
ubuntu@AiROS2-NUC:~$ ros2 topic echo /micro_ros_arduino_node_publisher
data: 105
---
data: 106
---
data: 107
---
data: 108
---
data: 109
---
data: 110
---
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号