由于開發人員需要等待新設備的硬件實現可用才能開始開始工作,因此嵌入式應用開發項目通常會出現延遲。工業物聯網 (IIoT) 應用開發面臨類似的瓶頸,需要等待傳感器數據才開始像工業預見性維護系統或設施自動化系統之類基于機器學習方法的應用的開發。本系列文章由兩部分組成,將探討哪些替代方法能提供所需的早期數據流,以加速工業物聯網應用開發。第 1 部分介紹了如何使用模擬方法生成這些數據流。本文是第 2 部分,將會討論有哪些選擇方案可用來快速進行傳感器系統原型開發,以幫助生成數據。
大規模工業物聯網 (IIoT) 應用從根本上依賴于對目標環境中所部署傳感器網絡產生的數據流的分析和響應。如果在開發初期不能隨時獲得這些數據流,則工業物聯網應用可能會落后于緊迫的工期或低于公司的預期。
盡管模擬方法可以滿足許多應用的數據要求,但有些應用可能需要與目標環境精確匹配的數據。對于這些應用,要想獲得有效的模擬結果,所需的投入可能不切實際。而使用現成的傳感器和網關裝置提供了一個可能更容易的快速數據交付途徑。這些裝置專為工業環境而設計,支持各種傳感器類型和連接選項,幾乎不需用戶花費什么精力。
本文是關于加速工業物聯網應用開發的兩部分系列文章中的第二部分,將會介紹多種預配置型工業物聯網傳感器和網關,用于生成加速工業物聯網應用開發所需的數據。
工業物聯網數據模擬的局限性
傳感器數據是工業物聯網應用的核心,但完整的應用部署同時依賴于能提供這些數據的傳感器系統,以及將這些數據轉換為有用信息的軟件系統是否現成可用。對于某些工業物聯網應用,模擬可能無法提供足夠有用的數據。如果不仔細注意模擬的參數,則模擬的數據流可能會展現出將應用偏向特定工作曲線的屬性。
例如,若數據模擬配置為在 -40°C 至 +125°C 范圍內提供均勻分布的隨機溫度,則可能會使應用偏向極端溫度,超出目標環境的實際溫度范圍。此外,這種簡單的模擬提供的溫度數據還可能容易從一個測量期到下一個測量期一下跳過幾十度。在典型的工業物聯網應用中,此類不切實際的大幅溫度變化可能會對過程控制回路和其他應用結果造成混亂。
如果應用預期要嵌入機器學習推斷模型,則數據質量及其對真實情況的體現程度尤其值得關注。數據科學家們都知道,采用糟糕數據進行訓練的推斷模型也會提供同樣糟糕的結果。因此,為了構造這些模型所需的有效數據模擬,投入水平可能會迅速攀升。
對于大多數工業物聯網項目而言,將應用開發推遲到傳感器系統部署完成后,這根本不現實。事實上,當需要執行軟件應用來提供所需的信息,甚至來驗證能否全面部署時,等待傳感器部署甚至都不可行。例如,數據科學家可能需要復雜算法的結果來確定是否需要更高分辨率、更快更新速率,甚至不同類型的傳感器數據,來解決結果中的不明確性,或在其他方面優化應用。
由于所有這些原因,組織可能不情愿地決定延遲工業物聯網應用的開發,因為相比使用對目標工業過程和環境表現不佳的模擬數據來開發應用,這是更好的選擇。幸運的是,隨著預置工業物聯網傳感器系統和相關網關設備的不斷增多,組織至少能夠快速部署應用開發所需的一組最關鍵的傳感器。
快速部署傳感器網絡
工業物聯網傳感器將傳感器、處理器和連接接口組合在一個封裝中,以承受典型的工業環境壓力。除了用于溫度、振動、壓力和濕度的單個傳感器,開發人員還可以找到可用的多傳感器裝置,這些裝置封裝了特定應用功能(如預見性維護)所需的傳感器組合。
預見性維護方法會監測起著設備潛在故障指示作用的特性。例如,在電機中,振動頻率和溫度的特定變化能可靠地指出電機中非常具體的故障類型。工業物聯網傳感器設計用于捕獲這些數據,例如 National Control Devices (NCD) 的 PR55-20A 預見性維護傳感器,它將所需的傳感器與低功耗微控制器和 DigiMesh 無線網狀網絡連接組合在一起。
為了加速工業物聯網應用的開發,開發人員可以輕松地將專用傳感器(例如 NCD 預見性維護傳感器)與其他傳感器(例如 NCD PR49-24G 無線環境傳感器)組合使用。NCD PR49-24G 采用由兩節 AA 電池供電的工業封裝,并集成了溫度、濕度和氣體傳感器。
除了各種特定的傳感器類型,工業物聯網傳感器制造商還提供了預置的通信網關裝置,旨在簡化傳感器到本地連接網絡的集成。實際上,開發人員可以找到一些可用的網關裝置,需要預先配置成連接特定的商業云或支持常用于連接物聯網云平臺的通信協議。
針對其 DigiMesh 無線傳感器,NCD PR55-21 網關系列使用 Wi-Fi 連接來連接到特定的云服務,包括 Microsoft Azure IoT (PR55-21_AZURE)、Amazon Web Services IoT (PR55-21_AWS) 或 Losant IoT 平臺 (PR55-21_LOSANT)。此外,PR55-21_MQTT 網關還支持與使用 ISO 標準 MQ 遙測傳輸 (MQTT) 協議的任何主機進行通信。與 PR55-21 系列的其他成員一樣,PR55-21_MQTT 網關將低功耗工業微控制器與子系統相結合,以實現本地 DigiMesh 無線連接以及與本地或遠程 MQTT 服務器的加密 Wi-Fi 回程連接。
開發人員可以使用通過網關的嵌入式 Web 服務器提供的菜單式工具,快速配置 DigiMesh 本地網絡和 MQTT Wi-Fi 連接。
DigiMesh 網狀網絡提供了一種有效的方法,用于擴展電池供電型傳感器系統中所需的低功率收發器的有效范圍。當然,這只是工業環境中可能遇到的多種連接選項之一,制造商針對其中許多連接提供了類似的傳感器和網關組合。例如,Laird 的 Sentrius RS1xx 系列包括專用于支持藍牙和 LoRaWAN 連接的工業傳感器。該公司的 Sentrius RG1xx 系列包括互補性網關,用于支持 LoRaWAN 部署的區域頻率要求。此外,這些網關還支持本地藍牙連接和 Wi-Fi 回程 Internet 連接。
在某些應用中,強電磁干擾 (EMI) 源會降低無線通信中的信號完整性。對于這些情況,若能夠將傳感器與通信功能分開,這可是重要的優勢。除了自家公司的無線工業傳感器,Banner Engineering 還提供了能通過 RS-485 或單線串行接口連接至單獨無線節點的傳感器。因此,操作人員可以將無線通信節點與連接至強 EMI 源(例如高速電機)的傳感器相距一定距離放置。
為支持這種配置,Banner Engineering 的 DX80N9Q45VTP 無線節點設計成與該公司的 QM30VT1 單線振動和溫度傳感器連接,而 DX80N9Q45TH 無線節點則與 M12FTH4Q 單線溫度和濕度傳感器連接。為了滿足更廣泛的傳感器接口要求,該公司的 DX80N9Q45U 可用作通用的單線無線節點,同時該公司的 DX80G9M6S 系列無線節點支持 RS-485 傳感器連接到多跳網絡。
本地處理
即使能快速部署工業物聯網傳感器網絡,開發人員也可能需要預期進行一定程度的本地處理,以減少數據量或減輕下游資源的處理負載。實際上,先進的工業傳感器(例如 Banner Engineering 的 QM30VT2 振動和溫度傳感器)能夠讓用戶將測得的振動頻率分成多達 20 個頻段。此功能在預見性維護應用中尤為重要,在這些應用中,通過確定不同頻段內的變化可確定特定類型的故障。
除了由傳感器進行預處理外,在早期部署傳感器網絡時,也可能會產生一系列本地處理要求。Banner Engineer 的 DXM700 控制器和網關提供了此功能。DXM700 的尺寸僅為 70 x 86 x 55 毫米 (mm),可提供多個本地無線和有線連接以及到主機服務器的以太網回程連接。
當從本地傳感器網絡接收數據時,該控制器可以執行用 ScriptBasic 編寫的程序,來檢查輸入數據,根據輸入數據激活輸出,或執行簡單的數據轉換。Banner Engineering 說明文檔中包括了一些 ScriptBasic 示例,用于說明像響應傳感器數據變化這樣的典型操作 。
副本
...'Function to read the T/H sensor FUNCTION GetTempHumidityData LastValueTempC = TempC LastValueHumidity = Humidity Humidity =GETREG(SensorHumidity_reg, TH_SID, MBtype) TempC = GETREG(SensorTempC_reg, TH_SID, MBtype) IF Humidity > 65535 or TempC > 65535 THEN PRINT "Read Error - humidity / temp reading...", Humidity," ",TempC,"/n/r" END IF WrErr = SETREG (Humidity_reg, Humidity, LocalRegSID, MBtype) WrErr = SETREG (TempC_reg, TempC, LocalRegSID , MBtype) FUNCTION StateMachine 'State machine definitions for the periodic reading of temp/humidity ' TH_State = 0 current state of the state machine ' TH_Idle= 0 initial state ' TH_Wait= 1 wait time between samples ' TH_Sample= 2 get samples from remote sensor ' TH_Error= 3 error state - unknown condition LOCAL StartState StartState = TH_State WrErr = SETREG (SM_reg, TH_State, LocalRegSID, MBtype) IF TH_State = TH_Idle THEN StartTime = NOW TH_State = TH_Wait ELSEIF TH_State = TH_Wait THEN IF NOW >= (StartTime + WaitTime) THEN TH_State = TH_Sample ELSE TH_State = TH_Wait END IF ELSEIF TH_State = TH_Sample THEN GetTempHumidityData TH_State = TH_Idle ELSE TH_State = TH_Error END IF IF StartState <> TH_State THEN PRINT "/r/n Time ",NOW," SM Started-> ",THState[StartState]," End->",THState[TH_State]," /r/n" END IF END FUNCTION FUNCTION LED_driver IF LastValueTempC < TempC THEN ? ?WrErr = SETREG (TempGoingUp_LED2_reg,1,DisplaySID, MBtype) ? ?ELSE ? ? ? WrErr = SETREG (TempGoingUp_LED2_reg,0,DisplaySID, MBtype) ? ?END IF ? ? ? IF LastValueTempC > TempC THEN WrErr = SETREG (TempGoingDown_LED3_reg,1,DisplaySID, MBtype) ELSE WrErr = SETREG (TempGoingDown_LED3_reg,0,DisplaySID, MBtype) END IF IF (Humidity > 65535 ) OR (TempC > 65535) THEN WrErr = SETREG (CommsError_LED4_reg,1,DisplaySID, MBtype) ELSE WrErr = SETREG (CommsError_LED4_reg,0,DisplaySID, MBtype) END IF IF GETREG(ScriptRunnning_LED1_reg, DisplaySID, MBtype) THEN WrErr = SETREG (ScriptRunnning_LED1_reg,0,DisplaySID, MBtype) ELSE WrErr = SETREG (ScriptRunnning_LED1_reg,1,DisplaySID, MBtype) END IF END FUNCTION ‘Main program loop BEGIN: PRINT "Script Starting/r/n" ITERATE: 'PRINT "/r/n Time = ",NOW," /r/n" StateMachine LED_driver Sleep(1) GOTO ITERATE END
清單 1:此 ScriptBasic 代碼段來自 Banner Engineering,展示了開發人員如何對 Banner Engineering 的 DXM700 進行編程,以在本地對傳感器數據作出響應。在此例中,通過打開和關閉 LED 來響應溫度和濕度傳感器數據的變化。(代碼來源:Banner Engineering)
Multi-Tech Systems 的 MTCAP-Lxxx 系列等網關為本地處理提供了更大的靈活性。此系列專用于滿足各種連接要求,可支持傳感器側的本地 LoRaWAN 連接,以及回程信道的以太網和可選寬帶 LTE 連接。針對其工作環境,此網關系列基于開源的 Multi-Tech Linux (mLinux) 操作系統。因此,開發人員可以使用熟悉的開發環境來創建本地處理軟件例程。此外,這些網關還支持 Node-RED,這是一種需要很少代碼的開發選項,對于事件驅動型應用(例如工業物聯網)非常有用。關于 Node-RED 的更多信息請參閱后文。
低代碼快速原型開發
通過快速部署物理傳感器網絡,在全面設計、開發和調試傳感器網絡之前就能提供早期的關鍵數據來源,從而幫助加速工業物聯網應用的開發。如果快速部署帶來了大量附帶的軟件開發要求,則可能會妨礙進行部署。在很多情況下,前述預配置型工業物聯網的傳感器和網關都可以避免這種情況,但若超出即用型傳感器和網關功能的獨特數據要求,則可能會帶來相關的軟件要求。
為了滿足獨特的數據要求,快速原型設計平臺(例如 Arduino 和 Raspberry Pi)提供了各種各樣的專用傳感器和執行器作為擴展板。通過混合搭配這些擴展板,開發人員可以快速構建幾乎滿足任何傳感器數據要求的原型設計。
對于物聯網應用來說,制造商通過發布多傳感器板來簡化應用的原型設計,這些多傳感器板設計具有應用通常需要的最小尺寸和功能。諸如 ON Semiconductor 的 RSL10-SENSE-GEVK 評估套件或 STMicroelectronics 的 STEVAL-STLKT01V1 SensorTile 開發套件之類開發板,則將高性能處理器與可穿戴設備和物聯網設備通常需要的各種各樣傳感器集成在一起。例如,SensorTile 就組合了 STMicroelectronics 的 STM32L4 處理器、STMicroelectronics 的 BLUENRG-MS 收發器和一個傳感器陣列,而傳感器陣列則包括了該公司的 LPS22HBTR 微機電系統 (MEMS) 壓力傳感器、帶加速計和陀螺儀的 LSM6DSMTR MEMS 慣性測量裝置 (IMU) 以及帶線性加速和磁傳感器的 LSM303AGRTR MEMS 電子羅盤。
作為流行的低代碼開發環境,Node-RED 允許開發人員通過繪制連接功能元件(節點)的圖形(流程),來對這些板卡和其他硬件系統(例如 NCD 設備和 Multi-Tech 網關)進行編程。這些流程與節點之間的交互相對應,而這些節點又對應于一些特定的功能,包括讀取傳感器數據、對數據執行操作、將數據傳輸到其他功能元件(如云網關)以及顯示數據。
在開源的 Node-RED 流程存儲庫中有超過 225,000 個模塊可用,該環境提供了一個可用于開發事件驅動型應用的豐富生態系統,例如采集傳感器數據并傳輸到云。盡管 Node-RED 提供了在生產應用中集成結果流程的方法,但它對 Node.js 的依賴可能不適用于某些應用或生產環境。
Digi-Key 的 DK IoT Studio 提供了另一個低代碼開發環境,大幅消除了對手動軟件開發的需求,同時仍提供 C 語言源代碼。通過使用 DK IoT Studio,開發人員可以在 DK IoT Studio 畫布上拖放與 SensorTile 的每個功能關聯的組件,從而創建所需的功能。
除了支持特定的硬件組件外,該環境還提供了類似的可拖放功能組件,這些組件代表了云數據傳輸或云資源操作。在繪制描述數據流和操作的圖表后,開發人員可以下載生成的代碼,以上傳到 SensorTile。在構建典型原型時,此過程幾乎或完全不需要額外的代碼開發。有關這一快速原型開發流程的更多信息,請閱讀“快速部署電池供電型藍牙 5 認證多傳感器物聯網設備”。
總結
大規模工業物聯網應用的開發主要依賴能否獲得如實呈現目標環境的數據。正如本系列文章的第 1 部分所述,盡管模擬方法可以滿足許多應用的數據要求,但有些應用可能需要與目標環境精確匹配的數據。對于這些應用,要想獲得有效的模擬結果,所需的投入可能不切實際。而使用現成的傳感器和網關裝置,則提供了一種更加簡單的快速數據交付解決方案。
如第 2 部分(本文)所述,這些裝置支持各種傳感器類型和連接選項,幾乎不需要用戶花費什么精力。使用這些產品,開發人員可以快速部署傳感器網絡,從而能夠交付加速工業物聯網應用開發所需的數據。
審核編輯 黃宇
-
傳感器
+關注
關注
2553文章
51467瀏覽量
756965 -
物聯網
+關注
關注
2914文章
44978瀏覽量
377480 -
IOT
+關注
關注
187文章
4231瀏覽量
197731
發布評論請先 登錄
相關推薦
評論