我是靠谱客的博主 现代汉堡,最近开发中收集的这篇文章主要介绍ROS2与Arduino串口和WiFi测试记录(Due和ESP32)>ESP32_wifi代码在文末<串口!无线局域网!publisher_wifi_udpesp32.ino,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ROS2与Arduino调试有成熟方案,一年多前写过一篇博文详细记录,现在相关物联网单片机课程(ESP32)已经开发和测试完成,将之前的再回顾一遍吧(本文不含ROS1)。

  • ROS2与Arduino发布订阅(2019-09)

>ESP32_wifi代码在文末<

2020年了,port也改成2020(默认为2018)测试一下:

现在官方已经更新了,但是安装和使用流程完全一致,参考官方教程即可(ros2arduino)。

串口!

Due英文发布

当然,完全可以支持中文的,如下所示:

只需修改下面代码对应位置即可:

开发板类型在右下角可以看到。

接着调试一下ESP32,发现一样OK,串口非常易用,效果很好的。

具体输出如下:

无线局域网!

那么来测试一下wifi吧,先调整一下代码,如下所示:

发现一样,直接成功没有遇到任何问题!

注意,一定要启动xrcedds哦,ESP32开发板IP地址如下:

目前,还不支持tcp,最好用udp,测试非常稳定。

publisher_wifi_udpesp32.ino

#include <ros2arduino.h>

#include <WiFi.h>
#include <WiFiUdp.h>

#define PUBLISH_FREQUENCY 2 //hz

const char* SSID="*********";
const char* SSID_PW="*********";

#define AGENT_IP   "172.20.10.3"
#define AGENT_PORT 2020 //AGENT port number

void publishString(std_msgs::String* msg, void* arg)
{
  (void)(arg);

  static int cnt = 0;
  sprintf(msg->data, "来一起学习ros2吧(ESP32WiFi测试) %d", cnt++);
}

class StringPub : public ros2::Node
{
public:
  StringPub()
  : Node("ros2arduino_pub_node")
  {
    ros2::Publisher<std_msgs::String>* publisher_ = this->createPublisher<std_msgs::String>("arduino_chatter");
    this->createWallFreq(PUBLISH_FREQUENCY, (ros2::CallbackFunc)publishString, nullptr, publisher_);
  }
};

WiFiUDP udp;

void setup() 
{
  Serial.begin(115200);
  WiFi.begin(SSID, SSID_PW);
  while(WiFi.status() != WL_CONNECTED)
  {   
    Serial.print("n正在连接 "); 
    Serial.println(SSID);
    delay(500);
  }
  Serial.print("已经准备好,使用 ");
  Serial.print(WiFi.localIP());
  Serial.println(" 连接ROS2");
  ros2::init(&udp, AGENT_IP, AGENT_PORT);
}

void loop() 
{
  static StringPub StringNode;

  ros2::spin(&StringNode);
}

如果觉得这代码太LOW,没关系,还有下面配置模式,使用micro-ros2非常棒,有空再更新!

 


 

最后

以上就是现代汉堡为你收集整理的ROS2与Arduino串口和WiFi测试记录(Due和ESP32)>ESP32_wifi代码在文末<串口!无线局域网!publisher_wifi_udpesp32.ino的全部内容,希望文章能够帮你解决ROS2与Arduino串口和WiFi测试记录(Due和ESP32)>ESP32_wifi代码在文末<串口!无线局域网!publisher_wifi_udpesp32.ino所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部