作者:馬智
物聯(lián)網(wǎng)智庫(kù) 整理發(fā)布
轉(zhuǎn)載請(qǐng)注明來源和出處
------ 【導(dǎo)讀】 ------
物聯(lián)網(wǎng)智庫(kù)將在每周五下午的第二篇文章推送由馬智先生研究撰寫的系列文章——《國(guó)內(nèi)外物聯(lián)網(wǎng)平臺(tái)初探》。
物聯(lián)網(wǎng)智庫(kù)將在每周五下午的第二篇文章推送由馬智先生研究撰寫的系列文章——《國(guó)內(nèi)外物聯(lián)網(wǎng)平臺(tái)初探》
—— 國(guó)內(nèi) ——
—— 國(guó)外 ——
定位
Murano是一個(gè)基于云的IoT軟件平臺(tái),提供安全、可擴(kuò)展的基礎(chǔ)設(shè)施,支持端到端的生態(tài)系統(tǒng),幫助客戶安全、可擴(kuò)展地開發(fā)、部署和管理應(yīng)用、服務(wù)以及聯(lián)網(wǎng)產(chǎn)品。
功能
Murano平臺(tái)簡(jiǎn)化了整個(gè)IoT技術(shù)棧,可視為集成在一起的多個(gè)云軟件層。
Murano提供IoT基礎(chǔ)設(shè)施、開發(fā)環(huán)境和功能集成,包括設(shè)備連接、產(chǎn)品管理、數(shù)據(jù)路由、服務(wù)集成(如data store/告警/第三方分析平臺(tái))、應(yīng)用開放API、用戶認(rèn)證/角色/權(quán)限和應(yīng)用托管。
Murano允許與第三方軟件集成,開發(fā)者只需要關(guān)注用戶應(yīng)用和設(shè)備應(yīng)用。
Murano能夠使開發(fā)者快速創(chuàng)建整個(gè)IoT系統(tǒng),同時(shí)保持靈活性,允許添加新功能和自定義功能。
架構(gòu)
產(chǎn)品層
Murano中的產(chǎn)品層表示聯(lián)網(wǎng)設(shè)備的類型,它提供工具和接口,以便管理產(chǎn)品定義,允許開發(fā)者使用通用API進(jìn)行設(shè)備部署、業(yè)務(wù)開通、數(shù)據(jù)路由定義、現(xiàn)場(chǎng)升級(jí)和配置。開發(fā)者可使用已集成的儀表盤原型快速創(chuàng)建設(shè)備并驗(yàn)證設(shè)備行為。
產(chǎn)品層功能
設(shè)備管理:管理設(shè)備狀態(tài)、部署固件及升級(jí)、版本控制。
設(shè)備連接&安全:使用TLS標(biāo)準(zhǔn)協(xié)議創(chuàng)建加密連接通道,開發(fā)者可快速連接設(shè)備并進(jìn)行數(shù)據(jù)通信。
設(shè)備開通:安全、可擴(kuò)展的開通接口滿足OEM廠商在設(shè)備生產(chǎn)狀態(tài)和運(yùn)行狀態(tài)下的靈活開通需求。
開放訪問:兼容大多數(shù)嵌入式硬件配置。
儀表盤工具:快速創(chuàng)建、配置和部署儀表盤,以便可視化設(shè)備數(shù)據(jù)。
嵌入式SDK:ExositeReady? 嵌入式SDK能夠向大多數(shù)Wi-Fi和以太網(wǎng)嵌入式平臺(tái)進(jìn)行移植。
網(wǎng)關(guān)引擎:Exosite的網(wǎng)關(guān)引擎框架功能包括自動(dòng)開通、設(shè)備管理、現(xiàn)場(chǎng)固件升級(jí),以加速網(wǎng)關(guān)設(shè)計(jì)。
開發(fā)資源:具備C、 C++ 、 Python 、 Java 、 .NET 、 Node 、 Go等語言的開源庫(kù)。
數(shù)據(jù)模型:基于設(shè)備元數(shù)據(jù)、數(shù)據(jù)源、設(shè)備分組、訪問策略、流程環(huán)節(jié)、事件和告警,能夠靈活地開發(fā)、維護(hù)和升級(jí)復(fù)雜的數(shù)據(jù)模型。
解決方案層
Murano中的解決方案層表示應(yīng)用邏輯、用戶接口、應(yīng)用API。利用設(shè)備數(shù)據(jù),在數(shù)據(jù)路由、服務(wù)集成、自定義API、用戶認(rèn)證/角色/權(quán)限和應(yīng)用托管的基礎(chǔ)上,提供開發(fā)和部署應(yīng)用及服務(wù)的工具,使開發(fā)者創(chuàng)建解決方案模板,包括整個(gè)部署到最終用戶的應(yīng)用功能,以及產(chǎn)品的自定義API。
解決方案層功能
角色&權(quán)限管理:已集成的用戶服務(wù)提供權(quán)限模型,包括認(rèn)證、管理和角色定義等。
自定義API:可自定義web-service API,根據(jù)設(shè)備數(shù)據(jù),定義每個(gè)解決方案的上下文環(huán)境、應(yīng)用邏輯和設(shè)備/用戶訪問。
應(yīng)用托管:靜態(tài)應(yīng)用文件托管使整個(gè)應(yīng)用托管在Exosite上,Exosite提供技術(shù)支持和7*24監(jiān)控。
服務(wù)數(shù)據(jù)路由和事件邏輯:使用事件邏輯系統(tǒng)設(shè)置門限,調(diào)度服務(wù)通過短信、電子郵件或者HTTP發(fā)生告警。
應(yīng)用程序庫(kù):豐富的應(yīng)用程序庫(kù)便于設(shè)計(jì)、配置和部署原生應(yīng)用。
數(shù)據(jù)存儲(chǔ):帶有時(shí)間戳的Key-Value存儲(chǔ),所有數(shù)據(jù)在不同服務(wù)器上存有副本。
分析引擎:提供實(shí)時(shí)數(shù)據(jù)流處理和自動(dòng)處理,易于解析原始數(shù)據(jù)包及格式轉(zhuǎn)換。
融合方案:利用Exosite的合作伙伴方案,或者自定義cloud-cloud連接,集成其它云服務(wù)。
IoT超市:訪問大量的已集成的合作伙伴方案,加速IoT部署,所有的服務(wù)插件由Exosite托管。
業(yè)務(wù)層
Murano將聯(lián)網(wǎng)產(chǎn)品和方案完全轉(zhuǎn)型為數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)。使用企業(yè)級(jí)的功能特性,Murano無縫集成業(yè)務(wù)系統(tǒng),釋放IoT的真正價(jià)值,加速企業(yè)轉(zhuǎn)型。
業(yè)務(wù)層功能
管理控制臺(tái):易于使用的管理工具,設(shè)定數(shù)據(jù)層面的方案配置。
系統(tǒng)使用報(bào)表:分析、優(yōu)化和理解資源使用模型,提供實(shí)施方案監(jiān)控。
方案模板:垂直應(yīng)用模板用于產(chǎn)品定義、數(shù)據(jù)路由、用戶角色定義和應(yīng)用內(nèi)容,加速上市。
業(yè)務(wù)軟件集成:使用第三方軟件,如:Salesforce、Twilio和其它CRM軟件,業(yè)務(wù)報(bào)表、分析工具和基于云的調(diào)度和數(shù)據(jù)服務(wù)。
方案監(jiān)控:提供端到端的跨方案業(yè)務(wù)洞察,整體性能的深度可視。
數(shù)據(jù)發(fā)現(xiàn):使用數(shù)據(jù)瀏覽、可視化和導(dǎo)出工具,獲得業(yè)務(wù)知識(shí)和運(yùn)營(yíng)洞察。
訪問控制:決定誰能夠查看和訪問不同賬戶層次的信息,快速和安全地創(chuàng)建層級(jí)結(jié)構(gòu)和展示選項(xiàng)。
安全管理:管理SSL證書和DNS,集成監(jiān)控服務(wù)到Murano中,平滑和安全地進(jìn)行IT運(yùn)維。
標(biāo)準(zhǔn)化工具:集成源碼控制工具,重用公共組件。
安全-多重防護(hù)
集成領(lǐng)先的安全框架,在所有敏感接口上采用銀行級(jí)的SSL加密方式
API端點(diǎn)使用socket層安全協(xié)議(SSL/TLS),防止數(shù)據(jù)竊取、篡改、偽造。
用戶界面和Web應(yīng)用使用HTTPS加密通信,保護(hù)數(shù)據(jù)交換的隱私和完整性。
安全-數(shù)據(jù)存儲(chǔ)
多層次安全模型保證數(shù)據(jù)存取安全策略的執(zhí)行
限制數(shù)據(jù)服務(wù)器的物理訪問,現(xiàn)場(chǎng)監(jiān)控物理設(shè)施,提供多重身份認(rèn)證和安全日志
用戶數(shù)據(jù)訪問受到嚴(yán)格控制,每次請(qǐng)求必須通過認(rèn)證,訪問與用戶數(shù)據(jù)進(jìn)行隔離。
安全-用戶認(rèn)證
用戶認(rèn)證嚴(yán)格控制平臺(tái)訪問,權(quán)限分層易于多維度信息訪問授權(quán),基于用戶權(quán)限級(jí)別生成API臨時(shí)秘鑰。
安全存儲(chǔ)敏感用戶信息、密碼和令牌。
安全-設(shè)備認(rèn)證
禁止沒有授權(quán)情況下平臺(tái)和終端的任何數(shù)據(jù)交換。
所有設(shè)備使用私鑰與平臺(tái)進(jìn)行數(shù)據(jù)交換。
配置時(shí)為防止欺騙,現(xiàn)場(chǎng)設(shè)備在受控的時(shí)間窗口內(nèi),使用加密的API通信(DTLS和TLS),與平臺(tái)建立認(rèn)證。
一旦設(shè)備通過認(rèn)證,建立其擁有權(quán)和權(quán)限層級(jí)。
設(shè)備SDK
為減少開發(fā)時(shí)間,ExositeReady? 嵌入式SDK提供商業(yè)級(jí)終端軟件快速安全地連接硬件設(shè)備。
設(shè)備SDK功能
設(shè)備移植:ExositeReady SDK提供將現(xiàn)有配置向新硬件平臺(tái)的移植。
示例程序:瀏覽Demo查看移植方法。
支持的硬件平臺(tái): ExositeReady認(rèn)證的硬件包括開發(fā)指南、示例程序和二進(jìn)制編碼文件。
集成API:提供易于集成的應(yīng)用級(jí)API。
庫(kù)級(jí)API: ExositeReady認(rèn)證的硬件預(yù)置連接Exosite云平臺(tái)的功能。
安全連接: ExositeReady認(rèn)證的硬件采用了最新的安全標(biāo)準(zhǔn)。
開源:ExositeReady SDK是開源軟件,基于Apache 2.0許可完全免費(fèi)。
代碼可移植性:使用C99編寫,ExositeReady SDK可使用在任何嵌入式平臺(tái)上。
設(shè)備網(wǎng)關(guān)引擎
ExositeReady? 網(wǎng)關(guān)引擎是一個(gè)軟件包,便于快速安全地在終端節(jié)點(diǎn)、網(wǎng)關(guān)和Murano平臺(tái)之間通信。
設(shè)備網(wǎng)關(guān)引擎功能
應(yīng)用托管:開發(fā)和監(jiān)控自定義網(wǎng)關(guān)應(yīng)用、版本控制、重啟和失敗定義、調(diào)試日志存取。
OTA升級(jí):使用安全可靠的OTA引擎,遠(yuǎn)程安裝和升級(jí)網(wǎng)關(guān)固件和應(yīng)用。
網(wǎng)關(guān)數(shù)據(jù)采集:監(jiān)控重要的網(wǎng)關(guān)信息,如硬盤使用率、文件系統(tǒng)元數(shù)據(jù)、移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)流量使用,易于調(diào)試和預(yù)測(cè)潛在問題。
消息隊(duì)列:使用靈活的存儲(chǔ)-轉(zhuǎn)發(fā)式的HTTP服務(wù),避免斷電或不可靠連接引起的數(shù)據(jù)丟失。
過程和日志管理:通過開源的流程管理工具和監(jiān)控系統(tǒng),記錄重啟過程和日志文件。
API庫(kù):使用安全和已驗(yàn)證的API庫(kù),加速開發(fā)Python應(yīng)用。
模塊化傳感器接口:利用內(nèi)置的傳感器驅(qū)動(dòng),或添加和擴(kuò)展I/O接口,滿足實(shí)際需求。
可插拔式服務(wù)接口:使用內(nèi)置的云模塊,將設(shè)備數(shù)據(jù)路由至Murano平臺(tái),易于集成其它現(xiàn)場(chǎng)業(yè)務(wù)管理系統(tǒng)。
設(shè)備HTTP API
設(shè)備固件和應(yīng)用必須使用此API開通業(yè)務(wù),以及與平臺(tái)進(jìn)行交互。
時(shí)間序列數(shù)據(jù)類API:
Write:向一組資源寫入數(shù)據(jù)
Read:從一組資源讀取最新數(shù)據(jù)
Hybrid Write/Read:先寫入一組資源,然后讀取一組資源
Long-Polling:當(dāng)有資源更新時(shí),及時(shí)發(fā)出通知
設(shè)備開通類API:
Activate:激活設(shè)備并獲取設(shè)備CIK
List Available Content:獲取設(shè)備內(nèi)容文件列表
Get Content Info:獲取設(shè)備內(nèi)容文件的元數(shù)據(jù)
Download Content:下載設(shè)備內(nèi)容文件
工具類API:
Timestamp:獲取當(dāng)前unix格式時(shí)間戳
Murano腳本
Murano平臺(tái)是一個(gè)事件驅(qū)動(dòng)型系統(tǒng),使用腳本路由數(shù)據(jù),并執(zhí)行應(yīng)用邏輯和規(guī)則。
Murano腳本具有豐富的功能,用于存取設(shè)備數(shù)據(jù)至?xí)r間序列數(shù)據(jù)庫(kù)、執(zhí)行設(shè)備任務(wù)、處理方案應(yīng)用API請(qǐng)求等操作。
Murano腳本可訪問所有Murano服務(wù)。
Murano腳本使用Lua語言編寫,運(yùn)行在LuaJIT虛擬機(jī)。
Murano腳本可使用管理控制臺(tái)或者命令行接口添加至解決方案。
Murano腳本相關(guān)概念
服務(wù)調(diào)用:Service Call
腳本執(zhí)行和事件處理:Script Execution & Event Handlers
API端點(diǎn)腳本:API Endpoint Scripts
Websocket腳本:Websocket Scripts
腳本模塊:Modules
腳本環(huán)境:Script Environment
Murano服務(wù)
Murano服務(wù)可被腳本訪問,由2種不同的組件構(gòu)成:操作和事件。
操作Operations:可在腳本中調(diào)用的方法
事件Events:可觸發(fā)腳本執(zhí)行
Murano服務(wù)列表
通信類:
Device:設(shè)備網(wǎng)關(guān)服務(wù)
Email:Email服務(wù)
Twilio:Twilio服務(wù)(短信和電話)
Webservice :網(wǎng)關(guān)服務(wù)自定義API
Websocket : WebSocket網(wǎng)關(guān)服務(wù)
核心類:
Tsdb:時(shí)間序列存儲(chǔ)服務(wù)
Keystore :鍵值存儲(chǔ)服務(wù)
其它類:
Config :方案配置服務(wù)
Timer :計(jì)時(shí)服務(wù)API
User :用戶管理服務(wù)
喜歡該專欄或者想勾搭作者本人,歡迎掃碼請(qǐng)作者大大喝咖啡!
聯(lián)系客服