物联网平台


1. 引言

  CIMST-物联网平台是一个开源物联网平台,可实现物联网项目的快速开发、管理和扩展。打造多样的、广泛的、全球跨服务的智慧平台,提供多套方法方案助力设备接入,实现万物互联的物联网解决方案。

2. CIMST-物联网平台介绍

2.1 产品概述

CIMST-物联网平台是一个开源物联网平台,可实现物联网项目的快速开发、管理和扩展。打造多样的、广泛的、全球跨服务的智慧平台,提供多套方法方案助力设备接入,实现万物互联的物联网解决方案。

2.2 设计原则

  • 高扩展: 使用领先开源技术构建的可水平扩展平台。
  • 高容错:无单点故障集群中的每个节点都是相同的。
  • 高性能:单个服务器节点可以根据用例处理几十甚至数十万个设备,集群可以处理数百万台设备。
  • 高灵活:开发新功能可以方便的使用自定义部件、规则引擎等。
  • 持久化:数据永久保存。

2.3 产品特性

  • CIMST-物联网平台可用于:
    • 设备管理,资产和客户并定义他们之间的关系。
    • 基于设备和资产收集数据并进行可视化。
    • 采集遥测数据并进行相关的事件处理进行警报响应。
    • 基于远程RPC调用进行设备控制。
    • 基于生命周期事件、REST API事件、RPC请求构建工作流。
    • 基于动态设计和响应仪表板向你的客户提供设备或资产的遥测数据。
    • 基于规则链自定义特定功能。
    • 发布设备数据至第三方系统。

2.4 产品架构

CIMST的架构

2.4.1 CIMST传输

  • CIMST提供了基于MQTT、HTTP 和 CoAP 的API,适用于你的设备应用程序/固件。

  • 每个协议API都是由单独的服务器组件提供的并且是CIMST“传输层”的一部分。

  • MQTT传输还提供网关API供代表多个已连接设备和/或传感器的网关使用。

  • 传输从设备接收到消息后,它将被解析并推送到持久的消息队列。

  • 仅在消息队列确认了相应消息后才将消息传递给设备。

2.4.2 CIMST核心

  • CIMST Core负责处理REST API调用和WebSocket 订阅。

  • 它还负责存储有关活动设备会话和监视设备连接状态。

  • CIMST核心在幕后使用Actor来实现主要实体(租户和设备)的actor。

  • 平台节点可以加入群集其中每个节点负责传入消息的某些分区。

2.4.3 CIMST规则引擎

  • CIMST规则引擎是系统的心脏负责处理传入的 消息。

  • 规则引擎在幕后使用Actor来实现主要实体的actor:规则链和规则节点。

  • 规则引擎节点可以加入集群,其中每个节点负责传入消息的某些分区。

  • 规则引擎从队列中订阅传入的数据并且仅在处理完消息后才对其进行确认。

  • 有多种策略可用于控制顺序或消息处理以及消息确认的标准。 请参阅 提交策略 处理 处理策略。

  • CIMST规则引擎可能以两种模式运行:共享和隔离

  • 在共享模式下规则引擎处理多个租户的消息。

  • 在隔离模式下规则引擎处理特定租户的消息。

2.4.5 CIMST Web UI

  • CIMST提供了一个使用Express.js框架编写的轻量级组件,用于承载静态Web ui内容。

  • 这些组件是完全无状态的,没有太多可用的配置。

  • 静态Web UI包含应用程序捆绑包加载后该应用程序将开始使用CIMST核心提供的REST API和WebSockets API。

3. 产品优势

设备连接

设备连接

设备轻松对接,支持海量设备连接。

数据并发

数据并发

架构水平扩容,支持百万级数据并发。

标准部署

标准部署

行业标准物联网协议实现对接,并支持云和本地部署。

模组/芯片

模组/芯片

整合市场主流芯片/模组资源,打造软硬一体化完整解决方案。

任务调度

任务调度

提供基于可视化规则编辑器,流程图形化的连接方式,可将数据的输入、清洗、计算、输出、存储等业务进行整合串联。

4. 主要功能

多种平台部署:

可实现在Windows、Linux等多种主流OS系统中轻松部署。

物联标准接入:

通过行业标准的物联网协议MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。

可视化仪表板:

可扩展且容错的方式收集和存储遥测数据,使用内置或自定义的小部件以及灵活的仪表盘可视化您的数据,并且可与客户共享可视化仪表板。

设备遥测警报:

可自定义的数据处理规则链,转换和规范化您的设备数据,在传入的遥测事件、属性更新、设备假死和用户操作时响应警报。

5. 部署架构


5. 1Linux系统

  • 方案特点
平台 架构
Linux arm-a8、Realtek(mips)
Ubuntu/Centos x86、x86_32/64
JAVA jdk-8.0.231
Postgresql 12+
Android arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、x86_64
  • 部署示意图

5.2 Windows系统

  • 方案特点
平台 架构
Windows x86_32/64
Windows10 x64
JAVA jdk-8.0.231
Postgresql 12+
Android arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、x86_64
  • 部署示意图