2016-08-22 22 views
0

我有兩個實體,我希望能夠啓動通信:如何將HTML 5與硬件設備鏈接/配對?

  • 硬件設備採用Atmel ATSAMS70和WINC1500 WIFI模塊

  • HTML 5應用

的有一個HTML 5應用程序的想法是能夠與大多數商業設備,如:Windows電腦,Android手機,Mac OSX電腦和iOS設備輕鬆溝通。除此之外,我會避免使用本機代碼。

目前,他們可以使用WebSockets相互交談,但不知何故必須從HTML 5知道自定義板的IP地址以啓動通信。

爲了做到這一點,我能想到的3個選項:

  1. 使用的WebRTC我能得到瀏覽器的本地IP地址,然後我可以做考慮255.255本地設備的掃描.255.0網絡掩碼。

  2. 有硬件設備可以發送將由HTML 5

  3. 使用Bonjour或某種板和HTML5之間的設備發現服務以後提取它的本地地址的外部服務器。

我找不到實現#3的方法,但#2對我來說似乎是可行的。 #1是我現在正在做的事情,但WebRTC目前在iOS上不受支持。

那麼,有沒有其他更好的可能性來實現這種溝通?

回答

0

您沒有提到WINC1500設備如何連接到網絡,但大概是在STA模式下(作爲wifi站點而不是成爲軟件接入點或特定網絡的一部分),並且是通過現有接入點提供其IP詳細信息?

通常我會建議,一旦連接,設備應該開始通過在特定端口上的常規UDP廣播在網絡上指示其可用性,但是我對WebSockets的理解(當然有限)是它創建TCP連接。我見過的Bonjour的唯一實現就是使用UDP消息傳遞,這可能就是爲什麼你在使用第三種方法時遇到問題。

你的第二種方法似乎更有效。在本地網絡上的已知(或可發現)IP的服務器,它允許Atmel設備註冊自身(及其IP地址),並允許其他應用程序(您的HTML 5 WebSockets應用程序)請求該連接信息以允許它們創建他們需要的WebSocket TCP連接。

我想這並不真正回答你的問題:「有沒有更好的方法?」,除了說「不是我能想到的,你的第二種方法對我來說很好......」。抱歉!聽起來像一個非常有趣的項目,總體來說,

相關問題