首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ESP8266自动检测本地服务器

用ESP8266自动检测本地服务器
EN

Stack Overflow用户
提问于 2015-12-05 16:25:40
回答 1查看 806关注 0票数 0

我有一个ESP8266模块(特别是Cactus Micro ),它能够连接到本地网络,然后通过HTTP协议与本地服务器通信。但是,我必须提供网络SSID、密码和我的服务器的IP地址。

ESP模块是否有可能用特定的报头向整个网络发送HTTP广播?然后,识别报头的服务器就会响应,从而自动检测到它的IP地址?如果没有HTTP,那么UDP是否可以实现呢?是否有客户端和服务器之间的通信模式来发现对方?

到目前为止,我发明的唯一解决方案(或者更确切地说是解决方案)是遍历本地子网的整个地址范围(通常是192.168.1.1-192.168.1.254)并尝试发起通信。但是,这是非常慢的(如果服务器的IP地址在范围的上半部分)。另外,它不会在10.0.0.0网络上工作(更不用说纯IPv6网络了.)。

EN

Stack Overflow用户

回答已采纳

发布于 2015-12-07 10:31:51

如果您希望esp在任何专用网络中找到专用服务器,而不需要DNS和其他设置,这可能是一个答案:

  1. 在服务器端,实现udp广播。它在某些间隔(例如2秒)之间广播自身的连接信息。这就像wifi信标(或蓝牙广告)。
  2. 在esp侧,esp必须知道ssid。然后连接到网络。开始监听广播端口以获取特定的消息。
  3. 收到消息后,解析并验证(身份验证等)然后从消息中获取参数,该消息显示服务器。
  4. 最后,使用参数与服务器通信并关闭广播侦听器。
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34107819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档