华为云用户手册

  • 操作步骤 访问 设备接入服务 ,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。 单击“规则” ,选择“数据转发” ,选择 “策略配置” ,进入流控策略配置界面。 图1 数据转发-策略配置 在弹出的界面中填写相关信息后,单击“确定”即可完成流控策略创建。 图2 数据转发-创建流控策略 表2 参数说明 参数名称 描述 策略名称 长度为4-256,只允许中文、字母、数字以及_?'#().,&%@!-等字符的组合。 描述 关于该策略的描述,长度为4-256,只允许中文、字母、数字以及_?'#().,&%@!-等字符的组合。 流控大小 取值范围为1-1000。 流控策略类型 包括实例级别流控、转发通道流控、转发规则流控、转发动作流控四种流控策略类型。 转发目标 当流控策略类型为转发通道流控时生效,对应当前实例支持的转发通道类型。 绑定规则 当流控策略类型为转发规则流控时生效,对应IoT 物联网平台 上的数据转发规则。 绑定动作 当流控策略类型为转发动作流控时生效,对应IoT物联网平台上的数据转发动作。
  • LwM2M协议设备软件升级流程 LwM2M协议SOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. LwM2M设备上报数据,平台感知设备上线,触发升级协商流程。(超时时间为24小时) 4~5. 物联网平台向设备下发查询设备软件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。(第4步等待设备上报软件版本,超时时间为3分钟) 如果返回的软件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。 如果返回的软件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。 6. 物联网平台向设备订阅软件升级的状态。 7~8. 物联网平台查询终端设备所在的无线信号覆盖情况,获取小区ID、RSRP(Reference Signal Received Power,参考信号接收功率)和SINR(Signal to Interference Plus Noise Ratio,信号干扰噪声比)信息。(等待上报无线覆盖等级和小区ID,超时时间为3分钟左右) 查询成功:则根据如下方式计算可同时升级的并发数计算,并按照步骤10进行处理。 如下图所示,如果设备的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”确定是否属于同一个软件包。下载完成后,设备知会物联网平台软件包已下载完毕。(第11步超时时间为60分钟) 13~14. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级的结果。(等待设备上报升级结果和升级状态,超时时间为30分钟) 15. 物联网平台向控制台/应用服务器通知升级的结果。
  • 购买标准实例 标准实例提供灵活可配置的实例规格,适用于各类企业客户场景,可根据业务模型选购更经济的平台实例。 开通之前,请浏览整体开通流程,以便提高操作效率。 操作步骤 在侧导航栏,选择“IoTDA实例”,单击“购买实例”,选择标准版。 在页面中填写实例配置信息,系统会根据您选择的“实例规格”和“购买时长”自动计算费用。 参数名称 参数说明 计费模式 选择实例的计费模式,当前支持“包年/包月”和“按需计费”。 区域 设备接入服务部署的区域,当前支持“华北-北京四”、“华东-上海一”、“华南-广州”、“华南-广州-友好用户环境”、“亚太-曼谷”、“亚太-新加坡”、“非洲-约翰内斯堡”、拉美-圣保罗一和“中国-香港”。 说明: 不同区域之间的云服务产品内网互不相通,请就近选择靠近您业务的区域,可降低网络时延,提高访问速度。 规格配置 支持免费单元S0、微频单元ST、低频单元S1、中频单元S2和高频单元S3五种规格。新增规格测算功能,可根据自身业务的在线设备数和上下行TPS获取推荐的实例规格。 说明: IoTDA标准版实例的规格=实例包含的单元数量*每个单元的规格; 一个标准版实例可以包含多个相同类型的单元,单个实例的单元数量上限为100个,单个实例的消息上下行TPS峰值最高到10万TPS(比如实例包含100个S3,但峰值TPS最高只能到10万TPS); 支持对实例的单元数进行在线升配,如一个标准实例从3个S2变更为5个S2。 同一个实例不支持混合叠加多个版本类型的单元,比如M个S2+N个S3。 企业项目 该参数仅对开通企业项目的企业客户账号显示。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。了解更多企业项目相关信息,请查看企业管理。 标签 标签以键值对的形式表示,用于标识实例,便于对实例进行分类和搜索。此处的标签仅用于实例的过滤和管理。详情可参考实例标签管理。 实例名称 标准实例的名称,方便根据名称管理实例。支持中文汉字、大小写字母、数字、下划线(_)和中划线(-),最大长度不超过64。 实例描述 标准实例的描述,可根据实例用户、实例的用途进行简单的描述。 购买时长 按月购买。购买时可勾选自动续费,勾选后在实例到期时会自动对实例续费。 若您选择包年/包月模式,单击右下角“提交”;若您选择按需计费模式,单击右下角“立即购买”。进入实例规格确认页面。 规格确认无误后,若您选择包年/包月模式,单击“去支付”;若您选择按需计费模式,单击“提交”。 在支付页面选择支付方式后,单击“确认付款”完成购买。
  • 流控策略维度 表1 流控策略类型 流控策略类型 描述 实例级别流控 使用此策略类型时,流控的范围为当前实例中所有数据转发的流量,超出流控的数据会被丢弃。 转发通道流控 使用此策略类型时,流控的范围为当前实例中所有转发至指定目标的流量。 转发规则流控 使用此策略类型时,流控的范围为当前实例中所有触发指定转发规则的流量,超出流控的数据会被丢弃。 转发动作流控 使用此策略类型时,流控的范围为当前实例中所有转发至指定动作的流量。 流控策略创建成功后,不支持修改流控策略类型。 超出实例和转发规则级别流控的数据会被丢弃,请慎重考虑后再使用。 同时创建多个不同类型的流控策略,以最先达到流控阈值的策略为准。例如配置了转发规则A的流控大小为50tps,转发规则A下转发动作B的流控大小为100tps,触发转发规则A的流转数据流量为80tps,则触发了转发规则A的流控。
  • 操作步骤 配置访问授权后,在左侧导航栏,选择“IoTDA实例”,单击“购买实例”,选择企业版。 在页面中填写实例配置信息,系统会根据您选择的“实例规格”和“购买时长”自动计算费用。 参数名称 参数说明 计费模式 选择实例的计费模式,当前仅支持“包年/包月”。 区域 设备接入服务部署的区域,当前支持“华北-北京四”、“华东-上海一”、“华南-广州”。 说明: 不同区域之间的云服务产品内网互不相通,请就近选择靠近您业务的区域,可降低网络时延,提高访问速度。 网络 选择虚拟私有云和子网。 如果需要创建新的虚拟私有云,请创建虚拟私有云。 安全组 选择实例所关联的安全组,请提前创建安全组。 公网接入 提供设备接入公网接入能力,请根据需要配置,避免不必要的浪费。 私网接入 勾选:购买实例时会自动购买 VPC终端节点 ,并自动分配接入地址 未勾选:仍然需要私网接入,可以自行购买VPC终端节点对接。 接入端口 支持接入端口可配置,并提供了默认端口,支持可配置的端口如下: 应用接入:HTTPS(443)、AMQPS(5671) 设备接入:CoAP(5683)、CoAPS(5684)、MQTT(1883)、MQ TTS (8883)、HTTPS(443) 实例版本 企业版。 企业项目 该参数仅对开通企业项目的企业客户账号显示。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。了解更多企业项目相关信息,请查看企业管理。 标签 标签以键值对的形式表示,用于标识实例,便于对实例进行分类和搜索。此处的标签仅用于实例的过滤和管理。详情可参考实例标签管理。 实例名称 设备接入实例的名字,方便根据名字管理实例。支持中文汉字、大小写字母、数字、下划线(_)和中划线(-),最大长度不超过64。 密码算法 通用加密算法(支持RSA,SHA256等国际通用的密码算法),支持SM系列商密算法(支持SM2,SM3,SM4等国密算法) 实例描述 企业版实例的描述,可根据实例用户、实例的用途进行简单的描述。 购买时长 按月购买。 购买时可勾选自动续费,勾选后在实例到期时会自动对实例续费。 单击“立即购买”,进入实例规格确认页面。 规格确认无误后,单击“去支付”。 在支付页面选择支付方式后,单击“确认付款”完成购买。
  • 代码示例 您可以单击这里获取Java SDK接入示例,Demo中涉及的参数说明,请参考AMQP客户端接入说明。 所有示例代码已经包含与服务端断线重连的逻辑。 示例代码中用到的AmqpClient.java、AmqpClientOptions.java、AmqpConstants.java可以从这里获取。 1、创建AmqpClient。 // 以下参数请修改为自己的参数值AmqpClientOptions options = AmqpClientOptions.builder() .host(AmqpConstants.HOST) .port(AmqpConstants.PORT) .accessKey(AmqpConstants.AC CES S_KEY) .accessCode(AmqpConstants.ACCESS_CODE) .queuePrefetch(1000) // sdk会在内存中分配该参数大小的队列,用来接收消息,客户端内存较小的情况可以调小该参数。 .build(); AmqpClient amqpClient = new AmqpClient(options); amqpClient.initialize();
  • 概述 设备鉴权是指物联网平台对接入平台的设备进行身份认证。对于不同接入方式的设备,鉴权方式不同。 接入类型 鉴权方式 使用LwM2M/CoAP协议接入的设备 在设备接入物联网平台前,用户通过应用服务器调用创建设备接口或通过控制台在物联网平台注册设备。若为非安全设备,在设备接入物联网平台时携带设备唯一标识,完成设备的接入鉴权;当采用DTLS/DTLS+传输层安全协议接入时,即设备为安全设备时,携带密钥和nodeId完成设备的接入鉴权。 使用MQTT(S)协议接入的设备 使用密钥鉴权: 在设备接入物联网平台前,用户通过应用服务调用创建设备接口或通过控制台在物联网平台注册设备,获取设备ID和密钥,并把设备ID和密钥烧录到设备中。对于使用MQTTS协议接入的设备,需要在设备侧预置CA证书;对于使用MQTT非安全协议接入的设备,无需在设备侧预置CA证书。在设备接入物联网平台时携带设备ID和密钥,完成设备的接入鉴权。 使用证书鉴权: 在设备接入物联网平台前,用户通过控制台上传设备CA证书,然后应用服务调用创建设备接口或通过控制台在物联网平台注册设备,获取设备ID,并把设备ID烧录到设备中。在设备接入物联网平台时携带设备侧X.509证书,完成设备的接入鉴权。 使用自定义鉴权: 在设备接入物联网平台前,用户可以通过应用服务调用控制台配置自定义鉴权信息,然后通过调用函数服务(FunctionGraph)配置自定义鉴权函数。在设备接入物联网平台时,物联网平台会获取设备ID和自定义鉴权函数名称等参数,并向FunctionGraph发起鉴权请求,由用户实现鉴权逻辑,完成设备的接入鉴权。 使用自定义模板鉴权: 用户可以通过配置自定义鉴权模板,对平台提供的内部函数进行编排,灵活自定义MQTT设备鉴权三元组参数ClientId、Username、Password,实现自定义设备鉴权。 父主题: 设备鉴权
  • 概述 LwM2M(Lightweight M2M,轻量级M2M),由开发移动联盟(OMA)提出,是一种轻量级的、标准通用的物联网设备管理协议,可用于快速部署客户端/服务器模式的物联网业务。LwM2M为物联网设备的管理和应用建立了一套标准,它提供了轻便小巧的安全通信接口及高效的数据模型,以实现M2M设备管理和服务支持。物联网平台支持加密与非加密两种接入设备接入方式,其中加密业务数据交互端口为5684端口,采用DTLS+CoAP协议通道接入,非加密端口为5683,接入协议为CoAP。物联网平台从安全角度考虑,强烈建议采用安全接入方式。 LwM2M的语法和接口细节,请以此标准规范为准。 物联网平台支持协议规定的plain text, opaque, Core Link ,TLV , JSON编码格式。在多字段操作时(比如写多个资源),默认用TLV格式。
  • 约束与限制 使用自定义鉴权功能,要求设备必须使用TLS同时支持SNI(Server Name Indication),SNI中需要携带平台分配的 域名 。 默认每个用户最多支持5个自定义鉴权模板,只能启用一个激活状态的模板。 鉴权模板函数嵌套最大深度为5层。 模板内容体最大长度不能超过4000字符,且不能包含中文字符。 设备为密钥认证类型时,模板密码函数必须包含设备原始密钥参数(iotda::device::secret)。 使用模板鉴权时,鉴权参数username不能与自定义函数鉴权username格式重叠,否则会使用自定义函数鉴权,比如: {deviceId}|authorizer-name={authorizer-name}|xxx 自定义模板鉴权优先级高于平台默认鉴权,即激活自定义鉴权模板后设备就会使用模板鉴权,不会再使用平台默认鉴权方式。 自定义认证功能是为方便用户快速接入平台,免于设备侧改造,平台将使用您提供的鉴权模板进行鉴权,请合理审视认证方式的安全程度,避免使用弱校验或者免校验,由于您自定义模板安全程度过低造成的安全问题,平台将不承担任何安全责任;
  • 操作步骤 进入“策略”界面,单击展开“静态策略”,单击“添加实例”。 图1 创建静态策略详情 按照下方参数说明填写关键参数信息后,单击“确定”。 表1 静态策略参数列表 参数名称 说明 示例 关键字 即关键字来源中的关键字。设备发放时,如果关键字来源字符串中包含设置的关键字,则可按该实例进行发放。 将设备名称携带Beijing的设备发放至华北-北京四的物联网平台。 设备名称:WaterMeter-Beijing0001、WaterMeter-Beijing0002 关键字来源:设备名称 关键字:Beijing 发放区域:华北-北京四 发放应用:beijing-app1 将上报信息中携带Beijing的设备发放至华北-北京四的物联网平台。 关键字来源:数据上报 topic“$oc/devices/${device_id}/sys/bootstrap/up”上报信息:{ "baseStrategyKeyword": "WaterMeter-Beijing0003"} 关键字:Beijing 发放区域:华北-北京四 发放应用:beijing-app1 关键字来源 关键字来源指的是用于匹配关键字的字符串信息的数据来源。目前支持设备名称与数据上报两种形式。 如果为设备名称,则匹配关键字的字符串取设备创建后的设备名称。 如果为数据上报,则匹配关键字的字符串取设备发放过程中,发起发放请求Topic“$oc/devices/${device_id}/sys/bootstrap/up” 的上报信息json中的baseStrategyKeyword属性。 优先级别 发放策略的优先级,取值范围1 - 5级,1级为最低优先级。当一个设备符合多个发放策略时,按照优先级最高的策略实例发放。 发放区域 发放到指定区域后,设备将接入对应区域的设备接入服务。 所选区域未开通设备接入服务时,如果确定添加实例,系统将自动为您开通设备接入服务。不同区域设备接入服务价格不同,收费详情请参考价格说明。 发放应用 选择对应设备接入服务区域已创建的应用。在物联网平台中,设备由应用统一管理。 如果对应设备接入服务区域未创建应用,需要前往对应服务创建应用。
  • 概述 静态策略,即设备关键字模糊匹配的发放策略。每条静态策略实例指:匹配上该策略实例的设备,将会被发放到该条策略实例关联的设备接入实例的对应资源空间(即应用)下。 设备匹配静态策略实例的机制为: 设备的发放策略为“静态策略”,设备的关键字来源字符串包含某一静态策略实例的关键字,即被认为该设备匹配上该条策略实例。关键字来源有以下两种来源类型: 设备名称:如果设备名称包含设置的关键字,即可按照该行策略指定的发放应用进行实例发放。 数据上报:如果设备在连接后,进行发放publish时,上报Topic “$oc/devices/${deviceId}/sys/bootstrap/up” 中,json上报的属性 “baseStrategyKeyword” 包含设置的关键字,即可按该实例进行发放。 一个设备最多匹配一条静态策略实例; 当一个设备匹配上多条静态策略实例时,则以优先级最高的策略实例为优先。
  • 查看设备详情 在设备列表中,单击具体的设备进入到设备详情页面。 图2 设备-设备详情 页签名 说明 设备信息 查看设备信息:查看设备基本信息,包括设备标识码(nodeId)、设备ID(deviceId),节点类型、设备软固件版本信息等。用户也可通过调用修改设备接口修改设备的基本信息。 设备标识码(nodeId),设备唯一物理标识,如IMEI、MAC地址等,用于设备在接入物联网平台时携带该标识信息完成注册鉴权。 设备ID(deviceId),用于唯一标识一个设备,在注册设备时由物联网平台分配获得,是设备在IoT平台上的内部标识,用于设备接入时鉴权,及后续在网络中通过deviceId进行消息传递。 重置密钥:密钥用于设备采用原生MQTT、NB-IoT设备、集成SDK的设备接入物联网平台的鉴权认证。重置密钥后,需要将新的密钥信息更新到设备中,设备重新发起注册时,携带新的密钥进行认证。 物模型数据:查看最近一次设备上报到平台的数据。 云端运行日志 物联网平台支持记录平台与应用侧及平台与设备侧之间的消息交互情况,您可以在控制台查看这些信息,详细操作请参考查看运行日志。 云端下发 您可以在控制台上创建单个设备的命令下发及消息下发(仅MQTT设备支持)任务。详细操作请参考云端数据下发。 设备影子 物联网平台提供设备影子功能,用于缓存设备状态。设备在线时,可以直接获取下发的命令;设备离线时,上线后可以主动获取下发的命令。详细操作请参考设备影子。 消息跟踪 物联网平台支持通过消息跟踪功能进行快速的故障定位和原因分析。详细操作请参考设备消息跟踪。 设备监控 设备运行日志:物联网平台支持接收设备上传的日志,您若打开设备日志开关,可将本地日志流转到 云日志 服务(LTS)(注:此功能仅适用于MQTT设备)。 设备异常检测:物联网平台提供设备异常检测功能。详细操作参考设备异常检测 子设备 物联网平台支持设备直连,也支持设备挂载在网关上,作为网关的子设备,由网关直连。详细操作参考网关与子设备。 标签 物联网平台支持定义不同的标签,并对设备打标签。详细操作请参考标签。 群组 物联网平台支持将设备添加到不同群组中,以便处理对海量设备的批量操作。详细操作请参考群组。
  • 概述 证书策略,即通过平台认证设备的设备CA证书匹配的发放策略。每条证书策略实例指:匹配上该策略实例的设备,将会被发放到该策略实例关联的设备接入实例的对应资源空间(即应用)下。 设备匹配证书策略实例的机制为: 设备的发放策略指定为“证书策略”时,其认证方式也必须为X.509证书认证且同时指定了认证设备的设备CA证书,当设备关联的设备CA证书与证书策略实例关联的证书为同一个证书时,即被认为该设备匹配上该条策略实例; 一个设备最多匹配一条证书策略实例;一个CA证书最多被一条证书策略关联。
  • 设备状态含义 在控制台上可以查看设备当前状态,如在线、离线、未激活、异常、冻结。用户也可以通过订阅方式获取设备的状态信息。设备状态定义如下: 状态类型 状态 短连接设备(如NB-IoT设备) 长连接设备(MQTT) 连接状态 在线 如果在25小时内设备有上报过数据,设备的状态为“在线”;如果在25小时内未上报过数据,设备的状态会变为“异常”。 设备与平台之间一直连接,无断开。 离线 设备接入平台后,设备在超过49小时未上报数据,平台会将设备置为“离线”状态。 设备与平台之间的连接断开1分钟后(数据自动刷新周期为1分钟),置为“离线”状态。 如果在界面上手动刷新状态,则直接显示“离线”。 异常 设备接入平台后,设备在超过25小时未上报数据,平台会将设备置为“异常”状态。 无此状态。 未激活 已在平台上完成设备注册但真实设备还未接入平台。请根据设备初始化操作完成设备的接入。 已在平台上完成设备注册但真实设备还未接入平台。请根据设备初始化操作完成设备的接入。 管理状态 冻结 用户主动将设备状态置于冻结状态,设备冻结后不能再连接上线,当前仅支持冻结与平台直连的设备。
  • 操作步骤 进入“策略”界面,单击展开“证书策略”,单击“添加实例”。 图1 添加证书策略 按照下方参数说明填写关键参数信息后,单击“确定”。 表1 证书策略参数列表 参数名称 说明 示例 证书名称 即所要根据证书属性将设备发放到指定的目标区域,选择对应的证书。 将需要通过证书“certificates”发放的设备发放至华北-北京四的物联网平台。 需通过证书“certificates”发放的设备:WaterMeter-Beijing0001、WaterMeter-Beijing0002 证书名称:certificates 发放区域:华北-北京四 发放应用:beijing-app1 发放区域 发放到指定区域后,设备将接入对应区域的设备接入服务。 所选区域未开通设备接入服务时,如果确定添加实例,系统将自动为您开通设备接入服务。不同区域设备接入服务价格不同,收费详情请参考价格说明。 发放应用 选择对应设备接入服务区域已创建的应用。在物联网平台中,设备由应用统一管理。 如果对应设备接入服务区域未创建应用,需要前往对应服务创建应用。
  • 操作步骤 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。 单击左侧导航栏“产品”,单击页面左侧的“创建产品”。根据页面提示填写参数,然后单击“确定”,完成产品的创建。 基本信息 所属资源空间 下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间。 产品名称 为产品命名。产品名称在相同资源空间有唯一性。长度不超过64,只允许中文、字母、数字、以及_?'#().,&%@!-字符的组合。 协议类型 MQTT:使用MQTT协议接入平台的设备,数据格式可以是二进制也可以是JSON格式,采用二进制时需要部署编解码插件。 LwM2M/CoAP:使用在资源受限(包括存储、功耗等)的NB-IoT设备,数据格式是二进制,需要部署编解码插件才能与物联网平台交互。 HTTPS:HTTPS是基于HTTP协议,通过SSL加密的一种安全通信协议。物联网平台支持HTTPS协议通信。 Modbus:物联网平台支持使用Modbus协议接入,使用Modbus协议的设备接入IoT边缘节点的方式为非直连。直连设备和非直连设备差异说明,请参考这里。 HTTP(TLS加密)、ONVIF、OPC-UA、OPC-DA、Other,TCP,UDP:通过边缘接入。 数据格式 JSON:平台和设备之间的通信协议采用JSON格式。 二进制码流:您需在控制台开发编解码插件,将设备上报的二进制码流数据转换为JSON格式,将平台下发的JSON格式数据解析为二进制码流格式,设备才能与平台进行通信。 编码格式 当协议类型(protocol_type)为MQTT,数据格式(data_format)为二进制时,可通过该参数配置设备上报消息的编码格式。默认为UTF-8。 UTF-8:将二进制码流转换为Unicode编码的字符串。 BASE64:将二进制码流转换为BASE64编码的字符串。 所属行业 请根据实际情况选择。 设备类型 请根据实际情况选择。 高级配置 产品ID 定制ProductID,用于唯一标识一个产品。如果携带此参数,平台将产品ID设置为该参数值;如果不携带此参数,产品ID在物联网平台创建产品后由平台分配获得。 产品描述 产品描述。请根据实际情况填写。 产品创建成功后,您可以单击“更多-删除”删除不再使用的产品。删除产品后,该产品下的产品模型、编解码插件等资源将被清空,请谨慎操作。
  • 产品模型开发方法 物联网平台提供了多种开发产品模型的方法,您可以根据自己需求,选择对应的方法开发产品模型。 自定义模型(在线开发):从零自定义构建产品模型。详细参考在线开发产品模型。 上传模型文件(离线开发):将本地写好的产品模型上传到平台。详细请参考离线开发产品模型。 Excel导入:通过导入文件的方式快速开发产品模型。详细请参考Excel导入。 导入库模型(平台预置产品模型):您可以使用平台预置的产品模型,快速完成产品开发。当前平台提供了标准模型和厂商模型。标准模型遵循行业标准的产品模型,适用行业内绝大部分厂商设备,而厂商模型针对设备类型发布的产品模型,适用于用行业内少量厂家设备。您可以根据实际需求选择相应的产品模型。
  • 什么是产品模型 产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等。当定义完一款产品模型后,再进行创建设备时,就可以使用在控制台上定义的产品模型。 产品模型包括产品信息和服务能力: 产品信息 描述一款设备的基本信息,包括设备类型、协议类型。 例如:设备类型为“WaterMeter”,协议类型为“CoAP”。 服务能力 描述设备具备的业务能力。将设备业务能力拆分成若干个服务后,再定义每个服务具备的属性、命令以及命令的参数。 以水表为例,水表具有多种能力,如上报水流、告警、电量、连接等各种数据,并且能够接受服务器下发的各种命令。产品模型文件在描述水表的能力时,可以将水表的能力划分五个服务,每个服务都需要定义各自的上报属性或命令。说明如下: 服务类型 描述 基础(WaterMeterBasic) 用于定义水表上报的水流量、水温、水压等参数,如果需要命令控制或修改这些参数,还需要定义命令的参数。 告警(WaterMeterAlarm) 用于定义水表需要上报的各种告警场景的数据,必要的话需要定义命令。 电池(Battery) 定义水表的电压、电流强度等数据。 传输规则(DeliverySchedule) 定义水表的一些传输规则,必要的话需要定义命令。 连接(Connectivity) 定义水表连接参数。 具体定义几个服务是非常灵活的,如上面的例子可以将告警服务拆分成水压告警服务和流量告警服务,也可以将告警服务合入到水表基础服务中。
  • 概述 当设备和物联网平台完成对接后,设备可通过以下方式发送数据到物联网平台: 表1 数据上报 类型 子类型 描述 适用场景 协议 物模型 大小 消息上报 设备消息上报 是设备直接将数据传到云端的一种方式,实现设备侧到应用侧的数据直接透传,平台对设备上报的消息不进行解析和存储。 常用于高频率数据的传输或需要用户自定义数据格式的场景。例如:短时间发送大量传感器数据到应用侧。 MQTT、HTTP 不依赖 单次请求:上报的消息最大为1MB。 单用户:标准版最大可使用带宽10Mb/s,企业版最大可使用带宽为50Mb/s。 自定义Topic通信 根据客户需求,自定义Topic,平台将上报的数据直接透传。应用侧可以通过订阅自定义Topic区分不同的业务。 一般用于设备上报的业务类型有多样,需要根据实际业务自定义Topic的场景,或在数据转发中需要转发到特定的Topic的场景,比如数据迁移。 MQTT 属性上报 设备属性上报 属性上报的数据,设备侧到应用侧的数据不直接透传。数据在平台中会通过定义的产品模型来校验、进行过滤,若上报的数据不符合产品模型定义,平台会丢弃该数据。 希望建立统一的模型:规定数据的格式与取值范围、设备的数据需要平台解析、存储的场景。或希望平台能够存储最新的镜像数据的场景。例如:发送路灯的开关数据到应用侧。 MQTT、HTTP、LwM2M/CoAP 依赖 单次请求:上报的属性最大为64KB。 单用户:标准版最大可使用带宽10Mb/s,企业版最大可使用带宽为50Mb/s。 网关批量属性上报 一次性上报多个子设备的属性,设备侧到应用侧的数据不直接透传。平台会将网关上报多子设备的数据分发到对应的子设备。 网关下关联多个子设备的场景。并且对于子设备数据上报时间不敏感,可以把多个子设备的数据打包后再一起上报。 MQTT 资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信时,可将原始二进制数据透传到物联网平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。 若发送到平台的数据需要发到华为云其他云服务上进行存储和处理,可以通过数据转发规则功能进行转发,然后再通过其他云服务的控制台或者API接口进行进一步的数据处理。 图1 消息上报概念图 图2 属性上报概念图 图3 原始二进制数据上报概念图
  • MQTT协议固件升级流程 MQTT协议FOTA升级流程的详细说明: 1~2. 用户在设备接入服务的控制台上传固件包,并在控制台或者应用服务器上创建固件升级任务。 3. 平台感知设备是否在线,当设备在线时立即触发升级协商流程。当设备不在线时,等待设备上线订阅升级Topic,平台感知设备上线,触发升级协商流程。(等待设备上线时间25小时以内) 4~5. 平台向设备下发查询设备固件版本号的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级 。(第5步超时时间3分钟) 如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理,升级任务置为成功。 如果返回的固件版本信息与升级的目标版本信息不同,且该版本号支持升级,则继续进行下一步的升级处理。 6~7. 物联网平台下发设备侧升级包下载指导、token及包的相关信息,用户根据下载包URL和token通过HTTPS协议来下载软件包,24小时后token无效。(下载包和升级状态上报超时时间为24小时) 8. 终端设备进行下载包升级操作,升级完成后终端设备向物联网平台反馈升级的结果。(设备升级完成后返回的版本号和设置的版本一致为成功) 9. 物联网平台向控制台/应用服务器通知升级的结果。 在下载包中断的情况下,平台支持断点续传功能。
  • 固件升级失败原因 物联网平台上报的失败原因: 失败原因 原因解释 处理建议 Device Abnormal is not online 设备异常未在线 请检查设备侧。 Task Conflict 任务冲突 请检查当前设备是否有软件升级、固件升级、日志收集或设备重启的任务正在进行。 Waiting for the device online timeout 等待设备上线超时 请检查设备侧。 Wait for the device to report upgrade result timeout 等待设备上报升级结果超时 请检查设备侧。 Waiting for report device firmware version timeout 等待上报设备固件版本超时 请检查设备侧。 Waiting for report cellId timeout 等待上报cellId超时 请检查设备侧。 Updating timeout and query device version for check timeout 等待升级结果超时,且等待设备版本信息超时 请检查设备侧。 Waiting for device downloaded package timeout 等待设备完成下载固件包超时 请检查设备侧。 Waiting for device start to update timeout 等待设备启动更新超时 请检查设备侧。 Waiting for device start download package timeout 等到设备开始下载固件包超时 请检查设备侧。 设备上报的失败原因: 失败原因 原因解释 处理建议 Not enough storage for the new firmware package 下载的固件包存储空间不足 请检查设备存储。 Out of memory during downloading process 下载过程中内存不足 请检查设备内存。 Connection lost during downloading process 下载过程中连接断开 请检查设备连接状态。 Integrity check failure for new downloaded package 下载的固件包完整性校验失败 请检查设备下载的固件包是否完整。 Unsupported package type 固件包类型不支持 请检查设备状态和厂商提供的固件包是否正确。 Invalid URI URI不可用 检查设备侧的固件包下载地址是否正确。 Firmware update failed 固件更新失败 请检查设备侧。
  • MQTT协议设备软件升级流程 MQTT协议SOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. 平台感知设备是否在线,当设备在线时立即触发升级协商流程。当设备不在线时,等待设备上线订阅升级Topic,平台感知设备上线,触发升级协商流程。(等待设备上线时间25小时以内) 4~5. 平台向设备下发查询设备软件版本号的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级 。(第5步超时时间3分钟) 如果返回的软件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理,升级任务置为成功。 如果返回的软件版本信息与升级的目标版本信息不同,且该版本号支持升级,则继续进行下一步的升级处理。 6~7. 物联网平台下发下载包URL访问这里,token及包的相关信息,用户根据下载包URL和token通过HTTPS协议来下载软件包,24小时后token无效。(下载包和升级状态上报超时时间为24小时) 8. 终端设备进行下载包升级操作,升级完成后终端设备向物联网平台反馈升级的结果。(设备升级完成后返回的版本号和设置的版本一致为成功) 9. 物联网平台向控制台/应用服务器通知升级的结果。
  • 操作步骤 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。 依次单击“规则 - 数据转发 - 策略配置 - 数据流转积压策略”进入积压策略配置界面。 图1 数据转发-策略配置 在弹出的界面中填写名称、描述、积压大小、积压时间等信息后,单击“确定”即可完成积压策略创建。 图2 数据转发-创建积压策略 表1 参数说明 参数名称 描述 策略名称 长度为4-256,只允许中文、字母、数字以及_?'#().,&%@!-等字符的组合。 描述 关于该策略的描述,长度为4-256,只允许中文、字母、数字以及_?'#().,&%@!-等字符的组合。 积压大小 单个转发规则流转数据在IoT物联网平台最大积压(缓存)大小,单位为B,最大可配置为1073741823 B,即1GB。 积压时间 单个转发规则流转数据在IoT物联网平台最大积压(缓存)时间,单位为秒,最大可配置为86399秒,即24小时。
  • 概述 当转发目标(如第三方应用服务器等)由于性能等原因无法快速处理IoT物联网平台流转数据时,未能及时处理的流转数据会积压(缓存)在IoT物联网平台。目前IoT物联网平台默认配置单个转发规则流转数据的最大积压(缓存)大小为1GB,最大积压(缓存)时间为24小时,超过最大积压(缓存)大小或积压(缓存)时间时,最早未被处理的流转数据会被丢弃直至满足积压(缓存)大小和时间限制。 客户可以根据自身的业务场景以及转发目标(如第三方应用服务器等)的性能等情况,在IoT物联网平台上创建合适的积压策略,控制流转数据在IoT物联网平台的积压情况。 例如:当业务对数据实时性的要求高于完整性,而转发目标(如第三方应用服务器等)长时间性能不足或业务中断一段时间,未能及时处理IoT物联网平台流转数据,导致流转数据大量积压在IoT物联网平台,转发目标(如第三方应用服务器等)接收到的数据一直是延迟、滞后的数据, 此时可以考虑使用积压策略配置较小的积压大小和积压时间,丢弃过时的数据,接收、处理较为实时的流转数据。
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS),才可在OBS桶里面查看历史文件。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 云审计服务支持的IoTDA操作列表 用户在使用物联网平台IoTDA的过程中,通过云审计服务,可查看用户及平台的操作及结果,当某项功能发生异常时,用户可以根据日志的记录信息定位并处理故障信息。目前支持查看以下IoTDA的操作记录: 表1 云审计服务支持的IoTDA操作列表 功能类别 操作名称 资源类型 事件名称 联动规则管理 创建规则 rules createRules 删除规则 rules deleteRules 更新规则 rules updateRules 修改规则状态 rules changeRuleStatus JS脚本管理 上传js插件脚本 scripts createScript 删除js插件脚本 scripts deleteScript 调试js插件脚本 scripts runScript Function插件管理 function插件上传 functions createProductFunctions function插件删除 functions deleteProductFunctions function插件下载 functions getProductFunctions 批量任务管理 创建批量任务 batchtasks createBatchtasks 批量任务重试 batchtasks retryBatchtasks 批量任务停止 batchtasks stopBatchtasks 删除批量任务 batchtasks deleteBatchtasks 批量任务文件管理 上传批量任务文件 batchtask-files uploadBatchTaskFile 删除批量任务文件 batchtask-files deleteBatchTaskFile 导出任务 创建导出任务 export-tasks createExportTasks 删除导出任务 export-tasks deleteExportTask 下载导出文件 export-tasks createTaskreport 应用侧证书管理 上传推送CA证书 Certificate createCertificate 更新推送CA证书 Certificate updateCertificate 删除推送CA证书 Certificate deleteCertificate 证书管理 上传设备CA证书 certificate addCertificate 删除设备CA证书 certificate deleteCertificate 调试设备CA证书 certificate debugCertificate 验证设备CA证书 certificate verifyCertificate 下载设备CA证书 certificate downloadCertificate 服务端证书管理 企业版创建证书 ServerCertificate addServerCertificate 企业版替换证书 ServerCertificate updateServerCertificate 企业版删除证书 ServerCertificate deleteServerCertificate 资源空间管理 创建资源空间 application addApplication 删除资源空间 application deleteApplication 修改资源空间 application updateApplication 接入码管理 创建接入码 accessCode createAccessCode 校验接入码 accessCode verifyAccessCode 软固件升级包管理 创建OTA升级包 upgradeTask uploadOtaPackages 删除OTA升级包 upgradeTask deleteOtaPackages 文件存储管理 配置文件上传obs桶 upgradeTask createBucket 流转规则管理 创建规则触发条件 routing-rule addRule 修改规则触发条件 routing-rule modifyRule 删除规则触发条件 routing-rule deleteRule 测试sql连通性 rule-sql checkSql 流转规则动作管理 创建规则动作 rule-action addAction 修改规则动作 rule-action modifyAction 删除规则动作 rule-action deleteAction 测试连通性接口 rule-action sendMessage 外出流控策略管理 创建外出流控策略 create-flow-control-policy createRoutingFlowControlPolicy 更新外出流控策略 update-flow-control-policy updateRoutingFlowControlPolicy 删除外出流控策略 delete-flow-control-policy deleteRoutingFlowControlPolicy 外出推送积压策略管理 创建外出推送积压策略 create-routing-backlog-policy createRoutingBacklogPolicy 修改外出推送积压策略 update-routing-backlog-policy updateRoutingBacklogPolicy 删除外出推送积压策略 delete-routing-backlog-policy deleteRoutingBacklogPolicy 设备影子 配置设备影子预期数据 deviceShadow updateDeviceShadow 插件映射管理 修改映射关系 plugin addMapping 插件消息管理 修改消息信息 plugin addMessage 插件管理 部署在线插件 plugin deployPlugin 保存插件信息 plugin savePluginMessage 更新插件信息 plugin modifyPluginMessage 部署离线插件 plugin bundlePackages 模拟器管理 注册调试设备模拟器 plugin registerEmulatedDevice 设备调试消息 上行发送码流 plugin simulateReport 隧道管理 创建隧道 tunnels createTunnel 删除隧道 tunnels deleteTunnel 修改隧道 tunnels updateTunnel 产品管理 创建产品 product addProduct 修改产品 product updateProduct 删除产品 product deleteProduct 自定义Topic管理 修改产品自定义topic topic updateTopic 删除产品自定义topic topic deleteTopic 创建产品自定义topic topic addTopic 安全异常检测配置 安全异常检测配置 productConfig addProductConfig AMQP队列管理 创建AMQP队列 amqp addQueue 删除AMQP队列 amqp deleteQueue 中止receive-link消费能力 amqp hangUpConnection 云云对接配置管理 创建云云对接配置 service-integration addServiceIntegrationConfig 删除云云对接配置 service-integration deleteServiceIntegrationConfig 修改云云对接配置 service-integration modifyServiceIntegrationConfig 群组管理 添加设备组 device-group addDeviceGroup 修改设备组 device-group updateDeviceGroup 删除设备组 device-group deleteDeviceGroup 管理设备组中的设备 device-group manageDevicesInGroup 设备标签管理 绑定标签 tag bindTagsToResource 解绑标签 tag unbindTagsToResource 设备管理 创建设备 device addDevice 修改设备 device updateDevice 删除设备 device deleteDevice 重置设备密钥 device resetDeviceSecret 冻结设备 device freeze-device 解冻设备 device unfreeze-device 鸿蒙软总线 创建鸿蒙软总线 harmony-soft-bus create-harmony-soft-bus 删除鸿蒙软总线 harmony-soft-bus delete-harmony-soft-bus 重置鸿蒙软总线key harmony-soft-bus reset-harmony-soft-bus-key 同步鸿蒙软总线 harmony-soft-bus sync-harmony-soft-bus 设备代理管理 删除设备代理 device-proxy deleteDeviceProxy 创建设备代理 device-proxy addDeviceProxy 修改设备代理 device-proxy updateDeviceProxy 设备策略管理 创建设备策略 device-policy addDevicePolicy 删除设备策略 device-policy deleteDevicePolicy 更新设备策略 device-policy updateDevicePolicy 绑定设备策略 device-policy bindDevicePolicy 解绑设备策略 device-policy unbindDevicePolicy 消息跟踪管理 修改消息跟踪配置 message-trace updateMessageTraceConfig 删除消息跟踪配置 message-trace deleteMessageTraceConfig 删除消息跟踪数据 message-trace deleteMessageTraceData 设备运维配置管理 修改设备运维配置 device-config updateDeviceConfig 设备命令管理 下发设备命令 command sendCommand 下发异步设备命令 asyncCommand sendAsyncCommand 远程登录 建立ssh通道 SshConnect SshConnect 下发ssh命令 SshComand SshComand 关闭ssh通道 SshDisconnect SshDisconnect
  • 使用场景 公路隧道中的监控设备种类较多,数量较大,并且隧道内网络环境复杂,网络质量也不稳定。然而,在应急处理时对网络实时性要求较高,因此无法将应急设备间的联动完全依赖于云端规则处理,需要借助端侧规则引擎实现预案联动。在实施时,可以预先针对火灾、交通事故等不同情况制定相应的设备联动预案。监控人员可以根据隧道内发生的情况,一键启动设备预案,通过端侧规则引擎实现多种相关设备同步进行状态变化,从而降低对网络质量的依赖,提高整体设备联动效率。例如,当烟道温度过高时,可以联动排水阀控制器打开排水阀实现降温;当一氧化碳浓度过高时,可以联动covi设备控制风机来通风。
  • 概述 在云端规则中,用户创建的规则的解析及执行均在云端完成,云平台需要判断条件是否满足并触发相应的设备联动操作。端侧规则是指用户在云平台创建的设备联动规则,可以下发到端侧设备,该设备上会运行端侧规则引擎,对云端下发的规则进行解析并执行。端侧规则可以在网络中断或设备无法与云端交互情况下,继续在端侧执行指定规则。端侧规则可以扩展用户应用场景,提升端侧设备运行的稳定性及执行效率等。例如:设置室内光照强度低于20时,打开灯控总开关,自动照明,实现不依赖网络设备的智能控制。 图1 端侧规则架构图 相关背景概念说明可参考基础概念。
  • SELECT子句 SELECT子句由SELECT后跟多个SELECT子表达式组成,子表达式可以为*,JSON变量,字符串常量或整数常量。JSON变量后跟一个AS关键字和AS变量,长度不超过32个字符。如果使用常量或函数,则必须使用AS指定名称。 JSON变量 JSON变量支持大小写字母,数字,下划线和中划线,为了和减号的意思区分,当使用中划线的时候,请将JSON变量使用双引号进行引用,如:"msg-type"。 Json变量抽取嵌套结构体的数据 { "a":"b", "c": { "d" : "e" }} c.d 即可抽取出字符串e,可以多层嵌套。 AS变量 AS变量由大小写字母组成,大小写敏感。目前支持[a-zA-Z_-]*的模式,如果使用中划线,需要使用双引号进行引用。 常数整数 正如标准的SQL一样,SELECT支持常数整数,常数后必须跟AS子句,如 常数整数的大小范围:-2147483648~2147483647 SELECT 5 AS number 常数字符串 正如标准的SQL一样,SELECT支持常数字符串,目前支持[a-zA-Z_-]*的模式,需要使用单引号进行引用,常数后必须跟AS子句,如 字符串长度范围不能超过50 SELECT 'constant_info' AS str
  • 函数列表 规则引擎提供多种函数,您可以在编写SQL时使用这些函数,实现多样化数据处理。 表2 函数列表 函数名称 携带参数 用途 返回值类型 限制 GET_TAG String tagKey 获取指定tag_key对应的tag_value。 GET_TAG('testTagName') 字符串 - CONTAINS_TAG String tagKey 判断是否包含指定tag_key。 CONTAINS_TAG('testTagName') 布尔值 - GET_SERVICE String serviceId,boolean fuzzy 获取service,若fuzzy为false或者不填,则获取指定service_id的service,若fuzzy为true,则通过模糊匹配查询service,如果您在一个消息体里有多个service_id相同的service,结果目前不保证。 GET_SERVICE('Battery',true) Json结构体格式 只能在属性上报时使用 GET_SERVICES String serviceId,boolean fuzzy 获取services,若fuzzy为false或者不填,获取指定service_id的services,若fuzzy为true,则通过模糊匹配查询services。查询结果将汇合为一个数组。 GET_SERVICES('Battery',true) JSON数组格式 只能在属性上报时使用 CONTAINS_SERVICES String serviceId,boolean fuzzy 若fuzzy为false或者不填,则判断是否存在指定service_id。若fuzzy为true,则使用模糊匹配的方式判断属性中的service_id是否包含指定参数。 CONTAINS_SERVICES('Battery',true) 布尔值 只能在属性上报时使用 GET_SERVICE_PROPERTIES String serviceId 获取指定service_id的service中的properties字段。 GET_SERVICE_PROPERTIES('Battery') Json结构体格式 只能在属性上报时使用 GET_SERVICE_PROPERTY String serviceId, String propertyKey 获取指定service_id的service中的properties中指定属性的值。 示例: GET_SERVICE_PROPERTY('Battery','batteryLevel') 字符串 限制只能在属性上报时使用 STARTS_WITH String input, String prefix 判断input的值是否以prefix开头。 STARTS_WITH('abcd','abc')STARTS_WITH(notify_data.header.device_id,'abc')STARTS_WITH(notify_data.header.device_id,notify_data.header.product_id) 布尔值 - ENDS_WITH String input, String suffix 判断input的值是否以suffix结尾。 ENDS_WITH('abcd','bcd')ENDS_WITH(notify_data.header.device_id,'abc')ENDS_WITH(notify_data.header.device_id,notify_data.header.node_id) 布尔值 - CONCAT String input1, String input2 用于连接字符串,返回连接后的字符串。 CONCAT('ab','cd')CONCAT(notify_data.header.device_id,'abc')CONCAT(notify_data.header.product_id,notify_data.header.node_id) 字符串 - REPLACE String input, String target, String replacement 对字符串某部分值进行替换。即用replacement替换input中的target。 REPLACE(notify_data.header.node_id,'nodeId','IMEI') - - SUBSTRING String input, int beginIndex, int endIndex(required=false) 获取字符串的子串,即返回input从beginIndex(包含)到endIndex(不包含)的子字符串。 说明:endIndex非必填。 SUBSTRING(notify_data.header.device_id,3)SUBSTRING(notify_data.header.device_id,3,12) - - LOWER String input 将input中的值全部转换成小写 LOWER(notify_data.header.app_id) - - UPPER String input 将input中的值全部转换成大写 UPPER(notify_data.header.app_id) - -
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全