Weave 和 Openthread 有什么区别?

What is the difference between Weave and Openthread?

我想在 Weave 上工作,但我注意到 Nest 已经开源了 Openthread。我想亲身体验一下 Openthread,但如果有人能为我回答这些问题,我将不胜感激。

  1. 对于某些应用来说,一种优于另一种。如果有,它们是什么?
  2. 设备 运行 Openthread 会直接与 运行 Weave 兼容吗?
  3. 这些设备是否能够按原样与 Android 设备通信,或者是否计划在 Android 中提供未来支持?
  4. 我可以在什么 soc 或模拟器上测试 Openthread?

提前致谢!

首先更好地理解 Thread 及其试图解决的问题可能会有所帮助。 Thread 专为家庭设计,是一种基于低功耗 802.15.4 网状网络开放标准构建的 IPv6 网络协议,可以轻松安全地将数百台设备相互连接并连接到云端。这与 Weave 不同,Weave 是一种应用程序协议。可以在 Thread 之上开发多种应用程序协议,包括 Nest Weave。 Thread Group 在 their site.

上对 Thread 进行了很好的技术概述

现在回答您的具体问题:

  1. 如果您正在寻找一种开源的低功耗、基于 ipv6 的网状网络协议来构建您的家庭连接应用程序协议,那么您应该使用 OpenThread
  2. 这真的取决于你的意思。任何基于 Thread 构建的应用程序协议都应该在网络层与 OpenThread 兼容,假设它们的目标是 Thread 的兼容版本。
  3. Thread 的关键设计目标之一是能够让家庭局域网通过边界路由器可靠地与云通信。我们演示了一个 Android 应用程序从 Android 控制 Thread 终端设备。这里是 a video.
  4. 您可以在 /examples folder 中找到 CLI 模拟器。在撰写本文时,OpenThread 仍然相当新——但是我们希望看到我们的硅发布合作伙伴正式支持各种 SoC。观看存储库以获取更多更新。

第一个问题

简而言之,OSI model:

区分 OpenThreadThread 很重要。 OpenThread is an open-source implementation of the Thread标准。

这两种技术都设计用于(尽管以不同的方式)在住宅环境中的以下松散类别的嵌入式设备上:

  • 需要能够在不利条件下(如断电或火灾)相互可靠通信的嵌入式设备。
  • 电池供电的嵌入式设备需要能够持续使用多年而无需更换电池或为电池充电。
  • 用于监控温度、运动、湿度等的传感器网络

第二个问题

你的问题的含义是这两种技术是相互排斥的,或者它们以某种方式解决了相似的问题。正如可爱的命名所暗示的那样,ThreadWeave 是互补的技术。 Weave 需要一个网络接口来与其他设备通信,Thread 提供了一个。

Thread 在这方面就像 Wi-Fi。 Wi-Fi 没有定义 运行 在其之上的协议。例如,仅仅因为智能恒温器和智能电灯开关具有 Wi-Fi 无线电并不意味着它们可以相互通信。对于具有 Thread 兼容无线电的设备,情况类似。

第三题

虽然没有特别的原因说明您不能使用 Thread 或 Weave(或两者!)与设备 运行ning Android(或任何其他操作系统)通信,细节决定成败:没有万能的解决方案。

也就是说,一种方法是使用 IPv6 路由:Thread 基于 IPv6,因此如果您有 Th​​read 边界路由器,您可以允许 Wi-Fi 网络上的设备直接通信(通过 IPv6) Thread 网络上的设备。

第四题

除了POSIX模拟器,CC2538现在an officially supported hardware platform. Support for Dialog's SmartBond™ SoC family of chips is currently provided directly by Dialog