如何在小型网络中动态查找特定设备的IP地址?

How to dynamically find the IP address of a specific device in a small network?

我正在开发一个小型业余爱好项目,其中涉及一个 Android 应用程序和一个 ESP8266。基本思路是,ESP8266 将控制 RGB LED,应用程序将让我远程进行此控制。

在我的架构中,ESP8266 将连接到我的家庭网络,当我的智能phone 连接到同一网络时,当我打开应用程序时,phone 和 ESP8266 将配对我会控制 wifi。但是ESP的IP地址会动态变化。我的问题是,如果 ESP8266 不是静态的,我如何找到它的 IP 地址?

都试一试。

在Android设备上首先确定设备本身的IP。

说出它的 192.168.1.5.

你就知道esp的ip是这样的了。喜欢 192.168.1.xx.

因此,只需从 192.168.1.3 开始循环并尝试使用您的端口连接到它。将超时设置为一秒。如果超时尝试下一个ip。跳过自己的ip。

您会惊讶于找到 esp 的速度。

这就是多播的设计目的。让您的设备监听特定的多播组,您的 phone 可以向该多播组发送消息,然后设备将通过单播响应您的 phone。您 phone 将获得设备的单播地址。通常,您希望在组织-本地范围 (239.0.0.0/8) 范围内使用多播组。