当前位置: 首页 > 知识库问答 >
问题:

使用Wifi模块ESP8266发送UDP广播消息

宇文修文
2023-03-14

我需要通过ESP8266 wifi模块与Arduino模块进行通信

他们都连接到本地局域网,不知道彼此的IP地址,所以我计划从手机发送UDP广播消息,但ESP8266模块似乎没有收到消息

我使用的ESP8266库来自这里:https://github.com/itead/ITEADLIB_Arduino_WeeESP8266

并使用registerUDP()和recv()函数

谁能帮帮我吗?

共有1个答案

戚晨
2023-03-14

我没有足够的声誉留下评论,所以我会做出回答。

我觉得registerUDP()需要指定一个IP地址,我猜您提供的是DHCP分配的IP地址。其中,UDP广播使用多播或广播IP发送。

您可以修改启动器代码,将UDP数据包发送到同一子网内的所有IP(例如192.168.1.1到192.168.1.254),并查看其是否有效。

 类似资料:
  • 我有一个带WiFi屏蔽的Arduino Uno R3。WiFi屏蔽具有最新固件(V1.1.0)。简而言之,我正试图通过Android智能手机与Arduino进行通信。通过使用路由器分配的本地IP,我已经成功地在本地完成了这项工作;然而,现在我想通过不在同一个网络上使用Android来扩展这一点。例如,在Android设备上与Arduino从世界任何地方进行通信。我知道我可以通过简单的路由器配置和设

  • 我们所有的例子这一点利用传输方式称为“单播”:“将消息发送给一个网络拥有唯一地址的目的地”,这种模式支持连接和无连接协议。 然而,UDP 提供了额外的传输模式对多个接收者发送消息: 多播:传送给一组主机 广播:传送到网络上的所有主机(或子网) 示例应用程序在本章将说明使用 UDP 广播发送消息,可以接收到所有主机在同一网络。为此我们将使用特殊的“有限广播”或“零”网络地址255.255.255.2

  • 我正在编写一个UDP客户端/服务器应用程序。服务器是广播服务器,它通过特定端口向同一子网上的两个客户端广播。每个客户端接收一个数据报,并向服务器发送一个响应。每个客户端都预先知道服务器的ip地址。 我的客户端基本上与http://man7.org/linux/man-pages/man3/getaddrinfo.3.html,的客户端示例相同,即它使用connect()函数来指定所有传出数据包的e

  • 11.4.发送广播 最后,为触发这个事件,我们需要广播一条能够匹配filter的Intent。前面的BootReceiver只管接收来自系统的广播,也就没必要负责发送Intent。但对TimelineReceiver来说,它接收的广播是来自应用程序本身,发送Intent也就需要我们自己负责了。 在第八章 Service 中,我们为UpdaterService创建了一个内部类Updater,负责在独

  • 我想广播消息本地到许多应用程序。对于这一点,我认为UDP套接字是最好的IPC,纠正我,如果我是Worwn。 并倾听: 问题是我必须像这样通过IP192.168.1.255,但在实际场景中可能没有eth0接口,只有环回。那我怎么才能做到这一点呢?

  • 本文使用 STM32 Nucleo 系列开发板连接 RW007 WiFi 模块,通过运行 RT-Thread 操作系统,让开发板轻松愉快联网。 STM32F401 Nucleo-64 STM32 Nucleo-64 是 ST 官方推出的开发板,依据搭载的 STM32 芯片型号不同(皆为 LQFP64 封装),分为众多版本,本文所使用的是带 STM32F401RE 芯片的板子 —— STM32F40