esp32与ros2的欢乐启程

举报
zhangrelay 发表于 2021/09/11 23:15:19 2021/09/11
【摘要】 超级简单,先看效果: esp32的代码也超级简单(udp4): #include <ros2arduino.h> #include <WiFi.h>#include <WiFiUdp.h>#define SSID "Relay_iPhone"#define SSID_PW ...

超级简单,先看效果:


esp32的代码也超级简单(udp4):


  
  1. #include <ros2arduino.h>
  2. #include <WiFi.h>
  3. #include <WiFiUdp.h>
  4. #define SSID "Relay_iPhone"
  5. #define SSID_PW "66666666"
  6. #define AGENT_IP "172.20.10.2"
  7. #define AGENT_PORT 2021 //AGENT port number
  8. #define PUBLISH_FREQUENCY 1 //hz
  9. void publishString(std_msgs::String* msg, void* arg)
  10. {
  11. (void)(arg);
  12. static int cnt = 0;
  13. sprintf(msg->data, "欢乐的esp32和ros2 %d", cnt++);
  14. }
  15. class StringPub : public ros2::Node
  16. {
  17. public:
  18. StringPub()
  19. : Node("esp32_pub_node")
  20. {
  21. ros2::Publisher<std_msgs::String>* publisher_ = this->createPublisher<std_msgs::String>("esp32_chatter");
  22. this->createWallFreq(PUBLISH_FREQUENCY, (ros2::CallbackFunc)publishString, nullptr, publisher_);
  23. }
  24. };
  25. WiFiUDP udp;
  26. void setup()
  27. {
  28. WiFi.begin(SSID, SSID_PW);
  29. while(WiFi.status() != WL_CONNECTED);
  30. ros2::init(&udp, AGENT_IP, AGENT_PORT);
  31. }
  32. void loop()
  33. {
  34. static StringPub StringNode;
  35. ros2::spin(&StringNode);
  36. }

 稳定程度感觉上一般。


更有趣的各种功能会逐步介绍的。

比如esp32 wemos版

 具体引脚:


  
  1. static const uint8_t TX = 1;
  2. static const uint8_t RX = 3;
  3. static const uint8_t SDA = 21;
  4. static const uint8_t SCL = 22;
  5. static const uint8_t SS = 5;
  6. static const uint8_t MOSI = 23;
  7. static const uint8_t MISO = 19;
  8. static const uint8_t SCK = 18;
  9. static const uint8_t A0 = 36;
  10. static const uint8_t A3 = 39;
  11. static const uint8_t A4 = 32;
  12. static const uint8_t A5 = 33;
  13. static const uint8_t A6 = 34;
  14. static const uint8_t A7 = 35;
  15. static const uint8_t A10 = 4;
  16. static const uint8_t A11 = 0;
  17. static const uint8_t A12 = 2;
  18. static const uint8_t A13 = 15;
  19. static const uint8_t A14 = 13;
  20. static const uint8_t A15 = 12;
  21. static const uint8_t A16 = 14;
  22. static const uint8_t A17 = 27;
  23. static const uint8_t A18 = 25;
  24. static const uint8_t A19 = 26;
  25. static const uint8_t T0 = 4;
  26. static const uint8_t T1 = 0;
  27. static const uint8_t T2 = 2;
  28. static const uint8_t T3 = 15;
  29. static const uint8_t T4 = 13;
  30. static const uint8_t T5 = 12;
  31. static const uint8_t T6 = 14;
  32. static const uint8_t T7 = 27;
  33. static const uint8_t T8 = 33;
  34. static const uint8_t T9 = 32;
  35. static const uint8_t DAC1 = 25;
  36. static const uint8_t DAC2 = 26;

LED_BUILTIN等


  
  1. static const uint8_t LED_BUILTIN = 2;
  2. #define BUILTIN_LED LED_BUILTIN // backward compatibility
  3. static const uint8_t _VBAT = 35; // battery voltage
  4. #define PIN_WIRE_SDA SDA // backward compatibility
  5. #define PIN_WIRE_SCL SCL // backward compatibility
  6. static const uint8_t D0 = 26;
  7. static const uint8_t D1 = 22;
  8. static const uint8_t D2 = 21;
  9. static const uint8_t D3 = 17;
  10. static const uint8_t D4 = 16;
  11. static const uint8_t D5 = 18;
  12. static const uint8_t D6 = 19;
  13. static const uint8_t D7 = 23;
  14. static const uint8_t D8 = 5;
  15. static const uint8_t RXD = 3;
  16. static const uint8_t TXD = 1;

与图示对应。


 

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/120229431

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。