鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    跟着教程尝试连接wifi,启动agent后发现未连上

    已定时 已固定 已锁定 已移动
    动手学ROS2
    wifi esp32 agent ros2-humble
    4
    15
    1.2k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • H
      hunterlin1102
      最后由 hunterlin1102 编辑

      跟着《动手学ros2》教程学到wifi这一节时
      (https://fishros.com/d2lros2/#/humble/chapt14/advance/3.无线通讯-了解传输原理 )

      跟着步骤新建工程,
      在.init设置board_microros_transport = wifi,
      添加了micro_ros_platformio依赖,
      复制粘贴教程中的代码并修改了ip地址、wifi名称、wifi密码,
      编译时有两处黄色warning,

      src/main.cpp: In function 'void setup()':
      src/main.cpp:20:69: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
         set_microros_wifi_transports("2201", "13958855067", agent_ip, 8888);
                                                                           ^
      src/main.cpp:20:69: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
      
      /home/hengte/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c: In function 'uartSetPins':
      /home/hengte/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9: warning: 'return' with no value, in function returning non-void
               return;
               ^~~~~~
      /home/hengte/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:149:6: note: declared here
       bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t rtsPin)
      

      啥也没动再次编译就没有黄色警告了,
      下载代码后在终端启动agent

      docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6
      

      返回两行

      [1712477096.644131] info     | UDPv4AgentLinux.cpp | init                     | running...             | port: 8888
      [1712477096.644536] info     | Root.cpp           | set_verbose_level        | logger setup           | verbose_level: 6
      

      在另一终端启动ros2 node list,发现没有形成“/microros_wifi”节点,情况如图:
      Weixin Photo Editor_20240407155854.jpg
      按板子上的RST键后重试agent和ros2 node list,没有发生变化。
      请问大家是哪一步出错了

      补充信息:
      虚拟机是Ubuntu22.04,安装的ros2 Humble,连接的主控板为推荐的学习板esp32
      wifi名称和密码用其他设备测试过并没有输错

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @hunterlin1102
        最后由 编辑

        @hunterlin1102 感觉是ip问题,首先看虚拟机的ip和fishbot的ip是否在同一个子网下,比如你可以用手机连接这个wifi,查看手机的ip地址,确认地址是否争取而,第二可以参考fishbot的源码,里面有获取fishbot的ip的方法,尝试打印出来看看。

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        H 2 2 条回复 最后回复 回复 引用 0
        • H
          hunterlin1102 @小鱼
          最后由 编辑

          @小鱼 已解决!确实是ip不在同一子网下的问题,感谢指点!

          小鱼小 流 2 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @hunterlin1102
            最后由 编辑

            @hunterlin1102 客气了,很高兴可以帮到你,你的提问很详细,符合我们社区的提问规范:https://fishros.org.cn/forum/topic/151/提问前必看-不符合要求的问题拒绝回答 希望你遇到会的问题时,也不吝赐教,再次感谢你的提问。

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            1 条回复 最后回复 回复 引用 1
            • 流
              流浪呆猫 @hunterlin1102
              最后由 编辑

              @hunterlin1102 你好,我遇到的情况跟你一样,请问你是怎么让虚拟机和fishbot处在同一个子网的呢?

              流 2 2 条回复 最后回复 回复 引用 0
              • 流
                流浪呆猫 @流浪呆猫
                最后由 编辑

                @流浪呆猫 昨天研究了一下解决了,结果很简单,虚拟机网络选择桥接模式再配置为无线网卡(主机是有线的就配置为有线),最后打开设置新建一个网络配置,什么都不用填直接点确定,新的网络就跟主机在一个网段了

                小鱼小 2 2 条回复 最后回复 回复 引用 1
                • 小鱼小
                  小鱼 技术大佬 @流浪呆猫
                  最后由 编辑

                  @流浪呆猫 👍 👍 👍

                  新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                  1 条回复 最后回复 回复 引用 0
                  • 2
                    2312224620qq.com @流浪呆猫
                    最后由 编辑

                    @流浪呆猫 你好我的也是,看了你的评论,不是很懂,能说的详细点吗

                    1 条回复 最后回复 回复 引用 0
                    • 2
                      2312224620qq.com @流浪呆猫
                      最后由 编辑

                      @流浪呆猫 f937295a-ed5a-482b-a7de-e0841d5dfe19-image.png 我的ip应该没有写错吧,但是还是一样的问题

                      流 1 条回复 最后回复 回复 引用 0
                      • 2
                        2312224620qq.com @小鱼
                        最后由 编辑

                        @小鱼 麻烦大佬指点指点

                        小鱼小 1 条回复 最后回复 回复 引用 0
                        • 小鱼小
                          小鱼 技术大佬 @2312224620qq.com
                          最后由 编辑

                          @2312224620qq-com 你这WIFI用户名密码感觉都不对

                          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                          2 2 条回复 最后回复 回复 引用 0
                          • 2
                            2312224620qq.com @小鱼
                            最后由 编辑

                            @小鱼 那大佬怎么改,我看fishros不是只要更改ip吗,然后就更改了ip,其他没有处理

                            小鱼小 1 条回复 最后回复 回复 引用 0
                            • 2
                              2312224620qq.com @小鱼
                              最后由 编辑

                              @小鱼 8b95281a-9beb-4063-84e6-32aada3699e5-image.png 是这里看wifi名称吗,但是不知道怎么设置wifi

                              1 条回复 最后回复 回复 引用 0
                              • 小鱼小
                                小鱼 技术大佬 @2312224620qq.com
                                最后由 编辑

                                @2312224620qq-com 你找客服要下网络结构介绍,然后看看视频,这里填的是wifi用户名和密码,我在视频里填写的是我这里的WIFI,肯定和你的不一样,建议先走一遍快速上手教程,了解下原理

                                新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                                1 条回复 最后回复 回复 引用 0
                                • 流
                                  流浪呆猫 @2312224620qq.com
                                  最后由 编辑

                                  @2312224620qq-com 就是输入你家的wifi名字和密码,电脑主机也要连接这个路由器,电脑ip是虚拟机的不是主机的,为了确保虚拟机也是同一个网段需要设置为桥接模式,这样就和主机一个网段了。最后你的虚拟机ip应该前三位都和主机一致,自然也和fishbot一致了

                                  1 条回复 最后回复 回复 引用 1
                                  • 第一个帖子
                                    最后一个帖子
                                  皖ICP备16016415号-7
                                  Powered by NodeBB | 鱼香ROS