Historian数据上云压台篇,Google IoT Core来了
作者:通用电气数字集团 安恩英
翻译:通用电气数字集团 刘尊义
如果没有新的需求,这一篇之后GE Proficy Historian 数据上云系列将会告一段落,我们也将用这一篇喜迎虎年Proficy产品家族新戏闪亮登场。
书归正传,将Historian数据发布到Google IoT Core的测试需要以下6个步骤:
Google IoT Core准备
注册IoT 接口
创建设备密钥对和下载根CA证书
创建或编辑一个设备
配置GE Proficy Historian采集器
为采集器添加标签并验证数据
特别说明:谷歌已经不在中国内地提供相关服务,国内用户无法正常访问Google站点,本文只针对港澳台和海外相关业务场景。
1、Google IoT Core准备
通过https://cloud.google.com/iot-core网址进入Google IoT Core控制台,在项目选择下拉框选择或创建一个新项目。
确保这个项目启用了计费并保证云平台状态正常。
在搜索栏输入“Cloud IoT”检索云IoT相关API和服务,在检索结果中单击“Google Cloud IoT API”入口。
启用“Google Cloud IoT API”服务。
在API和服务面板查看服务和API的状态,确保“Cloud IoT API”、“Cloud Datastore API”和“Cloud Pub/Sub API”被启用并监控。
2、注册IoT 接口
在左侧的导航栏选择“IoT Core”并注册一个IoT接口。
在弹出的页面输入一个ID并选择基础设施的部署区域。
点击“SHOW ADVANCED OPTIONS”扩展设置信息,选择设备连接到IoT Core的协议,选择“MQTT”协议并设置日志和证书选项。
接下来,选择一个默认的或创建一个新的“Topic”主题。
最后,确认创建。
3、创建设备密钥对和下载根CA证书
接下来,需要创建一个公钥/私钥对,用于设备和IoT平台之间的安全连接,当连接到Cloud IoT Core时,每个设备都需要创建一个用其私钥签名的JSON Web Token(JWT)令牌,这个令牌会传递给Cloud IoT Core,作为设备的身份证明,Cloud IoT Core 使用设备的公钥对它进行验证。
下面我们使用OpenSSL来生成一个RSA密钥,对于OpenSSL的安装和使用请参考Historian数据上云系列的第三弹,在OpenSSL环境配置完成后,通过以下命令生成一个2048位的RSA密钥对。
openssl genpkey -algorithm RSA -out rsa_private.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -in rsa_private.pem -pubout -out rsa_public.pem
通过这个命令可以创建以下公钥和私钥对:
rsa_private.pem--私钥,保证安全的存储在设备上,并用于签名认证JWT。
rsa_public.pem--公钥,必须存储在Cloud IoT Core中的公钥,用于验证JWT的签名。
接下来,我们去https://pki.goog/roots.pem下载Google服务的根CA证书,这个证书包含与Google产品和服务进行通信的信任链,但是这个证书包会定期更新。
记住密钥对和根CA证书文件保存的路径或拷贝到一个方便记忆的文件夹中,在设置Historian采集器时需要用到这些文件的路径。
4、创建或编辑一个设备
可以通过云控制台、API或gcloud创建或编辑设备,本次我们将使用云控制台操作,在此之前,请确保已经注册IoT接口并生成密钥对。
接下来,在IoT Core控制台转到接口注册页,单击已经注册的ID。
在左侧的菜单选择“Devices”设备,并单击“CREATE A DEVICE”创建一个新设备。
输入设备ID。
勾选允许设备连接,其它选项保持不变,单击“CREATE”完成创建。
单击刚刚创建的设备,产看设备信息。
移到“AUTHENTICATION”选项卡,单击“Add Public Key”按钮,用记事本打开前面生成的rsa_public.pem公钥文件,复制内容到公钥内容框,并确定,在设备通过私钥连接云时平台将通过公钥验证连接。
5、配置GE Proficy Historian采集器
打开Configuration Hub,进入Historian实例。
打开采集器窗口,点击“+”图标创建新的采集器实例。
本测试选择OPC采集器,如果需要本地Historian和云端同时接收数据,可以选择S2S采集器。
选择采集器类型并点击“Get Details”获取详细信息按钮,安装驱动器和主目录将自动填充。
下一步,选择OPC服务器。
在下一步,选择MQTT作为目的地,分别输入mqtt.googleapis.com作为主机地址和8883端口号;
客户端ID使用设备路径:
projects/PROJECT_ID/locations/REGION/registries/REGISTRY_ID/devices/DEVICE_ID
在本测试案例中,客户端ID应该是:
project/histirian-to-cloud/locations/asia-east1/registries/my-registry/devices/my-device
将TOPIC设置为/devices/DEVICE_ID/events,以便向Google云中的相关设备发布遥测事件。
AUTHENTICATION:可以输入一个任意的用户名,如unused或ignored。并启用自动刷新,以便证书文件自动生成密码,密码保持为空即可。
在SSL/TLS信息栏输入前面下载的Google CA服务器根证书文件的绝对路径。这个证书对所有谷歌用户来说是通用的。
输入前面创建的RSA私有和公共证书文件的绝对路径。这对每个设备来说都是唯一的文件。
输入完成后,如下图,可以根据自己证书存储的路径输入对应的信息。
在这些信息填写完成后点击下一步,并确认采集器名称和运行方式,最后点击“Add”确认添加采集器。
添加完成后,在浏览器的信息栏弹出添加成功的提示,并在采集器监控栏可以看到刚刚添加的采集器状态为“Running”运行状态。
如果采集器没有正常运行,请检查服务管理器,尝试启动采集器,并根据日志文件提示排除故障。
6、为采集器添加标签并验证数据
首先,通过Historian 管理器为刚刚添加的采集器添加标签,详细步骤可以参考数据上云系列的上几篇文章。
如果正常,现在数据已经发布到Google IoT Core,接下来我们通过IoT Core控制台来进行验证。
在Google IoT Core控制台单击接口注册页面中前面创建的Topic。
接下来通过控制台订阅设备发布的Topic。
在添加订阅到Topic页面输入订阅ID和类型等信息。
点击“Create”创建订阅,并单击“Subscriptions”进入订阅页面。
单击前面创建的订阅ID,可以监控订阅状态和统计信息。
切换到“Messages”信息选项卡。
点击“PULL”查看信息体,可以验证数据订阅成功。
结束语
至此,GE Proficy Historian数据上云系列已经介绍了与微软Azure、AWS、阿里云、谷歌云的连接,如果您需要接入其它云,可以参考这一系列介绍,也欢迎您分享Proficy Historian与其它物联网平台的连接,当然,如果您有任何问题,可以随时与我们沟通,给我们提供更多应用场景和帮助我们改善产品。
物联网IoT正在影响着我们的生活,无论是共享单车还是工业领域的应用,都在随着技术的进步和数据应用需求的增强,一步步走进我们工作生活的每个领域。
GE作为IIoT的提出者和倡导者,针对工业领域的特点,能够提供从设备到业务的完整解决方案。
如果大家对GE的解决方案,GE的Proficy Historian或者GE Digital的其它软件产品感兴趣,或者需要我们提供哪些技术分享,欢迎随时与GE Digital联系。
提交
Proficy软件亮相国际智能制造论坛,以工业数据为核心赋能企业提高生产力
MQTT与OPC UA的物联网对话
GE数字集团的Proficy Historian 2023
预见智能制造,GE Digital亮相2023第十七届北京国际工业自动化展览会
GE Digital云端制造执行系统(MES)可降低30%的总拥有成本