在不知道IP的情况下连接本地网络上的网站

时间:2013-06-09 00:02:32

标签: bonjour zeroconf avahi

我正在创建一个嵌入式设备(基于RPi),它将连接到本地网络。我希望这个设备能够通过网页配置设备(与许多路由器非常相似)。

我希望用户在Web浏览器中输入[http:// my-device-config](或其他一些固定地址),然后发送到配置页面,而不必知道设备的IP地址。

用户将采取的步骤如下:

  1. 用户将设备插入网络/打开设备。
  2. 用户在浏览器中输入“config”地址并进入配置页面。 (无需网络配置/ ip查找等)
  3. 从研究中我相信Avahi(/ Bonjour / Zeroconf)可以实现这一目标,但我不清楚以下几点:

    1. Avahi是最简单的方法吗?
    2. 如果我的设备只是运行Avahi的本地网络上的设备,它会工作吗? (即,不要求在网络上的任何其他计算机上安装软件。)
    3. 它可以跨平台工作(osx / * nix / windows)吗?
    4. 它可以跨浏览器工作吗?
    5. 感谢您的帮助/见解。

1 个答案:

答案 0 :(得分:0)

  1. 这是最简单,最具互操作性的,但不适合您的情况。
  2. 简短的回答是否定的。更长的答案 - 通常苹果公司的东西都随之而来,Linux通常伴随着Avahin On,Windows世界不会移动手指,除非你配置它。但替代方案甚至更糟。
  3. 在路上,是的,它会。 Avahi是开源实现(读取linux / bsd世界),而Apple的东西有自己的专有东西(他们开始整个zeroconf故事),而Windows世界有自己的zeroconf实现。您还需要在特定的本地网络中没有人使用.local域 - 公司拥有的网络将具有某种非零概率。本地已经由微软网络填充。
  4. 嗯,理论上是 - Avahi本质上是低规模的DNS,很少有其他低级别的东西组成。因此,如果您的系统具有DNS解析器,它可以具有插入Avahi客户端/服务器挂钩下的插件 - 那么浏览器应该可以正常工作。在过去的几年里,我在使用Firefox和其他网络设备的Linux机器上没有副作用(例如,通过打印机上的avahi-pointed Web服务器配置打印机)。它们的地址看起来像http://my-device.localhttp://thatprinterfromfloor5.local,即 whatever.local