快速开始
平台简介
DGIOT物联网平台通过持续整合业界领先的CMP、DMP、AEP、BAP的相关技术成果和架构思想,为工业物联网用户提供快速的一站式 服务的完整平台,为应用开发者提供简单易学的开发者平台。
根据各类参与者所提供的服务类型,按照Machina Research的分类方法,物联网平台可分为
- 连接管理平台CMP(Connectivity Management Platform)-
- 设备管理平台DMP(Device Management Platform)
- 应用使能平台AEP(Application Enablement Platform)
- 业务分析平台BAP(Business Analytics Platform)
dgiot秉持全社会分工合作的理念,开放合作的态度来快速消化全球急剧增长的工业互联需求,通过数据科技共赢生态框架, 让开发者既可以通过实战快速成长,又能消化真实客户的工业互联网需求,同时还能获得比较丰厚的项目收入。
精准开源,生态共赢,dgiot一站式物联网平台是完整解决方案,
- CMP集成EMQ的服务架构;
- DMP吸收阿里的数据建模;
- AMP采纳Facebook多租户;
- BMP整合Tdengine的时序数据;
- 边缘侧具有桌面版网关和边缘工具集;
- 协议栈支持主流通讯协议和行业协议;
dgiot团队将逐步开源贴近需求的代码和技术文档,希望帮助广大的初级程序员可以独立承接日益增长的物联网项目,在实战中快速加入物联网工程师队伍。
设备连接物联网平台,与物联网平台进行数据通信。物联网平台可将设备数据流转到其他产品中进行存储和处理。这是构建物联网应用的基础。
采用dgiot一站式物联网平台架构,让dgiot平台拥有了卓越的性能,可让用户只花费传统费用1/5,即可享受运营级服务器专业服务
产品简介
dgiot物联网平台主要提供了设备接入、设备管理、规则引擎等能力,为各类IoT场景和行业开发者赋能。
设备接入
dgiot物联网平台支持海量设备连接上云,设备与云端进行稳定可靠地双向通信。
- [设备云]模块中支持用户进行设备、产品、通道等对象的各种操作;可视化地呈现设备运行实况,助力用户实时了解远程设备情况;
- 提供蜂窝(2G、3G、4G、5G)、NB-IoT、LoRaWAN、Wi-Fi等不同网络设备接入方案,解决企业异构网络管理设备接入的痛点。
- 支持MQTT、modbus、HTTP、TCP等多种主流协议,无需额外付出成本,满足用户的设备接入需求,降低设备上云门槛。
- 开源多种平台设备端代码,提供跨平台移植指导,赋能企业基于多种平台做设备接入。
完成设备接入后,即可在平台查看设备实时数据,以及进行后续的管理等操作:
设备管理
物联网平台提供完整的设备生命周期管理功能,支持设备注册、功能定义、数据解析、在线调试、远程配置、OTA升级、实时监控、设备分组、设备删除等功能
功能特性如下:
- 提供设备物模型,简化应用开发。
- 提供设备上下线变更通知服务,方便实时获取设备状态。
- 提供数据存储能力,方便用户海量设备数据的存储及实时访问。
- 支持OTA升级,赋能设备远程升级。
- 提供设备影子缓存机制,将设备与应用解耦,解决不稳定无线网络下的通信不可靠痛点。
已成功项目如下图所示,可流畅管理海量设备:
安全能力
物联网平台提供多重防护,有效保障设备和云端数据的安全。
- 身份认证
- 提供芯片级安全存储方案(ID²)及设备密钥安全管理机制,防止设备密钥被破解。安全级别很高。
- 提供一机一密的设备认证机制,降低设备被攻破的安全风险。适合有能力批量预分配设备证书(ProductKey、DeviceName和DeviceSecret),将设备证书信息烧录到每个设备的芯片。安全级别高。
- 提供一型一密的设备认证机制。设备预烧产品证书(ProductKey和ProductSecret),认证时动态获取设备证书(包括ProductKey、DeviceName和DeviceSecret)。适合批量生产时无法将设备证书烧录每个设备的情况。安全级别普通。
- 通信安全
- 支持TLS、DTLS数据传输通道,保证数据的机密性和完整性,适用于硬件资源充足、对功耗不是很敏感的设备。安全级别高。
- 支持设备权限管理机制,保障设备与云端安全通信。
- 支持设备级别的通信资源(Topic等)隔离,防止设备越权等问题。
MQTT.
企业基于物联网,通过运营设备数据实现效益提升已是行业趋势和业内共识。然而,企业在物联网系统的建设过程中往往存在各类阻碍。针对此类严重制约企业物联网发展的问题,dgiot物联网平台相比企业自建MQTT集群、MQTT服务器具有不可比拟的优势。
产品优势
自建MQTT集群与DGIOT平台的能力差异请参见下表。
项目 | DGIOT | 自建MQTT集群 |
---|---|---|
性价比 | 多种付费模式:根据项目需求提供物联网平台。随业务规模增长,可无感扩容。 | 预付费,需一次性投入购买IaaS资源。随着业务规模增长,需要不断扩容。 |
设备接入 | 提供设备端SDK,快速连接设备上云,效率高。同时支持全球设备接入、异构网络设备接入、多环境下设备接入和多协议设备接入。亿级设备规模,自动扩展,保证连接稳定性,设备消息到平台处理时长在50ms以内。 | 需要搭建基础设施,联合嵌入式开发人员与云端开发人员共同开发。开发工作量大、效率低。架构上难以支撑百万级的设备规模,设备并发连接很多时难以保证平台稳定性,同时大量设备上下线会导致平台雪崩。 |
并发性 | 百万并发能力,架构可水平扩展。核心消息处理系统采用无状态架构,无单点依赖,消息发送失败可自动重试。 | 架构上难以支持万级的消息规模,消息上下行并发会给系统带来巨大的冲击。无法做到削峰填谷,影响高峰时正常业务运行。 |
安全性 | 等保2.0版(三级等保),提供多重防护,保障设备数据安全。 接入层使用高防IP防止DDoS攻击。 设备认证保障设备安全与唯一性。 设备数据传输链路支持TLS加密,保障数据不被篡改。 核心密钥和数据加密存储防窃取。 云盾护航和权限校验保障云端安全。 平台安全由dgiot安全团队防护。 | 需要额外开发、部署各种安全措施,保障设备数据安全是个极大挑战。 如果缺少安全专业人才,安全意识不强,出现安全问题无法第一时间解决,造成的影响比较大。 |
可用性 | 去中心化,无单点依赖。拥有多数据中心支持。承诺服务可用性达到99.9%,未达到可按标准理赔。故障处理1分钟发现、5分钟定位、20分钟解决。 | 如果迁移过程中出现死机,需自行发现并解决,再完成迁移,迁移时服务会中断。可用性无法保障。 可用性没有明确的量化标准,发生问题需要技术和运维团队介入排查,时间不能保证,损失自行承担。 |
易用性 | 开通即用,提供控制台、设备SDK、云端SDK配合使用。 一站式设备管理、实时监控设备场景、无缝连接dgiot产品。可灵活简便地搭建复杂物联网应用。支持物模型,无需自定义数据格式,解决数据结构化的问题,便于做数据分析和可视化。完善的监控和告警配置,可及时感知到平台和业务的异常状况。数据开放、API开放,打通设备到平台到业务服务器的数据链路。 | 需要购买服务器搭建负载均衡分布式架构,花费大量人力物力开发”接入+计算+存储”一整套物联网系统。无控制台,前后端都需要自行搭建,设备连接状态、生命周期管理以及远程运维的实现很复杂。 |
设备出海 | 全球6个地域,分布在亚洲、欧洲、北美洲。设备可在全球范围内就近接入。使用云域名加速能力,减少设备跨海通信延时。数据安全合规通过GDPR认证。 | 海外部署成本高,难以运维,设备访问延时高,同时要考虑安全合规问题。 |
服务端同步调用 | 支持RRPC同步响应。 | 不支持 |
私有协议数据解析 | 支持云上脚本托管,实现自定义协议解析。 | 不支持,需要业务服务器处理。 |
数据流转 | 通过规则引擎配置,支持多种云产品流转。 | 不支持,需要研发编码实现。 |
设备影子 | 支持。 | |
OTA升级 | 支持多维度设备OTA升级方式。 | |
日志服务 | 支持日志查询,海量日志存储。 | |
实时监控 | 支持实时监控运维图表展示,支持阈值报警、事件报警。 |
名词解析
名词 | 描述 |
---|---|
项目 | 所有资源的集合,所有为项目添加的设备、模板、报警、定时任务、报警联系人等都是资源(角色、子用户除外)。【注】所有的资源都不允许跨项目转移。 |
产品 | 设备的集合,通常指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的ProductKey。 |
设备 | 归属于某个产品下的具体设备。物联网平台为设备颁发产品内唯一的证书DeviceName。设备可以直接连接物联网平台,也可以作为子设备通过网关连接物联网平台。 |
分组 | 物联网平台支持建立设备分组,分组中可包含不同产品下的设备。通过设备组来进行跨产品管理设备。 |
网关 | 能够直接连接物联网平台的设备,且具有子设备管理功能,能够代理子设备连接云端。 |
子设备 | 本质上也是设备。子设备不能直接连接物联网平台,只能通过网关连接。 |
设备证书 | 设备证书指ProductKey、DeviceName、DeviceSecret的组合。 ProductKey:是物联网平台为产品颁发的全局唯一标识。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。 DeviceName:在注册设备时,自定义的或系统生成的设备名称,具备产品维度内的唯一性。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。 * DeviceSecret:物联网平台为设备颁发的设备密钥,和DeviceName成对出现。该参数很重要,在设备认证时会用到,因此需要您保管好并且不能泄露。 |
ProductSecret | 由物联网平台颁发的产品密钥,通常与ProductKey成对出现,可用于一型一密的认证方案。该参数很重要,需要您保管好,不能泄露。 |
Topic | Topic是UTF-8字符串,是发布(Pub)/订阅(Sub)消息的传输中介。可以向Topic发布或者订阅消息。 |
Topic类 | 同一产品下不同设备的Topic集合,用${productkey}和${deviceName}通配一个唯一的设备,一个Topic类对一个ProductKey下所有设备通用。 |
发布 | 操作Topic的权限类型,对应的英文名称为Pub。可以往此类Topic中发布消息。 |
订阅 | 操作Topic的权限类型,对应的英文名称为Sub。可以从此类Topic中订阅消息。 |
RRPC | 全称:Revert-RPC。RPC(Remote Procedure Call)采用客户机/服务器模式,用户不需要了解底层技术协议,即可远程请求服务。RRPC则可以实现由服务端请求设备端,并能够使设备端响应的功能。 |
标签 | 标签分为产品标签、设备标签和分组标签。 产品标签:描述同一个产品下,所有设备所具有的共性信息。 设备标签:通常根据设备的特性为设备添加的特有标记,您可以自定义标签内容。 * 分组标签:描述同一个分组下,所有设备所具有的共性信息。 |
物模型 | 是对设备在云端的功能描述,包括设备的属性、服务和事件。物联网平台通过定义一种物的描述语言来描述物模型,称之为TSL(即 Thing Specification Language),采用JSON格式,您可以根据TSL组装上报设备的数据。 |
属性 | 设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。属性支持GET和SET请求方式。应用系统可发起对属性的读取和设置请求。 |
期望属性值 | 通过期望属性值功能,设置您希望的设备属性值。若设备在线,将实时更新属性值;若设备离线,期望属性值将缓存在云端。设备上线后,获取期望属性值,并更新属性值。 |
服务 | 设备的功能模型之一,设备可被外部调用的能力或方法,可设置输入参数和输出参数。相比于属性,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务。 |
事件 | 设备的功能模型之一,设备运行时的事件。事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。例如,某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送。 |
数据解析脚本 | 针对采用透传格式/自定义数据格式的设备,需要在云端编写数据解析脚本,将设备上报的二进制数据或自定义的JSON数据,转换为物联网平台支持的JSON数据格式;将平台下发的JSON格式数据,转换为设备支持的格式。 |
设备影子 | 是一个JSON文档,用于存储设备或者应用的当前状态信息。每个设备都会在云端有唯一的设备影子。无论该设备是否连接到Internet,您都可以使用设备影子通过MQTT协议或HTTP协议获取和设置设备的状态。 |
规则引擎 | 通过创建、配置规则,以实现服务端订阅、数据流转和场景联动。 |
服务端订阅 | 服务端订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报消息、设备生命周期变更消息和设备拓扑关系变更消息。目前支持两种方式实现服务端订阅: AMQP:Advanced Message Queuing Protocol,高级消息队列协议。服务端通过AMQP协议接入云端,接收云端推送的消息。 MNS:将消息流转到指定消息服务(MNS)队列中,您的服务端从MNS队列中接收消息。 |
数据流转 | 物联网平台规则引擎的数据流转功能,可将Topic中的数据转发至其他Topic或其他云服务进行存储或处理 |
场景联动 | 场景联动是一种开发自动化业务逻辑的可视化编程方式。您可以通过可视化的方式定义设备之间联动规则,并将规则部署至云端或者边缘端。 |
一机一密 | 每个设备烧录其唯一的设备证书(ProductKey、DeviceName和DeviceSecret)。当设备与物联网平台建立连接时,物联网平台对其携带的设备证书信息进行认证 |
一型一密 | 同一产品下所有设备可以烧录相同产品证书(即ProductKey和ProductSecret)。设备发送激活请求时,物联网平台其携带的产品证书信息进行认证,认证通过,下发该设备接入所需信息。设备再携带这些信息与物联网平台建立连接。 |
协议和驱动 | 指的是终端设备的型号或者协议。西门子S7-1200型号,传感器Modbus协议 |
边缘计算 | 由联网模块进行数据采集和解析,然后按照一定的规律上报云端。适合高频(秒级)采集应用场景,本地高频采集完后上报给云端,云端做数据的存储和展示。 |
云端轮询 | ①云端做主机,去轮询终端设备,联网模块只做数据透传。适合低频(分钟级)采集场景;②对于按键状态上报等场景,可以按Modbus RTU扩展指令主动上报,需要用户自主开发。下载协议 |
从机 | 与通讯设备连接的终端,比如一个DTU下面连接了一个温湿度传感器,则该传感器为从机 |
IP | 从机的IP地址 端口 终端设备与联网模块通讯交流的出口 变量 需要监控的变量。可以是开关、数字量、模拟量等 |
寄存器地址 | 给有特定功能的内存单元取一个别名,这个别名就是我们经常说的寄存器,一个寄存器地址对应一个变量 |
数据类型 | 数据传输的属性。常见的数据类型有: 4字节无符号整数(AB CD):123456 为 0x0001 0xE240 4字节无符号整数(CD AB):123456 为 0xE240 0x0001 4节有符号整数(AB CD): 123456为 0xFFFE 0x1DC0 4字节有符号整数(CD AB): 123456为 0x1DC0 0xFFFE 4字节浮点型(AB CD):12.3 为 0x4144 0xCCCD 4字节浮点型(CD AB): 12.3 为 0xCCCD 0x4144 |
采集公式 | 云端根据采集上来的数据进行计算。例:温度采集数值为260℃,需要显示26。则填写:%s/10(%s为占位符 |
控制公式 | 云端计算后下发给设备。例:给设备发送43,但是设备实际需要接收430。则写:%s*10(%s为占位符) |
设备二维码 | 设备的二维码可以被子用户扫码添加设备 |
MAC | 设备的校验 |
同步 | 把云端的配置(变量的类型、寄存器、采集规则等)下发给设备 |
状态 | 设备的状态一共分为7种(在线、离线、升级中、配置中、同步中、云组态报警、云监测报警) 在线:设备有电、有网且与云端连接成功 离线:设备与云端连接不成功。可能是没电、没网、或者IP地址/端口配置错误。 升级中:云监测固件升级功能,若设备正在进行固件升级会显示此状态。 同步中:云端下发配置给设备时,会显示此状态。 云组态报警:当所监测的数据点数据超出阈值时,会显示此状态。例如:温湿度采集,当温湿度超出规定报警阈值时进行报警。 云监测报警:当通讯设备出现故障时会显示此状态。例如设备突然接收不到信号等。 |
角色 | 角色拥有上级用户所分配的菜单权限,下面三种子用户类型的权限都是通过关联角色获得的系统用户:拥有上级用户的全部项目及设备,可以创建子用户管理员:通常分配上级用户的指定项目设备,可以创建子用户普通用户:通常分配上级用户的指定项目及设备,不能创建子用户子用户 通过创建子用户可以实现分级管理,每种子用户类型有不同的权限,每个子用户都可关联不同的项目和设备。 |
角色和用户
角色和用户之间的关系:角色(Role)是资源的拥有者以及传递者;用户(User)是角色的实例化.
倘若用户想赋权给不同的个体,需要先在角色处创建层级关系的角色并分配权限.然后进入用户管理界面在不同的角色下绑定用户即可.
(用户和角色的创建可参考"实战教程"-->电力集抄教程"-->"数字孪生".)
术语 | 描述 |
---|---|
角色(Role) | 资源权限的拥有者以及传递者 |
用户(User) | 资源权限的具体操作者 |
部门(department) | 角色的映射,方便使用者记忆使用 |
岗位 | 角色权限的具体实例化 |