工控网首页
>

新闻中心

>

业界动态

>

Historian数据上云第二弹,微软走起

Historian数据上云第二弹,微软走起

——— Historian
2021/10/22 14:32:29

通用电气数字集团 刘尊义

续接上篇Historian发布数据到阿里云IoT,第二弹讨论Historian数据发布到微软Azure IoT Hub设备中心。

Azure IoT Hub是目前最好的中心化IoT平台之一,Azure IoT Hub注册的设备可以在Azure保存7天,免去个人搭建服务器的各种繁琐操作和管理。

toutu.png

书归正传,测试将Historian数据发布到Azure IoT Hub统共需要以下4个工具:

  1. GE Proficy Historian 9.1

  2. 微软Azure IoT Hub账号

  3. MQTT.FX测试工具

  4. VSCODE编程环境

特别说明,微软Azure中国区和国外是两个隔离的空间,账号互相独立,数据发布的技术细节也略有不同,另外,中国区账号需要组织身份注册。

为了便于新手用户理解数据发布的机制,我们将整个测试过程分为五个步骤:

· 微软Azure IoT Hub准备

· 获取Azure IoT Hub令牌

· 在MQTT.fx中进行数据发布测试

· 用VSCode控制台订阅Azure IoT Hub数据

· 用Historian采集器发布数据并测试


1、微软Azure IoT Hub准备

Azure中国区的地址是Portal.azure.cn, 而国外的入口是Portal.azure.com, 两个账号不能通用,我们使用国外的平台进行演示。首先,我们需要了解几个Azure中的概念:

· 资源组:Azure提供的各种服务资源的组合池,可以包含多种资源,建议按照项目命名比较合适;

· 资源:Azure提供的各种服务资源,比如IoT中心就是一个资源类型;

· IoT中心:Azure提供的套用IoT中心,可以理解为一个Broker实例;

· IoT设备:向IoT中心发布数据的终端或服务,需要首先在IoT中心注册。

其它概念如IoT Edge等因为本测试案例使用不到,就不在这里赘述,下面开始详细的步骤。

首先当然需要注册一个微软Azure账号,然后登陆控制台首页,在菜单入口,选择资源组,创建一个资源组,为资源组命名并选择机房位置。

640-2.jpg

第二步,在资源组中创建一个物联网IoT中心资源,并为IoT中心实例命名和选择缩放级别,缩放级别和订阅费用与每天的记录数有关,测试用可以选择基础缩放级别即可。

640-3.jpg

第三步,在刚刚创建的IoT中心注册IoT设备,命名设备ID。

640-4.jpg

最终,在IoT设备创建完成后会生成连接字符串和密钥,记住提取位置,后面会用到。

640-5.jpg


2、获取Azure IoT Hub令牌

接下来,将会使用MQTT.fx测试连接到Azure IoT Hub,Azure IoT Hub支持用户名/密码组合及x.509证书两种认证方式,用户名密码组合的认证方式中的密码实际上,并不是注册设备时,Azure自动生成的Key,而是使用动态令牌作为连接使用的密码,这一步的目的就是使用VSCode生成一个动态令牌。

这一步只是让大家了解Azure IoT Hub的通讯过程,实际在Historian向Azure IoT Hub发布数据的过程中,这一步骤由Historian自动执行,不需要我们手动获取,如果是熟练应用,直接跳到第五步即可。

这一步,需要先安装VSCode,并在VSCode选择扩展入口,在应用商店中搜索Azure IoT Tools,并执行安装。

640-6.jpg

第二步,在资源管理器入口,连接Azure IoT中心,在IoT中心下,选择“Devices”,然后选择“Set IoT Hub Connection String”。

640-7.jpg

在VSCode的上部会弹出一个输入框。

640-8.jpg

从Azure IoT中心资源共享访问策略处选择iothubowner策略,从弹出的权限窗口复制主连接字符串到弹出的输入框,即可与IoT中心的资源建立连接,会自动刷新出IoT设备。

640-9.jpg

第三步,选中IoT设备,右键单击并选择“Generate SAS Token for Device”获取令牌。

640-10.jpg

在VSCode上部的弹出框会弹出令牌过期时间,以小时为单位,输入一个尽量长的时间值,获取令牌,但是过期之后需要重新获取令牌。

640-11.jpg

最后, VSCode输出窗口会输出一个SASToken,以“SharedAccessSignature”开头的一行字符即为Azure IoT Hub连接的认证密码,在后面会用到。


3、在MQTT.fx中进行数据发布测试

这一步骤是一个可选项,主要目的是为了快速验证和IoT Hub之间的连接。如果熟悉Historian可直接跳到第五步。

在MQTT.fx控制台,单击菜单栏中的Extras,选择Edit Connection Profiles,点击左侧的“+”号添加一个新的连接。

640-12.jpg

按照上图所示,输入一个名字,并在MQTT Broker设置栏,填入地址、端口和客户端ID。

其中的Broker Address可以在Azure IoT中心的概述页面找到,其中的主机名即是需要在Broker Address中填入的内容。

640-13.jpg

Broker Port是Azure IoT Hub的固定值8883。

Client ID是在Azure IoT Hub中注册的IoT设备ID。

640-14.jpg

其它选项保持默认值,接下来切换到User Credentials选项卡,用户名处是一个固定组合,具体格式为:“IoT_hub_name/IoT_device_name/?api-version=2018-06-30”。

密码处是在上一步生成的SAS动态令牌。

填写完成后点击OK保存即可。

然后,需要在mqtt.fx中,连接刚才配置的连接,在Publish选项,定义一个相关的topic进行数据发送。定义topic的格式如下:devices/IoT_device_name/messages/events/。

640-15.jpg

我们输入测试数据,点击Publish进行发布。


4、用VSCode控制台订阅Azure IoT Hub数据

接下来,我们在刚才获取SAS令牌的VSCode环境,右键单击IoT设备,选择“Start Monitoring Built-in Event Endpoint”订阅缺省Topic的数据。

640-16.jpg

在弹出的连接字符串输入框,需要输入连接字符串。

640-17.jpg

连接字符串从IoT Hub的内置终结点的事件中心-兼容终结点获取。

640-18.jpg

回车后,随即可以在VSCode的输出窗口返回如下信息:

640-19.jpg

我们在上一步设置的MQTT.fx测试工具中发布一段信息,随即可以在输出窗口捕获订阅的信息。

640-20.jpg

到此,我们确认IoT Hub已经可以正常工作并代理信息。


5、用Historian采集器发布数据并测试

最后,我们正式通过Historian采集器向IoT Hub发布数据,其实,如果是熟练应用,可以直接跳过第二、三、四步,直接在这一步创建采集器连接,发布数据即可。

同时,Historian并不需要手动获取Azure IoT Hub的SAS动态令牌,Historian可以自动获取令牌并通过令牌建立连接,而无需考虑令牌过期问题。

我们打开Configuration Hub并登陆到Historian服务器,添加一个采集器。选择机器名和采集器类型,点击“Get Details”获取安装的驱动器和数据路径。

640-21.jpg

在下一步中,选择数据源服务。

640-22.jpg

接下来,选择目的为“Azure IoT Hub”,并复制在第一步中创建IoT设备后的主连接字符串,填到设备连接字符串,在传输协议中选择“MQTT”。

640-23.jpg

拉到底端,选择配置端,建议选择Historian配置,并输入Historian服务器的用户名密码。

640-24.jpg

最后一步,选择默认本地系统服务运行,并点击添加,添加成功后,新添加的采集器将自动运行。

640-25.jpg

在Historian管理客户端中为采集器添加标签。

640-26.jpg

最后,可以在VSCode的输出窗口看到数据正常刷新,至此,Historian通过采集器发布到Azure IoT Hub测试完成。

640-27.jpg

物联网IoT正在影响着我们的生活,无论是共享单车还是工业领域的应用,都在随着技术的进步和数据应用需求的增强,一步步走进我们工作生活的每个领域。

GE作为IIoT的提出者和倡导者,针对工业领域的特点,能够提供从设备到业务的完整解决方案。

如果大家对GE的解决方案,GE的Proficy Historian或者GE Digital的其它软件产品感兴趣,或者需要我们提供哪些技术分享,欢迎随时与GE Digital联系。

投诉建议

提交

查看更多评论
其他资讯

查看更多

GE Digital云端制造执行系统(MES)可降低30%的总拥有成本

GE家Historian Edge青“云”直上

浓情圣诞,E路有你

GE Proficy Operations Hub 2023

GE家Historian for Cloud应云而生