国外物联网平台(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. springmvc freemarker 全局变量的三种配置方式

    方法一 直接在spring-servlet.xml 中进行配置 <bean id="freemarkerConfiguration" class="org.spri ...

  2. 【转】JMeter基础之——一个简单的性能测试

    上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测试目标网站是fnng.cnblogs.co ...

  3. PTA 说反话-加强版(20 分)(字符串处理)

    说反话-加强版(20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空 ...

  4. RPC框架简易实现

           RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些 ...

  5. 异步通知与异步I/O

    异步通知:很简单,一旦设备准备好,就主动通知应用程序,这种情况下应用程序就不需要查询设备状态,这是不是特像硬件上常提的"中断的概念".上边比较准确的说法其实应该叫做"信号 ...

  6. Py修行路 内置模块补充 datetime模块

      Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.datetime模块用于是date和time模块的合集,他内部重新封装了time模块,相比于time ...

  7. 子域名扫描器 - aquatone

    项目地址:https://github.com/michenriksen/aquatone git clone,然后打开 ┌─[root@sch01ar]─[/sch01ar] └──╼ #git c ...

  8. ORACLE和MYSQL函数

    函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE:select round(1.23456,4) ...

  9. zabbix监控MySQL部署实战

    1.部署zabbix监控. 1.1 建用户组和用户 groupadd zabbix useradd -d /home/zabbix -g zabbix -m zabbix passwd zabbix ...

  10. 使用Nuget发布自己的类库包

    NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些V ...