如何将HTML 5与硬件设备链接/配对?

时间:2016-08-22 23:26:01

标签: ios html5 websocket hardware atmel

我有两个实体,我希望能够开始沟通:

  • 使用Atmel ATSAMS70和WINC1500 Wifi模块的硬件设备

  • HTML 5 App

拥有HTML 5应用程序的想法是能够与大多数商业设备轻松通信,例如:Windows计算机,Android手机,Mac OSX计算机和iOS设备。除此之外,我会避免使用本机代码。

目前,他们可以使用WebSockets相互交谈,但不知何故,必须从HTML 5中知道自定义板的IP地址才能启动通信。

为了做到这一点,我可以想到3个选项:

  1. 使用WebRTC我可以获取浏览器的本地IP地址,然后考虑到255.255.255.0网络掩码,我可以扫描本地设备。

  2. 拥有一个外部服务器,硬件设备可以发送其本地地址,稍后将由HTML 5检索。

  3. 在主板和HTML5之间使用Bonjour或某种设备发现服务。

  4. 我无法找到实现#3的方法,但#2对我来说似乎是可行的。 #1是我现在正在做的,但iOS目前不支持WebRTC。

    那么,还有其他更好的可能性来实现这种沟通吗?

1 个答案:

答案 0 :(得分:0)

您没有提及WINC1500设备如何连接到网络,但可能是在STA模式下(充当wifi站而不是成为软件接入点或ad-hoc网络的一部分)和正在通过现有接入点提供其IP详细信息?

通常情况下,我建议一旦连接,设备应该通过特定端口上的常规UDP广播开始在网络上显示其可用性,但我对WebSockets的了解(无可否认有限)是它创建了TCP连接。我所看到的Bonjour的唯一实现也使用了UDP消息,这可能就是您第三种方法遇到问题的原因。

你的第二种方法似乎更有效。本地网络上已知(或可发现)IP的服务器,允许Atmel设备注册自身(及其IP地址),并允许其他应用程序(您的HTML 5 WebSockets应用程序)请求连接信息以允许它们创建他们需要的WebSocket TCP连接。

我认为这并没有真正回答你的问题是否有更好的方法?"除了说"不是我能想到的,你的第二种方法看起来对我很好......"。抱歉!听起来像一个非常有趣的项目,总的来说,