國外物聯網平臺(5)
——Exosite Murano
馬智
定位
Murano是一個基於雲的IoT軟體平臺,提供安全、可擴充套件的基礎設施,支援端到端的生態系統,幫助客戶安全、可擴充套件地開發、部署和管理應用、服務以及聯網產品。
功能
- Murano平臺簡化了整個IoT技術棧,可視為整合在一起的多個雲軟體層。
- Murano提供IoT基礎設施、開發環境和功能整合,包括裝置連線、產品管理、資料路由、服務整合(如data store/告警/第三方分析平臺)、應用開放API、使用者認證/角色/許可權和應用託管。
- Murano允許與第三方軟體整合,開發者只需要關注使用者應用和裝置應用。
- Murano能夠使開發者快速建立整個IoT系統,同時保持靈活性,允許新增新功能和自定義功能。
架構
產品層
Murano中的產品層表示聯網裝置的型別,它提供工具和介面,以便管理產品定義,允許開發者使用通用API進行裝置部署、業務開通、資料路由定義、現場升級和配置。開發者可使用已整合的儀表盤原型快速建立裝置並驗證裝置行為。
產品層功能
- 裝置管理:管理裝置狀態、部署韌體及升級、版本控制。
- 裝置連線&安全:使用TLS標準協議建立加密連線通道,開發者可快速連線裝置並進行資料通訊。
- 裝置開通:安全、可擴充套件的開通介面滿足OEM廠商在裝置生產狀態和執行狀態下的靈活開通需求。
- 開放訪問:相容大多數嵌入式硬體配置。
- 儀表盤工具:快速建立、配置和部署儀表盤,以便視覺化裝置資料。
- 嵌入式SDK:ExositeReady™ 嵌入式SDK能夠向大多數Wi-Fi和乙太網嵌入式平臺進行移植。
- 閘道器引擎:Exosite的閘道器引擎框架功能包括自動開通、裝置管理、現場韌體升級,以加速閘道器設計。
- 開發資源:具備C、 C++ 、 Python 、 Java 、 .NET 、 Node 、 Go等語言的開源庫。
- 資料模型:基於裝置後設資料、資料來源、裝置分組、訪問策略、流程環節、事件和告警,能夠靈活地開發、維護和升級複雜的資料模型。
解決方案層
- Murano中的解決方案層表示應用邏輯、使用者介面、應用API。利用裝置資料,在資料路由、服務整合、自定義API、使用者認證/角色/許可權和應用託管的基礎上,提供開發和部署應用及服務的工具,使開發者建立解決方案模板,包括整個部署到終端使用者的應用功能,以及產品的自定義API。
解決方案層功能
- 角色&許可權管理:已整合的使用者服務提供許可權模型,包括認證、管理和角色定義等。
- 自定義API:可自定義web-service API,根據裝置資料,定義每個解決方案的上下文環境、應用邏輯和裝置/使用者訪問。
- 應用託管:靜態應用檔案託管使整個應用託管在Exosite上,Exosite提供技術支援和7*24監控。
- 服務資料路由和事件邏輯:使用事件邏輯系統設定門限,排程服務通過簡訊、電子郵件或者HTTP發生告警。
- 應用程式庫:豐富的應用程式庫便於設計、配置和部署原生應用。
- 資料儲存:帶有時間戳的Key-Value儲存,所有資料在不同伺服器上存有副本。
- 分析引擎:提供實時資料流處理和自動處理,易於解析原始資料包及格式轉換。
- 融合方案:利用Exosite的合作伙伴方案,或者自定義cloud-cloud連線,整合其它雲服務。
- IoT超市:訪問大量的已整合的合作伙伴方案,加速IoT部署,所有的服務外掛由Exosite託管。
業務層
- Murano將聯網產品和方案完全轉型為資料驅動業務。使用企業級的功能特性,Murano無縫整合業務系統,釋放IoT的真正價值,加速企業轉型。
業務層功能
- 管理控制檯:易於使用的管理工具,設定資料層面的方案配置。
- 系統使用報表:分析、優化和理解資源使用模型,提供實施方案監控。
- 方案模板:垂直應用模板用於產品定義、資料路由、使用者角色定義和應用內容,加速上市。
- 業務軟體整合:使用第三方軟體,如:Salesforce、Twilio和其它CRM軟體,業務報表、分析工具和基於雲的排程和資料服務。
- 方案監控:提供端到端的跨方案業務洞察,整體效能的深度可視。
- 資料發現:使用資料瀏覽、視覺化和匯出工具,獲得業務知識和運營洞察。
- 訪問控制:決定誰能夠檢視和訪問不同賬戶層次的資訊,快速和安全地建立層級結構和展示選項。
- 安全管理:管理SSL證照和DNS,整合監控服務到Murano中,平滑和安全地進行IT運維。
- 標準化工具:整合原始碼控制工具,重用公共元件。
安全-多重防護
- 整合領先的安全框架,在所有敏感介面上採用銀行級的SSL加密方式
- API端點使用socket層安全協議(SSL/TLS),防止資料竊取、篡改、偽造。
- 使用者介面和Web應用使用HTTPS加密通訊,保護資料交換的隱私和完整性。
安全-資料儲存
- 多層次安全模型保證資料存取安全策略的執行
- 限制資料伺服器的物理訪問,現場監控物理設施,提供多重身份認證和安全日誌
- 使用者資料訪問受到嚴格控制,每次請求必須通過認證,訪問與使用者資料進行隔離。
安全-使用者認證
- 使用者認證嚴格控制平臺訪問,許可權分層易於多維度資訊訪問授權,基於使用者許可權級別生成API臨時祕鑰。
- 安全儲存敏感使用者資訊、密碼和令牌。
安全-裝置認證
- 禁止沒有授權情況下平臺和終端的任何資料交換。
- 所有裝置使用私鑰與平臺進行資料交換。
- 配置時為防止欺騙,現場裝置在受控的時間視窗內,使用加密的API通訊(DTLS和TLS),與平臺建立認證。
- 一旦裝置通過認證,建立其擁有權和許可權層級。
裝置SDK
為減少開發時間,ExositeReady™ 嵌入式SDK提供商業級終端軟體快速安全地連線硬體裝置。
裝置SDK功能
- 裝置移植:ExositeReady SDK提供將現有配置向新硬體平臺的移植。
- 示例程式:瀏覽Demo檢視移植方法。
- 支援的硬體平臺: ExositeReady認證的硬體包括開發指南、示例程式和二進位制編碼檔案。
- 整合API:提供易於整合的應用級API。
- 庫級API: ExositeReady認證的硬體預置連線Exosite雲平臺的功能。
- 安全連線: ExositeReady認證的硬體採用了最新的安全標準。
- 開源:ExositeReady SDK是開源軟體,基於Apache 2.0許可完全免費。
- 程式碼可移植性:使用C99編寫,ExositeReady SDK可使用在任何嵌入式平臺上。
裝置閘道器引擎
ExositeReady™ 閘道器引擎是一個軟體包,便於快速安全地在終端節點、閘道器和Murano平臺之間通訊。
裝置閘道器引擎功能
- 應用託管:開發和監控自定義閘道器應用、版本控制、重啟和失敗定義、除錯日誌存取。
- OTA升級:使用安全可靠的OTA引擎,遠端安裝和升級閘道器韌體和應用。
- 閘道器資料採集:監控重要的閘道器資訊,如硬碟使用率、檔案系統後設資料、行動網路資料流量使用,易於除錯和預測潛在問題。
- 訊息佇列:使用靈活的儲存-轉發式的HTTP服務,避免斷電或不可靠連線引起的資料丟失。
- 過程和日誌管理:通過開源的流程管理工具和監控系統,記錄重啟過程和日誌檔案。
- API庫:使用安全和已驗證的API庫,加速開發Python應用。
- 模組化感測器介面:利用內建的感測器驅動,或新增和擴充套件I/O介面,滿足實際需求。
- 可插拔式服務介面:使用內建的雲模組,將裝置資料路由至Murano平臺,易於整合其它現場業務管理系統。
裝置HTTP API
- 裝置韌體和應用必須使用此API開通業務,以及與平臺進行互動。
時間序列資料類API:
- Write:向一組資源寫入資料
- Read:從一組資源讀取最新資料
- Hybrid Write/Read:先寫入一組資源,然後讀取一組資源
- Long-Polling:當有資源更新時,及時發出通知
裝置開通類API:
- Activate:啟用裝置並獲取裝置CIK
- List Available Content:獲取裝置內容檔案列表
- Get Content Info:獲取裝置內容檔案的後設資料
- Download Content:下載裝置內容檔案
工具類API:
- Timestamp:獲取當前unix格式時間戳
Murano指令碼
- Murano平臺是一個事件驅動型系統,使用指令碼路由資料,並執行應用邏輯和規則。
-
Murano指令碼:
- 具有豐富的功能,用於存取裝置資料至時間序列資料庫、執行裝置任務、處理方案應用API請求等操作。
- 可訪問所有Murano服務。
- 使用Lua語言編寫,執行在LuaJIT虛擬機器。
- 可使用管理控制檯或者命令列介面新增至解決方案。
Murano指令碼相關概念
- 服務呼叫:Service Call
- 指令碼執行和事件處理:Script Execution & Event Handlers
- API端點指令碼:API Endpoint Scripts
- Websocket指令碼:Websocket Scripts
- 指令碼模組:Modules
- 指令碼環境:Script Environment
Murano服務
Murano服務可被指令碼訪問,由2種不同的元件構成:操作和事件。
- 操作Operations:可在指令碼中呼叫的方法
- 事件Events:可觸發指令碼執行
Murano服務列表
通訊類:
- Device:裝置閘道器服務
- Email:Email服務
- Twilio:Twilio服務(簡訊和電話)
- Webservice :閘道器服務自定義API
- Websocket : WebSocket閘道器服務
核心類:
- Tsdb:時間序列儲存服務
- Keystore :鍵值儲存服務
其它類:
- Config :方案配置服務
- Timer :計時服務API
- User :使用者管理服務