如何在Android中以编程方式在网络上查找其他WiFi设备的IP地址

时间:2019-07-18 18:03:09

标签: java android networking microcontroller esp8266

我有一个ESP8266,在配置(通过WiFi Manager库)后连接到我的WiFi网络,并运行一个显示某些传感器数据的HTTP Web服务器。它使用192.168.0.XX IP连接到我的特定网络,并且运行良好。

我的问题与android应用程序有关,如何实际以编程方式检索运行Web服务器的IP?我的路由器DHCP仅保留IP一周-因此,将IP硬编码到应用程序中不是一个好选择,而且我不太想让技术娴熟的人自己找到IP并进行配置。

我也无法对静态IP进行硬编码,因为朋友和家人将在不同的网络和路由器上使用它(因此192.168.0.X在IP为10.0.0.1的路由器上将无法工作)。

那么,我该如何以编程方式获取连接到本地网络的ESP8266的IP?

1 个答案:

答案 0 :(得分:0)

有一种解决方案可能不是非常理想和专业,但可以用于爱好项目。您可以使用所有地址上的http GET来使您的android应用扫描您的本地网络-例如尝试获取以下内容:http://192.168.0.X/sensor_status。您可以将esp8266设备配置为使用代码200(OK)进行响应,然后将此地址保存在android应用的持久存储中。下次,您可以简单地检查持久性存储中是否保存了IP,然后尝试连接到它。如果esp8266在记住的ip下不可用,则可以重新扫描网络。