XBee 传感器、ConnectPort X4H 和 Digi Cloud 之间的通信

Communication between XBee Sensors, ConnectPort X4H and Digi Cloud

我们是一家为建筑行业构建远程施工监控平台的初创公司。我们擅长 Web 开发(Web 应用程序、Web APIs、数据可视化),但对 RF 低级工程和编程知之甚少。

此外,在我们地区很难找到任何 XBee 开发人员。为了实现并交付 MVP,我们决定购买即用型套件和 Digi Cloud,因此我们得到了:

我们已经知道的:

我们想实现的和有疑问的:

场景一(简单):

在这种情况下,我们要使用 Digi Cloud 在线界面指定所有设置和采样。

问题:

  1. 是否可以使用上述属性扩展数据流元数据?
  2. 是否可以在一个 XBee 传感器中为每个传感器定义一个数据流?
  3. 是否可以在不为 ConnectPort 编写 Python 代码的情况下定义采样频率并从 Digi Cloud 接口启用采样(不需要无限循环定时器)?
  4. 如果python代码不需要启用采样和数据发送,怎么办?
  5. 如果 python 代码是强制性的,是否意味着每次我们要将 XBee 传感器分配到不同的测量区域时,我们都需要将新的 Python 文件上传到 ConnectPort?

场景二(扩展):

在这种情况下,我们希望从我们自己的外部配置设备和采样 API 并使用 Digi Cloud 作为配置和数据转发的中间人。

问题:

  1. 是否可以使用 Digi Cloud API 从外部 Web 服务扩展具有上述属性的数据流元数据?
  2. 是否可以使用来自外部网络服务的 Digi Cloud API 为一个 XBee 传感器内的每个传感器定义一个数据流?
  3. 是否可以使用来自外部网络服务的 Digi Cloud API 定义采样频率并启用采样,而无需为 ConnectPort 编写 Python 代码(不需要无限循环计时器)?
  4. 如果python代码不需要启用采样和数据发送,怎么办?
  5. 如果python代码是强制性的,是否意味着每次我们想要将XBee传感器分配到不同的测量区域时,我们都需要使用Digi Cloud API生成并上传新的Python 文件到 ConnectPort?

对于上述场景,我们将不胜感激。

考虑到您的 post 中的所有内容以及给出准确答案所需的详细信息,很难具体解决所有问题,但这里是一个尝试:

场景一:

你有几个选择。您可以在网关上编写 运行 的自定义 python 脚本,因为有 API 用于与 XBee 节点交互以及将数据点发送到您想要的结构化设备云。这为您提供了很多控制而无需框架的开销,但您可能会发现您必须深入研究许多细节才能弄清楚如何完成每项任务。

或者,查看可以在网关 (http://www.digi.com/support/productdetail?pid=3632&type=drivers) 上 运行 的 DIA Python 框架。该框架试图抽象设备和数据报告,以便您可以主要通过配置完成很多工作,而无需编写任何代码。我可能会建议您至少开始使用它并尝试一下,如果您觉得自定义太麻烦,至少您有一个起点可以考虑。

  1. 设备端 API 允许提供描述以及上传的每个数据点。虽然对您列出的许多内容没有内在支持,但您可以想出一个约定,将此信息包含在描述字段中(例如将描述格式化为 json)。无法在服务器端自动调整报告并使其自动反映在设备端。 Device Cloud 确实有 APIs 可让您向设备发送消息...因此您可以使用 API.

  2. 传递报告更改
  3. 是的,使用 Python 和数据上传 API,您可以根据需要布置流。为每个独特的数据源设置一个流绝对有意义,这将是像 DIA 这样的系统布置流的默认方式。

  4. DIA 或许可以。我 相信 XBee 传感器可以配置为定期发送 IO 样本,然后 DIA 会将这些样本上传到服务器。然后,您可以调整 XBee 节点上关于其 IO 采样率的设置,以改变情况。然而,这不会非常简单。

  5. 如前所述,试用 DIA 看看它是否满足您的需求。它可以进行一些配置并在网关上构建 运行 的 python 代码包,而无需您编写任何 python.

  6. 您可以在 Device Cloud 中通过 API 向您的 python 代码发送消息。因此,您绝对可以实施它,以便您的设备上有一些配置文件可以跟踪每个设备的测量区域,然后支持从 Device Cloud 接收消息以更新和保存新的测量区域配置。您将无法将其集成到 Device Cloud 本身的 UI 中,但您可以使用 Device Cloud 中的 API Explorer 执行所需的 API。

场景二

  1. 您可以在 Device Cloud 中使用 APIs 获取所有流和数据点的列表。您还可以创建新的数据点或执行诸如编辑流或数据点的描述之类的操作。

  2. 您可以使用 Device Cloud 中的 API 来创建数据流并根据需要对其进行布局(请参阅 /ws/DataStream 和 /ws/DataPoint 或其更新版本/ws/v1/streams)

  3. 假设方案一中#3 的解决方案有效,您可以使用 Device Cloud 中的 Web 服务 APIs 调整终端 XBee 节点的 IO 采样频率。

  4. 试用 DIA 框架,看看它是否满足您的需求。

  5. 和以前一样,因为它使用的是 API。