云服务器内容精选

  • 设备接入 对象 描述 限制 设备数量 单个账号最多可添加的设备数量 1000万 连接和请求 单个MQTT设备支持的连接数 1 单个连接每秒最大的MQTT请求数量 300 单个MQTT连接每秒的吞吐量,即带宽,包含直连设备和网关 3KB/S MQTT单个发布消息最大长度 1MB MQTT协议规范 MQTT v3.1.1标准协议 与标准MQTT协议的区别 不支持will、retain msg 不支持QoS2 不支持Topic自定义 MQTT协议支持的安全等级 采用TCP通道基础 + TLS协议(TLSV1、 TLSV1.1和TLSV1.2 版本) MQTT连接心跳时间建议值 推荐设置为120秒 MQTT协议消息发布与订阅 设备只能对自己的Topic进行消息发布与订阅 MQTT协议每个订阅请求的最大订阅数 无限制 支持的LWM2M协议版本 1.0.2版本 LWM2M/CoAP单个发布消息最大长度 1MB,超过此大小的发布请求将被直接拒绝。 应用 单个账号最多可创建的应用数量 1 注:开通设备管理服务后,可创建应用数量变为10 单个应用最多可添加的设备数量 1000万 产品模型 单个应用最多可创建的产品模型数量 20 批量设备注册 单次批量注册最多的设备数量 30000 规则引擎 单个应用最多可创建的规则数量,包含数据转发规则和设备联动规则 50 设备日志收集 – 仅支持基于华为NB-IoT芯片和LWM2M协议的设备 审计日志 管理门户日志最长存储时长 90 天 北向API 单个应用调用API的每秒最大次数 100 命令缓存下发 单个应用允许缓存下发的最大命令条数 20
  • 使用场景 园区 物联网平台 主要运用构建智慧社区、智慧楼宇、智慧园区等场景,主要解决用户以下问题。 统一设备接入和管理场景: 在云端园区物联网平台中,自定义IoT主流协议适配组件,支持行业协议(如CoAP /MQTT /Modbus/ BACnet等)快速集成,接入方式灵活多样,支持设备采用网关,原生协议接入。 同时在平台预置20+园区典型设备标准模型(包括设备描述文件及Profile实例),如BA-空调、BA-冷水机、BA-送排风、BA-照明、BA-给排水、消防主机、门禁、车闸等,帮助客户及设备厂商快速完成园区设备统一定义,提升设备与IoT平台集成效率。 多数据融合场景: 园区存在多个子系统,不同系统保存的数据格式不一样,这样导致各个系统的数据难以共享,互联互通。园区将各个子系统汇聚接入后,各个子系统上报的数据以统一格式保存,并对外共享,这样打破了信息孤岛,实现了数据共享。 跨系统联动场景: 借助规则引擎功能,用户可基于时间、设定条件,触发设备执行相关动作,实现各类设备及业务系统协同联动,实现园区设备运维业务自动化调度,提升运营效率。
  • 平台简介 一、整合能力 1. 北向:以aPaaS模式构筑设施核心能力,对伙伴提供API、数据开放能力,实现伙伴新业务快速上线。 2. 南向:支持伙伴边缘应用整合能力,基于IoT边缘云提供云端协同引擎,伙伴基于边缘平台接口/SDK快速交付数采应用、边缘控制应用。 二、依赖服务 1. IoTDA 设备接入服务 (IoT Device Access)是设施云设备接入平台,提供海量设备连接上云、设备和云端双向消息通信、设备管理运维等基础服务。 2. IoTEdge 边缘计算服务(IoT Edge),设施云边缘管理服务,为物联网终端就近提供计算和智能服务,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。 三、核心概念 组织:用于描述企业管理架构的单元,例如总公司、分公司、行政部门等组织单元,组织支持多层级结构。 空间:用于描述设施管理的基本容器单元,空间可以是园区、门店、楼栋、房间等等,空间通过层级、位置与IoT设备场景实现关联。 用户:设施云业务的操作者,用户从属于组织。用户/组织可以对空间进行管理。用户基于角色/权限实现对空间设施的分权分域管理。 产品分类:产品的目录管理,支持多层级。 产品:描述一类设备,包含物模型(动态属性、命令)定义,以及规格属性(静态属性)定义。 设备:归属于产品下的设备实体,设备拥有唯一标识,可以来源于IoTDA或IoTEdge。设备拥有快照(当前属性)、命令(控制下发)、告警和关系。 联动规则:通过预定义的条件和设备上报的数据实现联动控制或告警。 园区物联网平台提供了在线管理门户,帮助您顺利完成园区设备的接入和管理等操作,具体功能如下: 功能分类 子功能 特性描述 集中监视平台 设备系统运行 支持对所有主空间下供冷供暖设备的关键信息进行集中、实时监视。 关键运行指标 支持用户对站点设备进行归类统计,对各站点按自定义的设备类型进行设备数量统计和集中展示,支持关联到具体的设备明细列表和单个主空间的关键运营指标看板。 告警统计 对各站点未关闭的告警数量进行统计和集中展示,支持关联到告警明细列表。 关键运营指标 查看详情 查看“关键运营指标日明细”与“关键运营指标月明细”详情。 导出数据 导出部分或全部“关键运营指标日明细”与“关键运营指标月明细”数据文件。 楼宇自控 冷热源系统 实现水冷系统相关设备的接入、监视和控制。 空气调节系统 实现园区楼宇建筑内空气调节设备的接入、监视和控制,以列表形式呈现相关设备的运行数据、状态、故障等信息,并支持远程对设备进行控制。 送排风系统 实现园区楼宇建筑内送排风机的接入、监视和控制,以卡片列表形式呈现送排风机运行数据、状态、故障等信息,并可直接对设备进行远程控制。 给排水系统 实现园区生活给水、排水、直饮水、灌溉水系统的监视和控制,以组态形式呈现整体系统的设备结构及设备实时运行数据、状态、故障等信息,并支持设备进行远程控制。 照明回路系统 实现园区楼宇建筑内照明回路系统的接入、监视和控制,以列表的形式呈现各照明回路系统的运行数据、状态等信息,并支持远程对照明回路系统进行开关与控制。 供配电系统 实现园区楼宇建筑内供配电系统的接入、监视和控制,以组态形式呈现供配电系统的运行数据、状态等信息。 电梯监测 实现园区楼宇建筑内电梯设备梯控系统集成,以组态的呈现对应设备的运行数据、状态、故障等信息。接入设备范围包括:垂直电梯。 运行数据 运行数据 通过运行数据可以查到设备点位历史运行数据。 数据导出 在历史数据展示界面,选择需要导出的设备和点位下载数据文件。 空间管理 空间管理 支持对主空间、子空间进行增删改查管理。支持空间名称、空间编码、地理位置等信息编辑。 空间规格 支持对空间规格进行管理,空间规格用于描述子空间的属性模板。 空间平面 支持对空间组态进行界面呈现。 设备管理 产品管理 支持产品的生命周期管理,产品用于抽象设备的物模型,产品包含规格属性和动态属性; 支持对产品分类进行管理。 设备管理 支持各品类设备的查看和管理,支持按产品、空间、状态、规格属性等条件进行高级检索。 设备组态 支持对设备组态进行界面呈现。 设备详情 支持设备基础信息、快照、属性趋势、告警信息进行综合呈现; 支持对设备进行命令下发、属性控制等操作。 边缘管理 边缘设备 支持对边缘类设备的生命周期管理,包括网关纳管安装、控制器注册、机电设备注册等功能。 边缘应用 支持对边缘应用及边缘应用版本进行管理。 边缘数采 支持对网关驱动应用进行模块安装卸载,数采导入配置,配盘表管理。 设备运维 告警管理 支持对设备告警进行统一管理,支持告警列表查询、告警详情查询、告警关闭等操作。 批量控制 支持对设备进行分组管理,针对分组设备执行批量控制。支持分组控制的管理、执行。 定时控制 支持对设备进行定时控制计划管理,基于日历、场景、设备范围实现边缘定时控制。 强制点位 支持对处于强制控制状态的所有设备点位进行查看及管理。当设备属性作为强制点位(最高优先级)下发之后,平台将其标记为强制状态。 控制记录 支持对设备控制记录进行查看及管理,设备控制记录来自于设备属性控制、批量控制、定时控制等多个场景。 日志采集 支持对设备进行终端日志采集,支持日志采集文件的下载。 OTA升级 支持对设备进行批量升级,支持软固件包和版本的管理。 冷机节能 冷机调优总览 支持冷源系统关键指标呈现,包括COP、冷冻/冷却供回水温度及趋势等,支持调优建议呈现及作业管理。 冷机节能分析 支持冷源系统的节能运行情况分析,包括冷机调优的建议的采纳情况、电费分析报表及节能调优报表,方便用户评估冷源系统整体运行情况,优化管理策略。 冷机调优规则管理 支持基于冷机设备实际情况,对关键节能策略进行管理,基于规则实现冷源系统加减机等调优建议生成。 冷机调优算法管理 支持冷机调优算法实例管理,冷机算法基于冷源系统的运行数据与现场天气数据作为特征数据,实现全天需求冷量及运行功率等指标预测,为冷机控制策略决策算法能力支撑。 空压节能 空压调优总览 支持空压系统关键指标呈现,支持调优建议呈现及作业管理。 空压节能分析 支持空压系统的节能运行情况分析,包括空压调优的建议的采纳情况、电费分析报表及节能调优报表,方便用户评估空压系统整体运行情况,优化管理策略。 故障诊断 故障规则集模板管理 支持规则集模板管理,对不同产品之间的关联关系按顺序进行分组配置,用于故障规则关联和故障规则绑定设备。 故障规则集管理 支持按模板创建诊断规则集,支持故障规则编辑和规则关系管理。 故障规则设备绑定 支持故障规则集绑定设备,支持根据空间、设备上下级关系自动关联设备。 故障根因分析 支持按规则集执行故障告警根因分析,支持按故障类型、根因规则、设备上下级实现告警合并管理。 规则引擎 联动规则 支持设备联动规则管理,设备联动基于上报属性等触发条件实现联动告警、联动控制等功能。 软点位 支持软点位计算规则管理,设备上报属性后触发规则计算后实现软点位入库。 组态管理 空间组态 支持针对空间进行组态配置关联。 系统组态 支持针对设备系统进行组态配置关联。 设备组态 支持针对单个设备进行组态配置关联。 组态工程 支持对组态工程进行开发及页面发布管理。 账号管理 用户管理 支持用户生命周期管理,支持创建修改用户信息、权限设置等功能。 角色管理 支持权限角色管理,实现基于功能的权限管控。 组织管理 支持组织节点和层级管理,基于组织绑定主空间实现数据权限分域管控。 系统管理 日历管理 支持场景化的工作日历管理,根据法定节假日或自定义节假日灵活配置日历,支撑定时控制等功能作业实现。 数据订阅 支持配置数据流转规则,将设备上报属性、设备生命周期事件等数据推送到第三方。 证书管理 支持PKI域和系统证书及私钥管理,可支撑设备证书安装部署等功能作业实现。
  • 迁移应用 迁移应用是指将对接了开发中心(测试环境)的应用服务器迁移到园区物联网平台服务(商用环境)中去,您需要完成以下步骤: 为了使应用服务器能对接这个业务使用空间,您需要将对接的平台地址修改为“园区物联网平台服务”的应用对接地址。 在“园区物联网平台服务”中,应用对应的是开发中心的项目。为了使应用服务器能调用平台的接口,您需要将应用服务器中设定的应用ID和应用密钥修改为新的值。 如果应用服务器调用“鉴权”接口成功,表明应用服务器已对接到商用环境。
  • 迁移设备 迁移设备是指将对接了开发中心(测试环境)的设备迁移到园区物联网平台服务(商用环境)中去。迁移对接的过程中,开发中心数据不割接,由应用服务器负责保存设备在开发中心的历史数据。 针对设备直接接入园区物联网平台的操作。 您需要将设备根据通信协议修改对接的平台地址为“园区物联网平台服务”的设备对接地址。 您需要在“设备管理服务”中注册设备,可以使用应用服务器调用平台注册设备接口,也可以在界面上注册设备。 平台为每一个注册到平台上的设备生成了一个deviceId,这是设备在平台上的唯一ID,您需要将设备和ID映射关系刷新为新的ID。 针对设备通过网关间接接入园区物联网平台的操作,此情况下,设备先接入到边缘节点,通过边缘节点与园区物联网平台的配合,完成设备的管理操作。
  • 开发流程 使用园区物联网平台构建一个完整的物联网解决方案主要包括4部分开发和配置:园区物联网平台、设备、业务应用及边缘侧配置。 园区物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑用户快速构建各种园区物联网业务应用。s 设备可以通过固网、2/3/4G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP或MQTT协议将业务数据上报到平台,平台也可以将控制命令下发给设备。 业务应用通过调用物联网平台提供的API,实现设备管理、数据上报、命令下发等业务场景。 IoT边缘服务通过在靠近终端设备的地方建立边缘节点,将云端园区物联网平台的管理能力延伸到靠近终端设备的边缘节点,提供轻量化的设备管理(设备接入、设备鉴权、云边数据同步等),在节点与云端断链情况下也能提供设备的本地管理(设备数据缓存、设备命令、规则引擎等),为用户提供低成本、本地自闭环、边缘智能、云边协同的软硬一体化方案。 因此,基于园区物联网平台去实现一个园区物联网解决方案时,主要的开发流程如下: 开发操作 操作说明 开通园区物联网平台服务 登录Console,园区物联网平台服务开通后,将同时获得设备接入,管理和IoT边缘的能力。 购买边缘节点硬件 园区边缘节点软硬件需要有特殊要求,请提前购买符合要求的软硬件。 接入边缘节点 在园区物联网平台控制台上接入边缘节点,同时获取边缘节点相配套的配置文件和安装工具。 部署边缘节点 在边缘节点上部署IoT边缘应用,这样以便云边结合,共同完成设备管理目的。部署完成后,边缘节点会自动连接到园区物联网平台服务。 园区平台侧开发 在园区物联网平台集成解决方案中,平台作为承上启下的中间部分,向应用服务器开放API接口,向各种协议的设备提供API对接。为了提供更加丰富的设备管理能力,园区物联网平台需要理解接入设备具备的能力以及设备上报数据的格式,因此,您需要在开发中心完成产品模型Profile和编解码插件开发,并上传到园区物联网平台。 园区设备侧开发 园区设备需要根据自身特征,进行针对性的设备集成开发,以便获得接入园区物联网平台的能力。 园区应用侧开发 园区物联网平台通过Restful API的形式对外开放物联网平台丰富的设备管理能力。应用开发人员可以基于API接口开发所需的应用,如智慧社区、智慧园区、智慧楼宇等应用,满足不同业务的需求。 自助测试 自助测试提供了端到端的测试用例,帮助开发者自助完成产品的基础能力测试,如数据上报、命令下发等。旨在通过物联网检测技术帮助开发者发现自身产品中存在的缺陷或问题,缩短产品上市时间。测试完成后,开发中心将生成测试报告,用于进行产品发布认证。当开发者已完成产品profile定义和编解码插件开发,并且部署了编解码插件后,可以进行自助测试。 产品发布 完成自助测试后,可以将产品模型和编解码插件等打包发布到产品中心,以便在园区物联网平台上注册设备时使用。 商用对接 由于开发中心所在的平台环境为测试环境,园区物联网平台环境为商用环境,两个环境的数据不能互通,已对接测试环境的设备/应用服务器要迁移商用环境。本阶段需要分别修改应用及设备的数据,以便将设备及应用接入园区物联网平台。具体操作详见商用对接操作指导 平台运营管理 真实设备接入后,基于园区物联网控制台及边缘节点,进行日常的设备管理工作。 园区物联网平台主要在三个地方进行操作,如下图所示: 园区物联网平台Console:在Console上您可以查看园区物联网平台注册的设备总体信息、默认产生的应用信息、平台与设备及应用对接地址以及接入边缘节点操作等。 园区物联网平台Portal:提供园区设备的接入和日常管理操作。您可在园区物联网平台Console总览页面,点击右上角“进入物联网平台”访问Portal(如上图所示)。 开发中心:您直接访问https://iot-dev.huaweicloud.com:8843/,即可登录,或者在园区物联网平台Console,点击开发中心快捷入口进入(如上图所示)。开发中心提供设备集成及应用集成的支撑环境,您可在开发中心完成产品模型Profile和编解码插件等开发。
  • 接入边缘节点 边缘节点是您部署在设备侧的边缘计算设备,用于运行IoT边缘应用,处理您的数据,并安全、便捷地和云端园区物联网平台进行协同。您可以通过部署应用来构建您自己的边缘计算能力。要使用IoT边缘服务,首先需要接入边缘节点。接入边缘节点之后,您可以在云端进行远程管理边缘节点。 登录园区物联网平台控制台。 选择左侧导航栏的“IoT边缘服务”,单击页面右上角的“添加边缘节点”。 在打开的界面中,配置边缘节点的基本信息并单击“立即添加”。 单击页面右下角的“创建”,下载配置文件和边缘节点安装工具。 根据页面提示,单击“下载 边缘节点名称.tar.gz 配置文件”下载配置文件。 单击“完成”。您可以看到边缘节点的状态为“未纳管”,这是因为还未部署IoT边缘应用。 父主题: 具体操作
  • 软件升级流程 软件(Software)一般分为系统软件和应用软件,系统软件实现设备最基本的功能,比如编译工具、系统文件管理等;应用软件可以根据设备的特点,提供不同的功能,比如采集数据、数据分析处理等。 软件升级又称为SOTA(SoftWare Over The Air),是指用户可以通过OTA的方式支持对LWM2M协议的设备进行软件升级(基于MQTT协议的设备的软件升级能力即将上线,敬请期待)。软件升级遵循的协议为PCP协议,设备侧需要遵循PCP协议进行软件升级的适配开发,适配方法请参考设备侧适配。SOTA流程如下图所示: SOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. NB-IoT设备上报数据,平台感知设备上线,触发升级协商流程。 4~5. 物联网平台向设备下发查询设备软件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。 如果返回的软件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。 如果返回的软件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。 6. 物联网平台向设备订阅软件升级的状态。 7~8. 物联网平台查询终端设备所在的无线信号覆盖情况,获取小区ID、RSRP(Reference Signal Received Power,参考信号接收功率)和SINR(Signal to Interference Plus Noise Ratio,信号干扰噪声比)信息。 查询成功:则根据如下方式计算可同时升级的并发数计算,并按照。 如下图所示,如果设备的RSRP强度和SINR强度均落在等级“0”中,则同时可以对该小区的50个相同信号覆盖区间的设备进行同时升级。 如果设备的RSRP强度和SINR强度分别落在等级“0”和“1”中,则以信号较弱的等级“1”为准,则只能同时对该小区的10个设备进行升级。 如果设备的RSRP强度和SINR强度分别落在等级“1”和“2”中,则以信号较弱的等级“2”为准,则只能同时对该小区的1个设备进行升级。 如果设备的RSRP强度和SINR强度不在该3个等级范围内,且均可以查询到,则按照信号最弱覆盖等级“2”处理,则只能同时对1个设备进行升级。 如果用户在软件升级中发现同时进行升级的设备数较少,则可以联系当地运营商检查和优化设备所在小区的无线覆盖情况。 查询失败:则按照流程9进行处理。 9. 物联网平台继续下发查询小区ID信息的命令,获取终端设备所在的小区ID信息。 如果查询成功:物联网平台支持同时对该小区的10个相同情况的设备进行软件升级。 如果查询失败:则升级失败。 10~12. 物联网平台通知设备有新的软件包版本,设备启动软件包的下载。软件包的下载按照分片的方式进行下载,支持断点续传功能,通过软件包分片中携带的“versionCheckCode”确定是否属于同一个软件包。下载完成后,设备知会物联网平台软件包已下载完毕。 13~14. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级的结果。 15. 物联网平台向控制台/应用服务器通知升级的结果。
  • 业务流程 NB-IoT设备场景 物联网平台向应用返回200 OK,携带命令状态为SENT。(如果设备不在线或者设备没收到指令则下发失败,命令状态为命令执行状态说明) 设备收到命令后返回ACK响应。 若应用下发命令时携带了"callbackUrl",物联网平台通过命令状态变化通知接口推送消息给应用,携带命令状态为DELIVERED。消息样例如下: 设备执行命令后通过205 Content响应返回命令执行结果。 若应用下发命令时携带了"callbackUrl",物联网平台会调用编解码插件对设备响应进行解码,然后通过命令状态变化通知接口推送消息给应用,携带命令状态为SUC CES SFUL。消息样例如下: 物联网平台将命令写入缓存队列,并上报200 OK,携带命令状态为PENDING。 设备上线或设备上报数据到平台。 物联网平台调用编解码插件对命令请求进行编码后,根据协议规范下发命令给设备。 若应用下发命令时携带了"callbackUrl",物联网平台通过命令状态变化通知接口推送消息给应用,携带命令状态为SENT。 后续流程请参考“命令立即下发”的步骤2到步骤5。 集成Agent Lite SDK设备/原生MQTT设备场景 对于集成Agent Lite SDK设备/原生MQTT设备,物联网平台只支持直接下发模式,设备不在线时命令下发失败。 物联网平台向应用返回200 OK,携带命令状态为SENT。 设备收到命令后返回ACK响应。 若应用下发命令时携带了"callbackUrl",物联网平台通过命令状态变化通知接口推送消息给应用,携带命令状态为DELIVERED。消息样例如下: 若应用下发命令时携带了"callbackUrl",物联网平台会调用编解码插件对设备响应进行解码,然后通过命令状态变化通知接口推送消息给应用,携带命令状态为SUCCESSFUL。消息样例如下:
  • 概述 设备的OTA软件升级是基于华为定义的PCP协议进行的,设备侧需根据PCP协议定义的交互流程进行适配开发。下面我们将结合物联网平台与设备的软件升级交互流程,介绍终端设备将如何基于PCP协议构建交互过程中的请求消息和应答消息,帮助您更好的根据PCP协议进行终端侧的软件升级功能开发。 下面我们先了解下PCP消息的结构,PCP协议的请求消息和应答消息都遵循相同的消息结构,主要由这几部分组成: PCP协议消息由:起始标识位、版本号、消息码、校验码、数据区长度和数据区组成,各字段的要求和描述如下表所示。
  • 查询设备版本号 从设备的软件升级流程(本流程只描述物联网平台与设备基于PCP协议交互的流程,完整的软件升级流程请参考软件升级流程)可以看到,首先物联网平台向设备下发查询版本号信息,设备进行应答。 物联网平台发送消息 根据PCP消息结构的定义可以得出,物联网平台向设备下发查询版本号时,各消息字段的填写如下: 起始标识:固定为消息流的前2个字节,固定为FFFE。 版本号:数据类型为1个字节整数,且固定为1,即在消息流中为01。 消息码:数据类型为1个字节整数,查询设备版本的消息码为19,转换为十六进制为13。 校验码:数据类型为2个字节整数,先将校验码置为0000,然后将完整的消息码流进行CRC16的算法计算得到校验码,再将得到的校验码替换原消息中的0000。 数据区长度:数据类型为2个字节整数,代表数据区的消息长度,根据数据区的数据结构可以得出该条消息无数据区,即数据区长度为0000。 数据区:数据区代表要真正发送给设备的数据,根据查询版本信息的数据区定义,该条消息是没有实际要传送的数据的,即无需数据区字段。 因此将查询版本消息的码流组合起来得到:FFFE 01 13 0000 0000。前面的校验码时讲了,需要将组合后的消息码流进行CRC16算法(物联网平台提供了基于JAVA和C语言的CRC16算法代码样例,您可以直接使用)得到校验码4C9A,然后将该校验码替换原码流中的0000后得到FFFE01134C9A0000,该消息码流即为物联网平台发送给设备的查询版本信息的消息码流。 设备返回的应答消息 设备收到物联网平台要查询设备的软件版本号消息,设备要向物联网平台反馈查询的结果,各消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致,为13。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段的数据类型得出数据区长度为17个字节,转换为十六进制为:0011。 数据区:根据数据区的定义可知,处理成功的结果码为00,版本号信息假设为V0.9,将V0.9进行ASCII转码得到56302E39,由于版本号的数据类型为BYTE[16],即16个字节,当前只有4个字节,因此需要在版本号数据后面补0,得到56302E39000000000000000000000000。因此,数据区合并后为0056302E39000000000000000000000000。 将查询版本信息的消息流组合起来得到:FFFE 01 13 0000 0011 0056302E39000000000000000000000000。前面讲到,还要将消息流进行CRC16算法计算得到校验码为8DE3。因此,物联网平台向设备查询版本号信息,设备向平台返回的消息流为FFFE01138DE300110056302E39000000000000000000000000。
  • 下载新版本软件包通知 根据PCP协议约定的交互流程,查询完版本号后,物联网平台下发指令让设备下载新版本的软件包。 物联网平台发送消息 根据PCP消息结构的定义可以得出,物联网平台向设备下发下载新版本软件包通知时,各消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:此处为新版本通知,查询消息码表可以知道新版本通知为20,转换为十六进制为14。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的消息字段可以得出,数据区长度为22个字节,转换为十六进制为:0016。 数据区:根据数据区的定义可知。 目标版本号:由16个字节组成,假设升级的目标版本号为v1.0版本,转换为十六进制并在后面14个字节补充0后得到:56312E30000000000000000000000000。 升级包分片大小:由2个字节组成,升级包分片大小由“deviceShard”字段定义,假设为500byte,转换为十六进制后为:01F4。 升级包分片总数:由2个字节组成,由软件包大小除以每个分片的大小并向上取整获得。假设软件包大小为500byte,则分片数量为1,转换为十六进制后为:0001。 检验码:由2个字节组成,由“versionCheckCode”字段定义,假设为1234。 将下载新版本软件包通知的消息流组合起来得到:FFFE 01 14 0000 0016 56312E30000000000000000000000000 01F4 0001 0000。前面说了,还要将消息流进行CRC16算法计算得到校验码为02F7。因此,物联网平台向设备通知下载新版本软件包的信息,物联网平台向设备发送的消息流为FFFE011402F7001656312E3000000000000000000000000001F400011234。 设备返回的应答消息 设备收到下载新版本软件包通知后,设备向物联网平台返回应答消息,是否允许设备进行升级,各消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致,为14。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段的数据类型得出数据区长度为1个字节,转换为十六进制为:0001。 数据区:设备根据自身的情况对平台下发的新版本通知进行响应,本示例以设备应答“允许升级”为例进行介绍,得出数据区为:00。其它应答消息请根据应答消息字段进行适配。 将设备给物联网平台的应答消息流组合起来得到:FFFE 01 14 0000 0001 00。前面说了,还要将消息流进行CRC16算法计算得到校验码为D768。因此,设备向平台返回的应答消息流为FFFE0114D768000100。
  • 下载升级包 根据PCP协议约定的交互流程,物联网平台通知设备有新的软件版本时,设备向物联网平台请求下载软件包,按照分片的序号进行下载。 设备发送的请求消息 根据PCP消息结构的定义可以得出,设备向物联网平台发送的请求软件包分片的第一条消息,各消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:查询消息码表可知请求升级包的消息码为21,转换为十六进制为:15。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段的数据类型得出数据区长度为18个字节,转换为十六进制为:0012。 数据区:目标版本号为平台下发的新版本通知版本号,即v1.0,转换为十六进制为56312E30000000000000000000000000,分片序号为第0个分片,即0000。 设备向物联网平台发送请求软件包分片的第一条消息为:FFFE 01 15 0000 0012 56312E30000000000000000000000000 0000(CRC16校验前),经CRC16计算得到校验码为:5618。则替换校验码后设备发送的第一条请求分片消息为:FFFE01155618001256312E300000000000000000000000000000。 其它分片请求的消息流只需要替换分片序号后,重新计算并替换CRC16校验码即可,此处就不再展开。 物联网平台的应答消息 物联网平台收到设备的请求软件包分片消息后,将会给设备下发分片的数据。物联网平台向设备响应的第一条请求分片的消息,各消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致:15。 校验码:CRC16计算前先用0000替代。 数据区:先讲数据区再讲数据区长度。结果码:00,分片序号:第0个分片:0000,分片数据:跟软件包定义的内容有关,我们假设软件包内容为HELLO, IoT SOTA!,经ASCII码转换为十六进制为:48454C4C4F2C20496F5420534F544121,共16字节。由于制作软件升级版本包中的“deviceShard”字段定义分片大小为500byte,即最大长度为500字节。这种情况下,无需在数据的后面补充0。 数据区长度:根据数据区的字段定义得出该数据长度为19,转换为十六进制为:0013。 设备向物联网平台发送请求软件包分片的第一条消息为:FFFE 01 15 0000 0013 00 0000 48454C4C4F2C20496F5420534F544121(CRC16校验前),经CRC16计算得到校验码为:E107。则替换校验码后设备发送的第一条请求分片消息为:FFFE0115E107001300000048454C4C4F2C20496F5420534F544121。 其它分片请求的消息流只需要替换分片序号和分片数据后,重新计算并替换CRC16校验码即可,此处就不再展开。
  • 执行软件升级 根据PCP协议约定的交互流程,物联网平台收到设备发送的软件包下载结果通知后,需要通知设备进行升级操作。 物联网平台发送的请求消息 根据PCP消息结构的定义可以得出,物联网平台向设备发送执行软件升级消息,各个消息字段的填写如下: 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致,为17。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段的数据类型得出无数据区,即为0字节,转换为十六进制为:0000。 数据区:无数据区,无需携带该字段。 物联网平台向设备下发的执行软件升级的消息为:FFFE 01 17 0000 0000(CRC16校验前),经CRC16计算得到校验码为:CF90。则替换校验码后物联网平台向设备发送的消息为:FFFE0117CF900000。 设备发送的应答消息 设备收到物联网平台下发的执行升级消息后,将对收到消息后的执行动作进行应答,各消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致:17。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段定义得出该数据长度为1个字节,转换为十六进制为:0001。 数据区:处理成功,则返回00,其它处理结果请参考数据区定义。本示例以返回00处理成功为例进行说明。 设备向物联网平台应答的消息为:FFFE 01 17 0000 0001 00 (CRC16校验前),经CRC16计算得到校验码为:B725。则替换校验码后设备返回的响应消息为:FFFE0117B725000100 。
  • 上报升级结果 根据PCP协议约定的交互流程,设备在执行完软件升级后,将会向物联网平台上报升级的结果。 设备发送的请求消息 根据PCP消息结构的定义可以得出,物联网平台向设备发送执行软件升级消息,各个消息字段的填写如下: 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致,为18。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段的数据类型得出数据区长度为17字节,转换为十六进制为:0011。 数据区:结果码,以上报升级成功为例,结果码为00。当前版本号:升级完成后的版本号,与物联网平台下发的软件版本一致,即v1.0,转换为十六进制为:56312E30000000000000000000000000。 物联网平台向设备下发的执行软件升级的消息为:FFFE 01 18 0000 0011 0056312E30000000000000000000000000(CRC16校验前),经CRC16计算得到校验码为:C7D2。则替换校验码后设备发送的消息上报升级结果码流为:FFFE0118C7D200110056312E30000000000000000000000000。 物联网平台发送的应答消息 物联网平台收到设备上报的升级结果消息后,将对设备进行应答,各个消息字段的填写如下。 起始标识固定为:FFFE。 版本号固定为:01。 消息码:与请求的消息码一致:18。 校验码:CRC16计算前先用0000替代。 数据区长度:根据数据区的字段定义得出该数据长度为1个字节,转换为十六进制为:0001。 数据区:处理成功,则返回00,升级任务不存在80。本示例以返回00处理成功为例进行说明。 设备向物联网平台应答的消息为:FFFE 01 18 0000 0001 00 (CRC16校验前),经CRC16计算得到校验码为:AFA1。则替换校验码后设备返回的响应消息为:FFFE0118AFA1000100 。 至此,设备的软件升级功能适配就完成了,赶紧动手试一试吧。