國外物聯網平台(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 :用戶管理服務