【ESP32-microros(vscode-Platformio)】

一、步骤

1、目前支持ESP32

2、同一个局域网

3、上位机要安装代理(电脑或者linux设备)

4、可直接通过USB下载,也可以使用官方烧录工具,具体的分区表地址要从USB烧录的时候日志查看,一共四个文件,第三个文件在安装目录下。

4.1在Platformio项目下终端运行命令烧录

platformio.ini文件

bash 复制代码
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html


[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduino
board_microros_transport = wifi
lib_deps = 
    https://gitee.com/ohhuo/micro_ros_platformio.git

main.cpp文件

cpp 复制代码
#include <Arduino.h>
#include <micro_ros_platformio.h>
#include <WiFi.h>
#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>

rclc_executor_t executor;
rclc_support_t support;
rcl_allocator_t allocator;
rcl_node_t node;

void setup()
{
  Serial.begin(115200);
  // 设置通过WIFI进行MicroROS通信
  IPAddress agent_ip;
  agent_ip.fromString("192.168.31.79");
  // 设置wifi名称,密码,电脑IP,端口号
  set_microros_wifi_transports("Xiaomi_320C", "66222888", agent_ip, 8888);
  // 延时时一段时间,等待设置完成
  delay(2000);
  // 初始化内存分配器
  allocator = rcl_get_default_allocator();
  // 创建初始化选项
  rclc_support_init(&support, 0, NULL, &allocator);
  // 创建节点 microros_wifi
  rclc_node_init_default(&node, "microros_wifi", "", &support);
  // 创建执行器
  rclc_executor_init(&executor, &support.context, 1, &allocator);
}

void loop()
{
  delay(100);
  // 循环处理数据
  rclc_executor_spin_some(&executor, RCL_MS_TO_NS(100));
}
bash 复制代码
pio run -v -t upload

4.2 官方工具烧录

5、上位机安装 代理

官方安装参考
安装参考

注意:

bash 复制代码
sudo apt install ros-foxy-micro-ros-msgs

6、上位机运行代理

6.1

bash 复制代码
ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888 -v6

或者

bash 复制代码
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyUSB0

6.2 重启ESP32

7、上位机查看

相关推荐
山峰哥13 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
Diligently_13 天前
idea 中vm option 配置
java·ide·intellij-idea
holeer13 天前
【V1.0】Typora 中的 HTML 支持|软件文档自翻译
前端·编辑器·html·typora·web·markdown·文档
我命由我1234513 天前
在 Android Studio 中,新建 AIDL 文件按钮是灰色
android·ide·android studio·安卓·android jetpack·android-studio·android runtime
硬汉嵌入式13 天前
Vim 9.2版本正式发布
编辑器·vim
Hello World . .13 天前
Linux:线程间通信
linux·开发语言·vscode
AC赳赳老秦13 天前
云原生AI故障排查新趋势:利用DeepSeek实现高效定位部署报错与性能瓶颈
ide·人工智能·python·云原生·prometheus·ai-native·deepseek
被制作时长两年半的个人练习生13 天前
claude code for vscode 配置 qwen3.5
ide·vscode·claude code·qwen3.5
圣心13 天前
Visual Studio Code 中的 AI 智能操作
ide·人工智能·vscode
吹牛不交税13 天前
关于vscode左侧资源管理器目录层级疑似异常的问题
ide·vscode·编辑器