产品定价 立即试用
云平台
欧洲地区
文档 > 集成 > Azure事件中心
入门
指南 API 常见问题
目录

Azure Event Hub集成

文档信息图标
ThingsBoard PE 功能

专业版支持Platform Integrations功能。
请使用ThingsBoard Cloud自行安装平台实例。

概述

Azure Event Hub集成可从Azure Event Hub向ThingsBoard流式传输数据,并将设备负载转换为ThingsBoard格式。

image

使用Azure门户创建IoT Hub

首先,登录Azure门户

在Azure中创建IoT Hub

现在,您需要创建IoT Hub。您将在这里创建设备并执行一些其他操作。让我们按步骤进行:

  • 在Azure门户中,点击”Create a resource“按钮;
  • 在搜索字段中输入”IoT Hub“,并从列表中选择匹配项;
  • 点击”Create“;
  • 在配置页面中,点击”Create new“,指定资源组和IoT Hub名称,然后点击”Review + create“;
  • 在下一页中,点击”Create“;
  • 等待部署过程完成,然后点击”Go to resource“;

在IoT Hub中创建设备

完成第一步后,按照以下说明创建新设备:

  • 从上下文菜单导航到”IoT devices“页面;
  • 点击”+ New“按钮;
  • 在弹出窗口中,输入”Device ID“并点击”Save“。

很好!您已成功创建新设备。

添加Azure Event Hub集成

1. 基本设置

转到”Integrations center“部分的”Integrations“页面。点击”plus“按钮开始添加新的集成。选择”Azure Event Hub“集成类型并点击”Next“;

image


2. 上行数据转换器

上行转换器用于将设备传入的数据转换为ThingsBoard所需的显示格式。

在函数解码器字段中,指定用于解析和转换数据的脚本。在本示例中,使用默认的解码器函数(或使用您自己的配置)。然后,点击”Next“;

image

您可以在创建后随时更改解码器函数。


3. 下行数据转换器

在添加下行转换器的步骤中,您也可以选择之前创建的或创建新的下行转换器。但目前,将”Downlink data converter”字段留空。点击”Skip“;

image


4. 连接

在Azure门户中获取Event Hub兼容端点:

  • 导航到”IoT Hub“资源;
  • 从上下文菜单打开”Built-in endpoints“页面;
  • 找到并复制”Event Hub-compatible endpoint“值。

该值将用于与ThingsBoard服务进行集成。


要查找container name

  • 在Azure门户中,点击”Storage account“;
  • 转到”Data storage“部分的”Containers“页面。

在这里您可以找到container。保存其名称。


要查找存储connection string值,请导航到”Security + networking“部分的”Access keys“页面。


在ThingsBoard中:

  • 在”Connection String“字段中粘贴已复制的”Event Hub-compatible endpoint“;
  • 启用持久检查点,以便在集成重启后从上次检查点恢复处理,并在”Storage connection string“和”Container name“字段中填入相应的值。禁用此选项则始终从最新事件开始;
  • [可选] 点击”Check connection”按钮检查连接,以验证连接字符串是否正确复制;
  • 最后,点击”Add“按钮创建集成。

image

测试集成!

现在,我们准备好测试集成了。请按照以下步骤操作:

1) 转到”Rule chains“页面并选择一个规则链。在搜索节点字段中输入'gen',在菜单中找到generator节点。将其拖到画布上。在弹出窗口中,指定生成器的名称消息数量生成函数(可以使用我们的示例)。最后,点击”Add“;

1
2
3
4
5
6
7
8
9
10
11
var msg = {
    "devName": "TB-D-01",
    "msg": {
        "temp": 42,
        "humidity": 77
    }
};
var metadata = { data: 40 };
var msgType = "POST_TELEMETRY_REQUEST";

return { msg: msg, metadata: metadata, msgType: msgType };

2) 现在,查找设备的Primary key。转到Azure门户,导航到IoT devices选项卡,选择您的设备,找到”Primary key“字段。复制并保存以备后用;

3) 返回您的ThingsBoard实例。我们需要找到另一个规则节点。在搜索节点字段中输入'iot',选择azure iot hub节点。将其拖到画布上。在弹出窗口中,指定节点名称,将Topic中的<device_id>替换为您的设备名称,并从Azure门户的”IoT Hub“资源中获取Hostname。输入设备名称作为Device ID,并添加之前从设备凭据中复制的SAS KeyPrimary Key)。如果需要监控事件,请启用Debug模式;

4) 将generator连接到azure iot hub。点击”generator“节点右侧的灰色圆圈,将其拖到azure iot hub节点的左侧。选择”Success“链接并点击”Add“。保存规则链,然后转到集成页面;

转到”Integrations“页面并选择您的Azure Event Hub集成。如果您在集成的”Events”部分看到类型为”Uplink”的消息,说明一切工作正常。

高级用法:创建下行数据转换器

下行转换器用于向设备发送消息。例如,通知设备其消息已被接收。

1) 首先,查找IoT Hub name

  • 打开Azure门户并导航到”IoT Hub“资源;
  • 从上下文菜单转到”Built-in endpoints“页面;
  • 找到并复制”Event Hub-compatible name“的值——这就是IoT Hub name


2) 要将下行数据转换器添加到Azure Event Hub集成中,请按以下步骤操作:

  • 导航到”Integrations“页面,选择Azure Event Hub集成以打开其详情,然后点击”pencil“图标进入编辑模式;
  • 为下行数据转换器提供名称并点击”Create new converter“;
  • 将所需脚本粘贴到Encoder function部分。点击”Add”;
  • 高级设置中,在相应字段中添加”IoT Hub name“;
  • 点击”Apply changes“保存配置。

本示例中使用的下行转换器:

1
2
3
4
5
6
7
8
9
10
11
12
13
var result = {

    contentType: "JSON",

    data: JSON.stringify(msg),

    metadata: {
            deviceId: 'TB-D-01'
    }

};

return result;
文档信息图标

注意 如果您使用了其他设备名称(而非TB-D-01),则需要在下行转换器中为deviceId字段指定您的设备名称。

好的,下行转换器已就绪,集成已就绪,让我们测试一下:

1) 上行测试完成后,集成已在ThingsBoard中创建了设备,我们需要了解它连接到哪个规则链。 只需转到ThingsBoard菜单中的Device groups,选择All,找到我们在上行中使用的设备名称。

2) 在ThingsBoard菜单的”Rule Chains”页面中找到所需规则链的名称。

3) 在”Search nodes”字段中输入’down’,在菜单中选择integration downlink节点,将其拖到画布上。在弹出窗口中,您需要指定规则节点的名称并选择我们的集成。

4) 点击message type switch节点左侧的灰色圆圈,将其拖到我们”downlink”节点的灰色圆圈上。选择Attributes update并点击”Add”。

5) 很好。保存画布,然后转到”Device groups” -> “All”并选择我们的设备。切换到Attributes,在’Entity attributes scope’列表中选择Shared attributes。 点击’plus’创建新属性。在弹出窗口中指定属性的键、值类型和值。

6) 点击”Add”,然后转到集成页面检查下行结果。

如您所见,我们收到了一条消息,表明下行数据已被集成成功接收并发送到Azure Event Hub。 要在Azure IoT Hub中验证,请转到Azure门户,选择IoT devices菜单选项卡,查看Cloud to Device Message Count数值。

高级用法:使用Azure IoT Hub集成检查下行数据

以下是如何在Azure IoT Hub集成中查看下行数据的简要说明。 请查看下面的图片,了解我们如何对Azure Event Hub进行简单的下行检查

您可以通过以下链接了解Azure IoT Hub:Azure IoT Hub集成

总结

以上就是全部内容!祝您在配置IoT设备和仪表板时一切顺利!

下一步