国外物联网平台(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 :用户管理服务

国外物联网平台(5):Exosite Murano的更多相关文章

  1. 国外物联网平台(1):亚马逊AWS IoT

    国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并 ...

  2. 国外物联网平台(8):Telit

    国外物联网平台(8) ——Telit 马智 定位 We Bring IoT to Life Telit提供世界上最全面的高性能物联网模块.连接服务和软件. 产品体系 模块 Telit提供丰富专业的物联 ...

  3. 国外物联网平台(7):FogHorn

    国外物联网平台(7) ——FogHorn 马智 引言: 据外媒在本月20日报道,硅谷初创公司FogHorn正在与谷歌合作以简化工业物联网应用的部署.本文对FogHorn的技术.产品.应用和生态进行了分 ...

  4. 国外物联网平台(6):Electric Imp

    国外物联网平台(6)——Electric Imp 马智 公司背景 Electric Imp成立于2011年,公司设立在美国加利福尼亚州洛斯阿尔托斯和英国剑桥 公司投资者包括:富士康技术集团.PTI创投 ...

  5. 国外物联网平台(4):Ayla Networks

    国外物联网平台(4)——Ayla Networks 马智 定位 Ayla企业软件解决方案为全球部署互联产品提供强大的工具 功能 Ayla的IoT平台包含3个主要组成部分: (1) Ayla嵌入式代理A ...

  6. 国外物联网平台(2):微软Azure IoT

    国外物联网平台(2)——微软Azure IoT 马智 平台定位 连接设备.其它 M2M 资产和人员,以便在业务和操作中更好地利用数据. 连接 IoT 设备 将所有设备连接到云,从这些设备接收大规模数据 ...

  7. 国外物联网平台(3):IBM Watson IoT

    国外物联网平台(3)——IBM Watson IoT 马智 平台定位 提供全面管理的云托管服务,旨在简化并从 IoT 设备中获得价值. Watson IoT Platform 提供对 IoT 设备和数 ...

  8. 国外物联网平台初探(五) ——Exosite Murano

    定位 Murano是一个基于云的IoT软件平台,提供安全.可扩展的基础设施,支持端到端的生态系统,帮助客户安全.可扩展地开发.部署和管理应用.服务以及联网产品. 功能 Murano平台简化了整个IoT ...

  9. 国外物联网平台初探(二) ——微软Azure IoT

    平台定位 连接设备.其它 M2M 资产和人员,以便在业务和操作中更好地利用数据. 连接 IoT 设备 将所有设备连接到云,从这些设备接收大规模数据,以及管理这些设备的授权和限制. 在将设备连接到云和处 ...

随机推荐

  1. 给安卓端调用的apk、图片下载接口

    package com.js.ai.modules.pointwall.action; import java.io.File; import java.io.FileInputStream; imp ...

  2. Linux 命令初识

    Alt+Ctrl+F[1~6]:切换虚拟终端 如果要切换到第 2 号虚拟终端的话,按 Alt+Ctrl+F2 要切换回去的话,按 Alt+Ctrl+F1 #:为 root 用户的系统提示符 $:为普通 ...

  3. python's twenty-second day for me 封装,property方法

    面对对象的三大特性:继承,多态,封装. 函数和属性装到了一个非全局的命名空间----封装. 封装: 在类中,静态属性,方法,对象属性都可以变成私有的,只需要在这些名字前加上‘__’(双下划线). 在类 ...

  4. Java的I/O流问题

    一.流的概念        流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.        ...

  5. Vue 简单的总结一

    let 变量 1. 局部作用域 2. 不会存在变量提升 3. 变量不能重复声明 const 变量 1. 局部作用域 2. 不会存在变量提升 3. 变量不能重复声明 4. 只能声明常量,不可变得量 th ...

  6. Linux系统SCSI磁盘扫描机制解析及命令实例(转)

    转载请在文首保留原文出处:EMC中文支持论坛 介绍 Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命 ...

  7. “Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle)instead”

    “Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(B ...

  8. In function 'int av_clipl_int32_c(int64_t)': error: 'UINT64_C' was not declared in this scope

    cygwin下使用ndk编译jni时遇到的错误: /ffmpeg/include/libavutil/common.h: In function 'int av_clipl_int32_c(int64 ...

  9. Scala语言简介和开发环境配置

    Scala语言的简介和开发环境搭建 Scala是一门结合了面向对象特征和函数式编程特征的语言,它是一个创新的编程语言产品.Scala可以做脚本(就像shell脚本一样),可以做服务端编程语言,可以写数 ...

  10. 判断Android系统net和wap接入点的开发实例

    判断Android系统net和wap接入点的开发实例 分类标签: Activity   我们使用Android设备连接网络时,如果是wap接入点就需要设置代理,而电信和移动联通的代理并不相同,移动和联 ...