【问题标题】:Discovering an embedded device's IP address [closed]发现嵌入式设备的 IP 地址 [关闭]
【发布时间】:2018-04-13 22:53:10
【问题描述】:

我正在开发基于 STM32F4xx MCU 的小型嵌入式设备。它通过 Wi-Fi 连接实现 TCP/IP 服务器。我的问题与公开设备的 IP 地址有关,以便同一网络上的计算机可以发现它。 UPnP 和 SSDP 似乎是这个问题的“重”解决方案。

是否有其他技术/协议比 UPnP 和 SSDP 占用空间更小?

提前感谢您的意见, 席德

【问题讨论】:

  • 是硬编码还是使用dhcp查找ip地址?当您连接或断开连接或重新启动电源时,应该很容易询问 dhcp 服务器以查看刚刚添加或删除的人员。如果这是您的产品,您正在选择 MAC 地址吗?你有那些在产品的贴纸上吗?条形码? arp 让它变得非常容易。如果 IP 地址是硬编码的(非常糟糕的主意),请将其放在贴纸/条形码上...
  • 如果您知道主机名,那么您就完成了,基本工具将为您提供地址...

标签: networking embedded service-discovery


【解决方案1】:

如果您可以编写任何自定义协议,那么定期发送到广播地址(255.255.255.255 或您首选接口的广播地址)的简单 UDP 信标既简单又可靠。

cmets 简介:
要在主流平台(Windows、Linux、OS X)的网络视图中列出,最好的选择可能是实现 Windows 网络发现所需的完整堆栈。
如果主机名查找足够,Netbios 或 mDNS 就足够了。
您可能要查找的搜索词是 zero-configuration networking,应该会为您提供所有可用选项

【讨论】:

  • 这是我过去使用过的解决方案,但是它需要在计算机上运行一个应用程序来接收和显示它。我可以这样做,但我不希望有额外的程序来编写(在多个平台上)和分发,谢谢。
  • 你想支持什么样的平台?你希望它如何被检测到?通过主机名查找是否足够,或者您是否希望将其列在例如Windows 的网络发现?
  • 我需要支持 Windows、Linux 和 macOS。理想情况下,设备应该出现在计算机的网络视图中。
  • 按主机名查找也可以接受
  • 您可能正在寻找的搜索词是zero-configuration networking,应该会为您提供所有可用选项。
猜你喜欢
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
相关资源
最近更新 更多