Historian數(shù)據(jù)上云第二彈,微軟走起
通用電氣數(shù)字集團(tuán) 劉尊義
續(xù)接上篇Historian發(fā)布數(shù)據(jù)到阿里云IoT,第二彈討論Historian數(shù)據(jù)發(fā)布到微軟Azure IoT Hub設(shè)備中心。
Azure IoT Hub是目前最好的中心化IoT平臺(tái)之一,Azure IoT Hub注冊(cè)的設(shè)備可以在Azure保存7天,免去個(gè)人搭建服務(wù)器的各種繁瑣操作和管理。
書(shū)歸正傳,測(cè)試將Historian數(shù)據(jù)發(fā)布到Azure IoT Hub統(tǒng)共需要以下4個(gè)工具:
GE Proficy Historian 9.1
微軟Azure IoT Hub賬號(hào)
MQTT.FX測(cè)試工具
VSCODE編程環(huán)境
特別說(shuō)明,微軟Azure中國(guó)區(qū)和國(guó)外是兩個(gè)隔離的空間,賬號(hào)互相獨(dú)立,數(shù)據(jù)發(fā)布的技術(shù)細(xì)節(jié)也略有不同,另外,中國(guó)區(qū)賬號(hào)需要組織身份注冊(cè)。
為了便于新手用戶理解數(shù)據(jù)發(fā)布的機(jī)制,我們將整個(gè)測(cè)試過(guò)程分為五個(gè)步驟:
· 微軟Azure IoT Hub準(zhǔn)備
· 獲取Azure IoT Hub令牌
· 在MQTT.fx中進(jìn)行數(shù)據(jù)發(fā)布測(cè)試
· 用VSCode控制臺(tái)訂閱Azure IoT Hub數(shù)據(jù)
· 用Historian采集器發(fā)布數(shù)據(jù)并測(cè)試
1、微軟Azure IoT Hub準(zhǔn)備
Azure中國(guó)區(qū)的地址是Portal.azure.cn, 而國(guó)外的入口是Portal.azure.com, 兩個(gè)賬號(hào)不能通用,我們使用國(guó)外的平臺(tái)進(jìn)行演示。首先,我們需要了解幾個(gè)Azure中的概念:
· 資源組:Azure提供的各種服務(wù)資源的組合池,可以包含多種資源,建議按照項(xiàng)目命名比較合適;
· 資源:Azure提供的各種服務(wù)資源,比如IoT中心就是一個(gè)資源類(lèi)型;
· IoT中心:Azure提供的套用IoT中心,可以理解為一個(gè)Broker實(shí)例;
· IoT設(shè)備:向IoT中心發(fā)布數(shù)據(jù)的終端或服務(wù),需要首先在IoT中心注冊(cè)。
其它概念如IoT Edge等因?yàn)楸緶y(cè)試案例使用不到,就不在這里贅述,下面開(kāi)始詳細(xì)的步驟。
首先當(dāng)然需要注冊(cè)一個(gè)微軟Azure賬號(hào),然后登陸控制臺(tái)首頁(yè),在菜單入口,選擇資源組,創(chuàng)建一個(gè)資源組,為資源組命名并選擇機(jī)房位置。
第二步,在資源組中創(chuàng)建一個(gè)物聯(lián)網(wǎng)IoT中心資源,并為IoT中心實(shí)例命名和選擇縮放級(jí)別,縮放級(jí)別和訂閱費(fèi)用與每天的記錄數(shù)有關(guān),測(cè)試用可以選擇基礎(chǔ)縮放級(jí)別即可。
第三步,在剛剛創(chuàng)建的IoT中心注冊(cè)IoT設(shè)備,命名設(shè)備ID。
最終,在IoT設(shè)備創(chuàng)建完成后會(huì)生成連接字符串和密鑰,記住提取位置,后面會(huì)用到。
2、獲取Azure IoT Hub令牌
接下來(lái),將會(huì)使用MQTT.fx測(cè)試連接到Azure IoT Hub,Azure IoT Hub支持用戶名/密碼組合及x.509證書(shū)兩種認(rèn)證方式,用戶名密碼組合的認(rèn)證方式中的密碼實(shí)際上,并不是注冊(cè)設(shè)備時(shí),Azure自動(dòng)生成的Key,而是使用動(dòng)態(tài)令牌作為連接使用的密碼,這一步的目的就是使用VSCode生成一個(gè)動(dòng)態(tài)令牌。
這一步只是讓大家了解Azure IoT Hub的通訊過(guò)程,實(shí)際在Historian向Azure IoT Hub發(fā)布數(shù)據(jù)的過(guò)程中,這一步驟由Historian自動(dòng)執(zhí)行,不需要我們手動(dòng)獲取,如果是熟練應(yīng)用,直接跳到第五步即可。
這一步,需要先安裝VSCode,并在VSCode選擇擴(kuò)展入口,在應(yīng)用商店中搜索Azure IoT Tools,并執(zhí)行安裝。
第二步,在資源管理器入口,連接Azure IoT中心,在IoT中心下,選擇“Devices”,然后選擇“Set IoT Hub Connection String”。
在VSCode的上部會(huì)彈出一個(gè)輸入框。
從Azure IoT中心資源共享訪問(wèn)策略處選擇iothubowner策略,從彈出的權(quán)限窗口復(fù)制主連接字符串到彈出的輸入框,即可與IoT中心的資源建立連接,會(huì)自動(dòng)刷新出IoT設(shè)備。
第三步,選中IoT設(shè)備,右鍵單擊并選擇“Generate SAS Token for Device”獲取令牌。
在VSCode上部的彈出框會(huì)彈出令牌過(guò)期時(shí)間,以小時(shí)為單位,輸入一個(gè)盡量長(zhǎng)的時(shí)間值,獲取令牌,但是過(guò)期之后需要重新獲取令牌。
最后, VSCode輸出窗口會(huì)輸出一個(gè)SASToken,以“SharedAccessSignature”開(kāi)頭的一行字符即為Azure IoT Hub連接的認(rèn)證密碼,在后面會(huì)用到。
3、在MQTT.fx中進(jìn)行數(shù)據(jù)發(fā)布測(cè)試
這一步驟是一個(gè)可選項(xiàng),主要目的是為了快速驗(yàn)證和IoT Hub之間的連接。如果熟悉Historian可直接跳到第五步。
在MQTT.fx控制臺(tái),單擊菜單欄中的Extras,選擇Edit Connection Profiles,點(diǎn)擊左側(cè)的“+”號(hào)添加一個(gè)新的連接。
按照上圖所示,輸入一個(gè)名字,并在MQTT Broker設(shè)置欄,填入地址、端口和客戶端ID。
其中的Broker Address可以在Azure IoT中心的概述頁(yè)面找到,其中的主機(jī)名即是需要在Broker Address中填入的內(nèi)容。
Broker Port是Azure IoT Hub的固定值8883。
Client ID是在Azure IoT Hub中注冊(cè)的IoT設(shè)備ID。
其它選項(xiàng)保持默認(rèn)值,接下來(lái)切換到User Credentials選項(xiàng)卡,用戶名處是一個(gè)固定組合,具體格式為:“IoT_hub_name/IoT_device_name/?api-version=2018-06-30”。
密碼處是在上一步生成的SAS動(dòng)態(tài)令牌。
填寫(xiě)完成后點(diǎn)擊OK保存即可。
然后,需要在mqtt.fx中,連接剛才配置的連接,在Publish選項(xiàng),定義一個(gè)相關(guān)的topic進(jìn)行數(shù)據(jù)發(fā)送。定義topic的格式如下:devices/IoT_device_name/messages/events/。
我們輸入測(cè)試數(shù)據(jù),點(diǎn)擊Publish進(jìn)行發(fā)布。
4、用VSCode控制臺(tái)訂閱Azure IoT Hub數(shù)據(jù)
接下來(lái),我們?cè)趧偛奴@取SAS令牌的VSCode環(huán)境,右鍵單擊IoT設(shè)備,選擇“Start Monitoring Built-in Event Endpoint”訂閱缺省Topic的數(shù)據(jù)。
在彈出的連接字符串輸入框,需要輸入連接字符串。
連接字符串從IoT Hub的內(nèi)置終結(jié)點(diǎn)的事件中心-兼容終結(jié)點(diǎn)獲取。
回車(chē)后,隨即可以在VSCode的輸出窗口返回如下信息:
我們?cè)谏弦徊皆O(shè)置的MQTT.fx測(cè)試工具中發(fā)布一段信息,隨即可以在輸出窗口捕獲訂閱的信息。
到此,我們確認(rèn)IoT Hub已經(jīng)可以正常工作并代理信息。
5、用Historian采集器發(fā)布數(shù)據(jù)并測(cè)試
最后,我們正式通過(guò)Historian采集器向IoT Hub發(fā)布數(shù)據(jù),其實(shí),如果是熟練應(yīng)用,可以直接跳過(guò)第二、三、四步,直接在這一步創(chuàng)建采集器連接,發(fā)布數(shù)據(jù)即可。
同時(shí),Historian并不需要手動(dòng)獲取Azure IoT Hub的SAS動(dòng)態(tài)令牌,Historian可以自動(dòng)獲取令牌并通過(guò)令牌建立連接,而無(wú)需考慮令牌過(guò)期問(wèn)題。
我們打開(kāi)Configuration Hub并登陸到Historian服務(wù)器,添加一個(gè)采集器。選擇機(jī)器名和采集器類(lèi)型,點(diǎn)擊“Get Details”獲取安裝的驅(qū)動(dòng)器和數(shù)據(jù)路徑。
在下一步中,選擇數(shù)據(jù)源服務(wù)。
接下來(lái),選擇目的為“Azure IoT Hub”,并復(fù)制在第一步中創(chuàng)建IoT設(shè)備后的主連接字符串,填到設(shè)備連接字符串,在傳輸協(xié)議中選擇“MQTT”。
拉到底端,選擇配置端,建議選擇Historian配置,并輸入Historian服務(wù)器的用戶名密碼。
最后一步,選擇默認(rèn)本地系統(tǒng)服務(wù)運(yùn)行,并點(diǎn)擊添加,添加成功后,新添加的采集器將自動(dòng)運(yùn)行。
在Historian管理客戶端中為采集器添加標(biāo)簽。
最后,可以在VSCode的輸出窗口看到數(shù)據(jù)正常刷新,至此,Historian通過(guò)采集器發(fā)布到Azure IoT Hub測(cè)試完成。
物聯(lián)網(wǎng)IoT正在影響著我們的生活,無(wú)論是共享單車(chē)還是工業(yè)領(lǐng)域的應(yīng)用,都在隨著技術(shù)的進(jìn)步和數(shù)據(jù)應(yīng)用需求的增強(qiáng),一步步走進(jìn)我們工作生活的每個(gè)領(lǐng)域。
GE作為IIoT的提出者和倡導(dǎo)者,針對(duì)工業(yè)領(lǐng)域的特點(diǎn),能夠提供從設(shè)備到業(yè)務(wù)的完整解決方案。
如果大家對(duì)GE的解決方案,GE的Proficy Historian或者GE Digital的其它軟件產(chǎn)品感興趣,或者需要我們提供哪些技術(shù)分享,歡迎隨時(shí)與GE Digital聯(lián)系。
提交
Proficy軟件亮相國(guó)際智能制造論壇,以工業(yè)數(shù)據(jù)為核心賦能企業(yè)提高生產(chǎn)力
MQTT與OPC UA的物聯(lián)網(wǎng)對(duì)話
GE數(shù)字集團(tuán)的Proficy Historian 2023
預(yù)見(jiàn)智能制造,GE Digital亮相2023第十七屆北京國(guó)際工業(yè)自動(dòng)化展覽會(huì)
GE Digital云端制造執(zhí)行系統(tǒng)(MES)可降低30%的總擁有成本