华为云用户手册

  • 业务流程 修改设备属性值 修改desired属性值,如果设备在线,则设备影子直接同步设备属性值到设备,否则等待设备上线或上报数据时,再同步设备属性值到设备。 用户通过控制台或应用服务器修改设备属性值。消息样例如下: Method: PUT request: https://server:port/iocm/app/shadow/v1.5.0/devices/devices/{deviceId}?appId={appId} Header: app_key: ****** Authorization: Bearer ****** Content-Type: application/json Body: { "serviceDesireds": [ { "serviceId": "Temperature", "desired": { "targetTemperature": 35 } } ] } 物联网平台 修改desired属性值。 物联网平台返回响应消息。 物联网平台判断设备上线或上报数据。 物联网平台将设备属性同步到设备。 设备返回响应消息。 当设备上报数据时,物联网平台修改report属性值为设备上报的设备属性值。 查询设备属性值 设备影子保存的是设备最新的设备属性值,一旦设备属性值产生变化,设备会将设备属性值同步到设备影子。用户便可以及时获取查询结果,无需关注设备是否在线。 用户通过控制台或应用服务器查询设备属性值。消息样例如下: Method: GET request: https://server:port/iocm/app/shadow/v1.5.0/devices/{deviceId} Header: app_key: ****** Authorization: Bearer ****** Content-Type: application/json 物联网平台返回desired属性值和report属性值,即期望值和上报值。消息样例如下: response: Status Code: 200 OK Content-Type: application/json Body: { "deviceId": "******", "gatewayId": "******", "nodeType": "******", "createTime": "******", "lastModifiedTime": "******", "deviceInfo": "******""services": [ { "serviceId": "******", "reportedProps": "******", "desiredProps": "******", "eventTime": "******", "serviceType": "******" }, ] }
  • 给群组绑定/解绑设备 当创建完群组后,可以进行设备和群组的绑定和解绑,也可以进行设备在不同群组之间的移动。 登录物联网平台控制台,点击右上角“进入设备管理服务”。 单击左下角,选择“群组”。 选择某个群组,进入"设备"页面,单击相关按钮,进行设备绑定、设备解绑、设备移动操作,相关说明如下表所示。 图标 图标说明 单击可绑定设备。 选中设备后,单击后可将选中的设备从群组中解绑。 说明: 具有权限的SP帐户或者全局用户(普通用户无法进行设备解绑)进行解绑操作,如果该群组下已绑定若干设备,解绑后,该用户无权限查看该群组和其下的设备,对于该用户来说,解绑后的群组及设备会消失。 选择一个设备,单击该图标可以移动选择的设备至其他群组。
  • 管理群组 登录物联网平台控制台,点击右上角“进入设备管理服务”。 单击左下角,选择“群组”。 点击相关按钮,进行添加群组、解绑群组、移动群组、删除群组操作,相关说明如下表所示。 图标 图标说明 单击可增加根群组,用户自定义群组名称、群组的描述。 单击可添加子群组,需要填写群组名称和群组描述。 单击后可将子群组从父级群组中解绑。 单击可将子群组从现有父群组移动到选择的父群组中。 单击可删除当前选择的群组,并且删除操作不可撤回。默认群组不可删除。 删除分为“级联删除”和“删除当前”: “级联删除”:删除群组时,该群组下的子群组会同时删除。 “删除当前”:删除群组后,该群组下的子群组会升级为根群组。当存在多个子群组时,会产生相应数量的根群组。例如根群组A,其子群组为B和C,若删除A,则B和C都将成为独立的根群组。 选择“所有群组”后在界面右边呈现,单击可导出所有群组的拓扑结构。
  • 概述 软件(Software)一般分为系统软件和应用软件,系统软件实现设备最基本的功能,比如编译工具、系统文件管理等;应用软件可以根据设备的特点,提供不同的功能,比如采集数据、数据分析处理等。 软件升级又称为SOTA(SoftWare Over The Air),是指用户可以通过OTA的方式支持对LWM2M协议和MQTT协议的设备进行软件升级。基于LWM2M协议的产品模型,软件升级遵循的协议为PCP协议(查看PCP协议介绍),设备侧需要遵循PCP协议进行软件升级的适配开发,适配方法请参考设备侧适配开发指导(联通用户专用);基于MQTT协议的产品模型,不校验软件升级协议类型。 物联网平台支持LWM2M协议和MQTT协议的产品模型的软件升级。
  • 检查软件升级能力 对终端设备进行软件升级,需要检查设备对应的产品模型中,是否支持设备的软件升级能力。您可以通过如下方式检查和设置设备软件升级的能力 登录设备管理服务的控制台,单击左下角,切换到设备管理页面。 在“产品模型”界面点击“详情”,进入“产品详情”界面。 在“维护能力配置”界面中,检查软件升级的能力。协议为LWM2M的产品模型,将软件升级设置为“支持”,协议为PCP。协议为MQTT的产品模型,将软件升级设置为“支持”,不校验软件升级协议类型。 该操作只是修改了产品模型的能力,该产品模型对应的终端设备也需要支持软件升级的能力。否则,当升级任务中选择了不支持软件升级的终端设备,会导致软件升级失败。
  • 制作软件升级版本包 设备升级的软件包文件由各设备厂商提供,在物联网平台上传设备的软件升级包前,需要制作软件升级的版本包,用于修改软件包的描述文件,如软件版本、厂商名称、设备类型、产品模型等信息。下面将详细介绍版本包的制作方法。 新建文件夹命名为“DM”,在DM文件夹下新建文件夹,命名为“linux”。 使用Notepad++文本工具新建一个文本文件,拷贝如下内容到文本中,在Notepad++工具的“编码”菜单中选择“使用UTF-8编码”,然后将文本进行存储,存储路径选择步骤1中的“linux”文件夹,文件名称命名为“UpgradeDesc”,保存类型选择“.json”。 { "specVersion": "", "fileName": "", "packageType": "", "version": "", "deviceType": "", "manufacturerName": "", "model": "", "protocolType":"", "description":"", "versionCheckCode":"", "deviceShard":"", "platform":"", "supportSourceVersionList":[], "date":"" } 打开创建的“UpgradeDesc.json”文件,修改软件升级描述文件,相关字段如下表所示。 字段名 字段描述 是否必填 specVersion 描述文件版本号,固定值:“1.0”。 是 fileName 软件包文件名,例如:“ExamplePackage_V1.0.10.xx”。 是 packageType 软件包类型,必须设置为:“softwarePackage”。 是 version 软件包版本号长度不超过16个字节,例如:“V1.0.10” 是 deviceType 设备类型,需要与产品模型保持一致。例如:“WaterMeter”。 是 manufacturerName 制造商名称,需要与产品模型保持一致。例如:“TestUtf8ManuName”。 是 model 产品型号,需要与产品模型保持一致。例如:“TestUtf8ModelM2M”。 是 protocolType 设备接入协议类型,需要与产品模型保持一致。例如:“CoAP”。 说明: 设备接入的协议类型有三种:“CoAP”、“LWM2M”、“MQTT”。 是 description 对软件包的自定义描述。 是 versionCheckCode 软件升级包校验码,长度为4个字符。软件包下载时支持断点续传,根据该字段标识前后两次下载的软件包分片是否为同一个软件包。 否 deviceShard 终端下载软件包的每个分片的大小,单位为byte,如果不设置默认为500byte。大小为32~500之间。 否 platform 标识设备的操作系统,如linux。 否 supportSourceVersionList 支持用于升级此版本包的设备源版本列表。 支持通配符配置,*代表匹配任意0~n个字符,?代表匹配单个任意字符,如果存在多个版本,请使用英文“;”隔开。 否 date 出包时间,格式为:“yyyy-MM-dd”。 否 在与“DM”同级目录下创建文件夹,命名为“linux”,该文件夹名称必须同步骤1中的文件夹命令保持一致,将厂商软件包(软件包格式无限制)置于该文件中。 选中“DM”和“linux”文件夹,使用压缩工具打包成ZIP格式的压缩包,建议命令为“xx_package.zip”。 文件“DM”和“linux”的命名是固定的。 “xx_package.zip”下不能包含package这层目录。 仅支持ZIP格式的压缩包,不能压缩成其他格式后,例如rar,再手动修改文件类型为zip。
  • LWM2M协议软件升级流程 LWM2M协议SOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. NB-IoT设备上报数据,平台感知设备上线,触发升级协商流程。 4~5. 物联网平台向设备下发查询设备软件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。 如果返回的软件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。 如果返回的软件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。 6. 物联网平台向设备订阅软件升级的状态。 7~8. 物联网平台查询终端设备所在的无线信号覆盖情况,获取小区ID、RSRP(Reference Signal Received Power,参考信号接收功率)和SINR(Signal to Interference Plus Noise Ratio,信号干扰噪声比)信息。 查询成功:则根据如下方式计算可同时升级的并发数计算,并按照步骤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”确定是否属于同一个软件包。下载完成后,设备知会物联网平台软件包已下载完毕。 13~14. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级的结果。 15. 物联网平台向控制台/应用服务器通知升级的结果。
  • MQTT协议软件升级流程 MQTT协议SOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. 平台感知设备是否在线,当设备在线时立即触发升级协商流程。当设备不在线时,等待设备上线订阅升级topic,平台感知设备上线,触发升级协商流程。 4~5. 平台向设备下发查询设备软件版本号的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级 。如果返回的软件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理,升级任务置为成功。如果返回的软件版本信息与升级的目标版本信息不同,且该版本号支持升级,则继续进行下一步的升级处理。 6~7. 物联网平台下发下载包URL、token及包的相关信息,用户根据下载包URL和token通过HTTP协议来下载软件包,24小时后token无效。 8. 终端设备进行下载包升级操作,升级完成后终端设备向物联网平台反馈升级的结果。 9. 物联网平台向控制台/应用服务器通知升级的结果。
  • 云服务配置管理 物联网平台支持与华为云其它服务进行对接。首先通过华为云管理控制台获取“访问密钥(AK)”和“加密访问密钥(SK)”,在界面上输入AK和SK完成物联网平台与华为云的对接;然后用户在购买华为云其它云服务后,通过规则引擎功能将物联网平台的数据转发到用户购买的其它服务,或通过规则引擎功能与华为云的 SMN 服务对接。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和加密访问密钥一起使用,对请求进行加密签名。SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 AK和SK的获取方法 登录华为云,并进入管理控制台。 单击用户名下的“账号中心”,如下图所示。 在基本信息中,单击“管理我的凭证”,如下图所示。 在“我的凭证”页面中,选择“访问密钥”页签,并单击“新增访问密钥”。 输入当前用户的华为云登录密码,并输入短信验证码,单击“确定”按钮后,会自动下载访问密钥信息,包括“访问密钥(AK)”和“加密访问密钥(SK)”信息,请妥善保管。 登录园区物联网平台Console,点击右上角“进入园区物联网平台服务”。单击页面右上角的用户头像,在下拉菜单中选择“云服务配置管理”,输入AK和SK,点击“保存”,完成和华为云的对接。
  • 概述 规则引擎是指用户可以在物联网平台上可以对接入平台的设备设定相应的规则,在条件满足所设定的规则后,平台会触发相应的动作来满足用户需求。包含设备联动和数据转发两种类型。 设备联动规则 设备联动通过条件触发,基于预设的规则,引发多设备的协同反应,实现设备联动、智能控制。当响应动作为“主题通知”时,物联网平台对接华为云的 消息通知 服务SMN,进行主题消息的设置和下发。 例如:设置水表的电池电量阈值为小于等于20%时,上报电池电量过低的告警,用户就能及时了解设备的供电情况,以便及时更换电池。 数据转发规则 数据转发无缝与华为云其他服务对接,实现设备数据按需转发和处理,您无需线下购买和部署服务器,即可实现设备数据的存储、计算、分析的全栈服务: 对接 数据接入服务 DIS,实现数据高效采集、传输、分发。用户可以通过DIS提供的SDK/API等方式下载数据,完成后续自定义使用数据的业务开发场景;也可以通过转储任务进一步将数据转发到其他云服务(OBS、MapReduce、DWS、 DLI ),进行数据存储、数据分析等后续数据处理,便于用户进行更灵活、多样化的数据使用。 对接分布式消息服务DMS,为设备数据提供消息队列服务。DMS是一项基于高可用分布式集群技术的消息中间件服务,用于收发消息。IoT作为生产者发送消息到DMS消息队列里,用户的应用程序作为消费者从消息队列里消费消息,从而做到往用户多个应用程序组件之间传输消息。 对接 对象存储服务 OBS,实现设备数据持久存储(设备管理服务支持设备数据存储,存储7天)。OBS是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,适用于对设备上报数据进行归档和备份存储。OBS也支持对接实时流计算 CS 云服务,实时分析数据流,分析结果对接到其他云服务或者第三方应用进行 数据可视化 等。 对接应用与 数据集成平台 ROMA Connect的消息集成(Message Queue Service,简称MQS)组件,为物联网平台与应用服务器之间提供安全、标准化的消息通道。MQS是一款企业级消息中间件,基于Kafka协议,使用统一的消息接入机制,并具备消息发布订阅、Topic管理、用户权限管理、资源统计、监控报警等基础功能,以及消息轨迹、网络隔离、云上云下集成等高级特性,为企业数据管理提供统一的消息通道。
  • 数据转发方案对比 在许多场景中,您需要将设备上报给物联网平台的数据进行加工处理或用于业务应用。使用物联网平台提供的订阅推送功能和数据转发功能,均可实现设备数据的转发。 数据转发:提供初级的数据过滤能力。支持对设备数据进行过滤,然后再转发到其他华为云服务。 订阅推送:第三方应用可在物联网平台订阅相关业务数据,当业务信息发生变化时(如设备注册、设备数据上报、设备状态变更等),平台会向第三方应用发送通知消息,通知其具体的变化信息。可快速地获取设备消息,无数据过滤能力,功能较为单一,但是简单易用且高效。 数据转发方案 适用场景 优缺点 数据转发 设备上报数据上云。 复杂场景。 优点: 支持将数据转发至其他华为云服务产品。 支持对数据进行条件过滤。 缺点: 只能转发设备上报数据,不支持设备注册、设备状态变更等数据的转发。 订阅推送 设备数据推送至第三方应用。 单纯的接收设备数据的场景。 优点: 支持将设备注册、设备数据上报、设备状态变更等多种数据推送至第三方应用。 缺点: 缺少过滤能力。 第三方应用需要自实现对推送数据的存储、分析等操作,无法使用其他华为云服务。 物联网平台默认只提供较弱的Http推送能力,高于10TPS的推送建议使用数据转发规则。
  • 新增产品模型 Profile开发完成并测试验证后,可以将profile文件导入到控制台上使用,有三种导入方式: 产品中心导入:在开发中心上完成profile的定义并发布到产品中心。 本地导入:指线下完成profile的开发,通过上传profile包的方式导入。 注:通过本地导入的profile不含编解码插件,如果设备上报采用的是二进制码流,请使用产品中心导入的方式。 手动创建:手动创建一个产品(支持CoAP/LWM2M、MQTT或LoRaWAN),不定义设备属性(不需要开发profile及编解码插件),仅透传数据,不解析数据(透传模式具体请参考数据上报(联通用户专用))。如使用手动创建的产品模型,建议仅开通 设备接入服务 即可。 当协议类型选择LoRaWAN时,无法注册为普通设备,仅能注册为LoRaServer的子设备。 导入产品模型后,就无法对已导入产品模型的产品信息和服务能力进行修改,例如修改协议类型、新增一个服务等。可以通过设备配置更新、设备影子对设备服务属性值进行修改,通过界面修改OM维护能力。 登录物联网平台控制台,点击右上角“进入设备管理服务”。 单击左下角,选择“产品模型”,单击“新增产品模型”。 产品模型可通过从产品中心导入和从本地导入两种方式。 从产品中心导入: 选择“从产品中心导入”,进入到产品中心页面。 导入自有产品:产品中心默认显示自有产品列表,可通过产品名称或者设备类型搜索产品。 导入第三方公开产品:“产品范围”选择“第三方公开”,可通过产品名称、设备类型或者厂商名称搜索产品。 导入第三方私有产品:单击页面右上角“第三方私有产品”,在弹出的窗口中输入产品验证码,该验证码由设备厂商提供。 在搜索的产品模型列表中单击需要导入的产品名称。 从本地导入: 选择“本地导入”进入到本地导入产品的页面。 在弹出的窗口中输入产品名称,并上传资源文件。 单击“确定”,等待导入完成。 在“产品模型”页面查看导入结果。 导入失败:可在“失败原因”中查看导入失败的原因,用户可根据失败原因定位错误。 导入成功:可单击“详情”,查看产品模型详情。 用户可以在产品列表中删除不再使用的产品,单击“删除”即可。 单击“详情”,用户可查看产品模型详细信息,包括查看该产品模型具备的服务列表,产品维护能力配置,以及自定义topic。 关于自定义topic,每个产品模型最多可以自定义10个,只有MQTT协议接入的设备支持自定义,参数信息配置如下: 设备操作权限: 发布: 设备侧消息上报时,可按配置中自定义的topic进行消息上报;数据流转时,设备消息中会携带topic参数标识该消息从哪个topic上报。 订阅:设备侧消息下发时,可在消息内容中指定此消息下发使用哪个topic;消息发往设备时,可以根据指定的topic下发。 发布和订阅:同时具备发布和订阅的权限。 topic名称:自定义即可。支持英文字母、数字、下划线,+和#(仅权限是订阅时支持),长度限制64。 描述:关于该topic的描述。 如果还未使用该产品模型注册设备,则可以删除该产品模型。 如果已使用该产品模型注册过设备,则无法删除该产品模型。
  • 概述 产品模型(也称Profile)用于描述设备具备的能力和特性。开发者通过定义Profile,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等。当定义完一款产品模型后,在进行设备注册时,就可以选择已在控制台上导入的产品模型。 Profile包括产品信息、服务能力、维护能力三部分: 产品信息 描述一款设备的基本信息,包括厂商ID、厂商名称、设备类型、型号、协议类型。其中厂商ID和型号唯一标识一款产品。 例如:水表的厂商名称为“HZYB”,厂商ID为“TestUtf8ManuId”,设备类型为“WaterMeter”,型号为“NBIoTDevice”,协议类型为“CoAP”。 服务能力 描述设备具备的业务能力。将设备业务能力拆分成若干个服务后,再定义每个服务具备的属性、命令以及命令的参数。 以水表为例,水表具有多种能力,如上报水流、告警、电量、连接等各种数据,并且能够接受服务器下发的各种命令。Profile文件在描述水表的能力时,可以将水表的能力划分五个服务,每个服务都需要定义各自的上报属性或命令。说明如下: 服务名 描述 基础(WaterMeterBasic) 用于定义水表上报的水流量、水温、水压等参数,如果需要命令控制或修改这些参数,还需要定义命令的参数。 告警(WaterMeterAlarm) 用于定义水表需要上报的各种告警场景的数据,必要的话需要定义命令。 电池(Battery) 定义水表的电压、电流强度等数据。 传输规则(DeliverySchedule) 定义水表的一些传输规则,必要的话需要定义命令。 连接(Connectivity) 定义水表连接参数。 注:具体定义几个服务是非常灵活的,如上面的例子可以将告警服务拆分成水压告警服务和流量告警服务,也可以将告警服务合入到水表基础服务中。 维护能力 描述设备具备的维护能力,包括固件升级、软件升级、配置更新。 关于Profile文件的规范、含义和样例等,可参考如何离线开发?
  • 概述 当设备完成和物联网平台对接后,一旦设备上电,设备基于在设备上定义的业务逻辑进行数据采集和上报,可以是基于周期或者事件触发。设备可通过以下方式发送数据到物联网平台: 设备消息上报:设备可以通过消息上报接口将设备的自定义数据上报到平台,平台对设备上报的消息不进行解析和存储,通过数据转发规则转发到华为云其他云服务上进行存储和处理,然后通过其他云服务的控制台或者API接口进行进一步的数据处理。 设备原始数据(二进制)上报:设备可以通过二进制上报接口上报设备的原始码流,平台通过编解码插件将设备原始数据解析为产品模型定义的JSON格式,解析后的数据上报给设备管理服务进行相关业务处理。 设备属性上报:设备通过属性上报接口,将产品模型中定义的属性数据上报给平台,平台解析后的数据上报给设备管理服务进行相关业务处理。 网关批量属性上报:网关设备将批量设备的数据一次性上报到平台,平台解析后的数据上报给设备管理服务进行相关业务处理。 CoAP协议接入的设备考虑到功耗和带宽的影响,当前只支持设备上报原始的二进制码流,由平台根据编解码插件,将码流转换为产品模型中定义的JSON格式数据后,再进行后续处理。
  • 概述 为能有效地对设备进行管理,设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可以调用物联网平台开放的API接口向单个设备或批量设备下发命令,或者用户通过物联网平台直接向单个设备下发命令,以实现对设备的远程控制。 物联网平台有两种命令下发机制,如下表所示。 命令下发机制 定义 适用场景 LWM2M/CoAP协议设备 集成Agent Lite SDK设备/原生MQTT设备 立即下发 不管设备是否在线,平台收到命令后立即下发给设备。如果设备不在线或者设备没收到指令则下发失败。支持给本应用的设备和被授予权限的其它应用的设备下发命令。 立即下发适合对命令实时性有要求的场景,比如路灯开关灯,燃气表开关阀。使用立即下发时,命令下发的时机需要由应用服务器来保证。 建议用户使用缓存下发模式,工作模式设置为PSM模式(系统默认值)。 如需使用立即下发模式(工作模式设置为DRX或eDRX模式),需要在设备上报数据后立即下发命令才能成功。 适用 缓存下发 物联网平台在收到命令后先缓存,等设备上线或者设备上报数据时再下发给设备,如果单个设备存在多条缓存命令,则进行排队串行下发。支持给本应用的设备和被授予权限的其它应用的设备下发命令。 缓存下发适合对命令实时性要求不高的场景,比如配置水表的参数。 适用。工作模式设置为PSM模式(系统默认值)。 不适用
  • 命令执行状态说明 命令执行状态以及状态变化机制如下所示。 命令执行状态 说明 等待(PENDING) NB-IoT设备采用缓存下发模式下发命令时,如果设备未上报数据,物联网平台会将命令进行缓存,此时任务状态为“等待”状态。 NB-IoT设备采用立即下发模式下发命令时,无此状态。 MQTT设备下发命令时,无此状态。 超期(EXPIRED) NB-IoT设备采用缓存下发模式下发命令时,如果在设置的超期时间内,物联网平台未将命令下发给设备,则状态变更为“超期”。超期时间会根据应用侧接口中携带的expireTime为准,如果未携带,默认48h。 NB-IoT设备采用立即下发模式下发命令时,无此状态。 MQTT设备下发命令时,无此状态。 取消(CANCELED) 如果命令下发任务为“等待”状态时,用户人工取消了命令下发任务,则任务状态变更为“取消”。 已发送(SENT) NB-IoT设备采用缓存下发模式下发命令时,设备上报数据,物联网平台会将缓存的命令发送给设备,此时状态会由“等待”变为“已发送”。 NB-IoT设备采用立即下发模式下发命令时,如果设备在线,状态为“已发送”。 MQTT设备下发命令时,如果设备在线,状态为“已发送”。 超时(TIMEOUT) NB-IoT设备收到命令后,物联网平台在180秒内未收到设备反馈的收到命令响应,此时状态会变为“超时”。MQTT设备无此状态。 已送达(DELIVERED) 物联网平台收到设备反馈的已收到下发命令响应后,状态变为“已送达”。 成功(SUC CES SFUL) 如果设备在执行完命令后,会给物联网平台反馈命令执行成功的结果,将任务状态变更为“成功”。 失败(FAIL) 如果设备在执行完命令后,会给物联网平台反馈命令执行失败的结果,将任务状态变更为“失败”。 NB-IoT设备采用立即下发模式下发命令时,如果设备离线,状态为“失败”。 MQTT设备下发命令时,如果设备离线,状态为“失败”。
  • 单个设备配置更新 登录物联网平台控制台,点击右上角“进入设备管理服务”。 单击左下角,在“产品模型”界面上,单击设备所属产品模型的“详情”按钮,“维护能力配置”中的“设备配置”设置为“支持”。 进入“所有设备”页面,单击设备所在行的按钮,可对设备进行配置更新。 在弹出窗口中,按照下表配置参数。 参数名称 参数说明 任务名 创建设备配置下发的任务名称。 执行类型 任务的执行类型。分为“现在”、“设备在线时”、“自定义”。选择“自定义”时需要设置“执行时间。” 执行时间 执行类型选择“自定义”时生效,设置任务执行的时间。 重试策略 否:不重试。 自定义:需要设置重试次数。 重试次数 当“重试策略”为“自定义”时需要设置此参数。 重试间隔(秒) 当“重试策略”为“自定义”时需要设置此参数。 配置文件 需要导入设备的配置文件,可点击下载上一次下发成功的配置文件信息进行修改后再导入。 如果在此操作前,未对设备进行过配置下发的操作,点击下载设备配置文件会提示“找不到资源”,这种情况下只能通过用户自定义的方式,手动制作配置文件,支持配置下发修改的项需要与设备支持的能力(设备对应的产品模型)保持一致,且配置文件需要为JSON格式,例如: { "sensitivity": "0", "dataReportInterval": "20" }
  • 概述 物联网平台提供设备配置更新功能,即用户可通过控制台对单个设备或批量设备的设备属性值进行修改,满足用户频繁、快捷、方便的管理设备的诉求。比如,某路灯最初设置温度属性达到A摄氏度时上报告警,用户需要修改该属性值为B摄氏度,即可修改其配置文件,然后通过控制台上传到物联网平台,以实现配置更新。 针对LWM2M协议设备的设备配置更新,物联网平台提供了设备影子功能,将修改设备的属性信息存储在设备影子中,待设备上线或上报数据时,将修改的设备属性值同步给设备,从而完成设备属性的修改。 针对原生MQTT协议接入或集成Agent Lite SDK的设备,物联网平台直接配置更新下发,修改设备的设备属性值。 物联网平台第一次给设备下发配置更新,如果当前的配置文件还没有下发给设备前,又进行了第二次的配置下发,则将两次的配置文件进行合并后再下发(如果配置项重复,则后一次会覆盖前一次)。
  • 概述 固件(Firmware)一般是指设备硬件的底层“驱动程序”,承担着一个系统最基础最底层工作的软件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System)。 固件升级又称为FOTA(Firmware Over The Air),是指用户可以通过OTA的方式对支持LWM2M协议和MQTT协议的设备进行固件升级。物联网平台支持LWM2M协议和MQTT协议的产品模型的固件升级。
  • LWM2M协议固件升级流程 LWM2M协议FOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传固件包,并在控制台或者应用服务器上创建固件升级任务。 3. NB-IoT设备上报数据,平台感知设备上线,触发升级协商流程。 4~5. 物联网平台向设备下发查询设备固件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。 如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。 如果返回的固件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。 6~7. 物联网平台查询终端设备所在的无线信号覆盖情况,获取小区ID、RSRP(Reference Signal Received Power,参考信号接收功率)和SINR(Signal to Interference Plus Noise Ratio,信号干扰噪声比)信息。 查询成功:则根据如下方式计算可同时升级的并发数计算,并按照步骤9进行处理。 如下图所示,如果设备的RSRP强度和SINR强度均落在等级“0”中,则同时可以对该小区的50个相同信号覆盖区间的设备进行同时升级。 如果设备的RSRP强度和SINR强度分别落在等级“0”和“1”中,则以信号较弱的等级“1”为准,则只能同时对该小区的10个设备进行升级。 如果设备的RSRP强度和SINR强度分别落在等级“1”和“2”中,则以信号较弱的等级“2”为准,则只能同时对该小区的1个设备进行升级。 如果设备的RSRP强度和SINR强度不在该3个等级范围内,且均可以查询到,则按照信号最弱覆盖等级“2”处理,则只能同时对1个设备进行升级。 如果用户在固件升级中发现同时进行升级的设备数较少,则可以联系当地运营商检查和优化设备所在小区的无线覆盖情况。 查询失败:则按照流程步骤8进行处理。 8. 物联网平台继续下发查询小区ID信息的命令,获取终端设备所在的小区ID信息。 如果查询成功:物联网平台支持同时对该小区的10个相同情况的设备进行固件升级。 如果查询失败:则升级失败。 9. 物联网平台向设备订阅固件升级的状态。 10~11. 物联网平台向设备下发下载固件包的URL地址,通知设备下载固件包。终端设备根据该URL地址下载固件包,固件包的下载支持分片下载,下载完成后,设备知会物联网平台固件包已下载完毕。 12~13. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级结束。 14~16. 物联网平台下发命令查询固件升级的结果,获取升级结果后,向终端设备取消订阅升级状态通知,并向控制台应用服务器通知升级的结果。
  • MQTT协议固件升级流程 MQTT协议FOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. 平台感知设备是否在线,当设备在线时立即触发升级协商流程。当设备不在线时,等待设备上线订阅升级topic,平台感知设备上线,触发升级协商流程。 4~5. 平台向设备下发查询设备固件版本号的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级 。如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理,升级任务置为成功。如果返回的固件版本信息与升级的目标版本信息不同,且该版本号支持升级,则继续进行下一步的升级处理。 6~7. 物联网平台下发下载包URL、token及包的相关信息,用户根据下载包URL和token通过HTTP协议来下载软件包,24小时后token无效。 8. 终端设备进行下载包升级操作,升级完成后终端设备向物联网平台反馈升级的结果。 9. 物联网平台向控制台/应用服务器通知升级的结果。
  • 检查固件升级能力 对终端设备进行固件升级,需要检查设备对应的产品模型中,是否支持设备的固件升级能力。您可以通过如下方式检查和设置设备固件升级的能力。 该操作只是修改了产品模型中定义的固件升级能力,该产品模型对应的终端设备也需要支持固件升级的能力。否则,当升级任务中选择了不支持固件升级的终端设备,会导致固件升级失败。 登录物联网平台控制台,点击右上角“进入设备管理服务”。单击左下角,切换到设备管理页面。 在“产品模型”界面点击“详情”,进入“产品详情”界面。 在“维护能力配置”界面中,检查固件升级的能力。协议类型为LWM2M的产品模型,将固件升级设置为“支持”,协议为LWM2M。协议类型为MQTT的产品模型,将固件升级设置为“支持”,不校验固件升级协议类型。
  • 接入流程 Agent Lite SDK提供相关的接口,开发者调用这些接口网关实现与物联网平台的对接。不同语言的SDK的接口名称不一样,每个接口功能请参见Agent Lite SDK 使用指南(C)、Agent Lite SDK 使用指南(JAVA)、Agent Lite SDK 使用指南(Android)。 1、网关调用Agent Lite SDK 的初始化接口,初始化Agent Lite资源。 2、在物联网平台的控制台上上传网关的产品模型,并注册网关。 3、网关第一次接入物联网平台时需要进行绑定操作,从而将网关与平台进行关联。需先修改配置文件里的设备固有信息(verifyCode和其他必要的设备信息),然后调用绑定接口设置绑定配置,并绑定网关。 4、网关绑定成功后,需要进行登录操作。网关先调用SDK接口配置所需的登录信息,然后调用登录接口进行网关登录。 5、在物联网平台的控制台上上传子设备的产品模型。 6、在网关登录成功后,网关调用添加非直连设备接口,填写设备相关信息(与产品模型定义一致),添加子设备到物联网平台(同时网关侧完成和子设备之间的对接,并上电)。添加成功后,在物联网平台上就能查看添加的子设备(如何查看?)。 用户也可以通过控制台添加子设备,如何添加? 7、子设备添加完后,一般情况下在物联网平台上显示是“离线”状态。所以在子设备添加成功后,或者在子设备上报数据前,网关要调用“设备状态更新”接口进行设备状态更新。 子设备的状态表示子设备接入网关的状态,由网关上报到物联网平台进行状态的刷新;如果网关不能正常上报子设备的状态信息到物联网平台,则展示的子设备状态不会刷新。例如:某子设备通过网关接入到物联网平台,子设备状态为在线状态,如果此时网关与物联网平台断开连接,则网关不能上报子设备的状态到物联网平台,该子设备的状态会一直显示在线。 8、网关调用“设备服务数据上报”接口上报网关和子设备的数据,接口里的参数填写网关和子设备的相关设备信息。 9、网关调用“设备命令接收”接口,接收并处理应用服务器或物联网平台下发的命令。 10、应用服务器调用删除子设备接口,给网关下发删除子设备命令,网关调用SDK上的“设备删除”接口删除在物联网平台上的子设备信息。并向平台返回删除结果。
  • 订阅后消息推送失败,例如提示503如何处理? 开发中心订阅调试时返回503: 原因可能有以下几种: 如果您是调用接口进行订阅,请从返回值判断订阅是否成功。仅当响应码为201 Created时表示调用成功,否则请根据错误码提示修改请求重新发送。 在开发中心调测时,可查看开发中心的消息跟踪,确定平台是否发送数据成功。 请在应用服务器抓包确认是否收到来自物联网平台的POST消息。 地址对应的服务端端口没有开放。请在其他外网机器上使用telnet命令验证下您的IP和端口是否已开放。若未开放,请修改订阅的IP和端口。 如果订阅地址是 域名 ,并且域名绑定多个IP,需要做好DNS解析,确保DNS解析后的IP地址可达。 如果订阅地址是HTTPS地址,还有可能是服务端的证书制作有问题或者服务端证书对应的CA证书未上传至物联网平台。 调测时,请先确保证书制作过程无误,然后进行证书上传。 商用时,推荐向证书机构申请证书,然后参考设备管理平台上传证书进行证书上传。 上传证书时如果打开了“是否检查CNAME ”开关,需要确保应用服务器的域名地址和证书中的CNNAME一致;证书中的CNNAME可通过证书校验工具查看。 父主题: 订阅推送(联通用户专用)
  • 在线开发插件中地址域(messageId)如何使用? 当有相同类型的消息时(例如:两种数据上报的消息),需要添加地址域字段,用于区分不同的消息,且该字段在字段列表的位置必须一致。场景如下: 有两条及以上的数据上报消息或命令下发消息。 命令响应消息可看作一种数据上报消息,因此如果存在命令响应消息,则需要在数据上报消息中添加地址域。 数据上报响应消息可看作一种命令下发消息,因此如果存在数据上报响应消息,则需要在命令下发消息中添加地址域。 在线开发编解码插件时,messageId的使用实例详见多条上下行消息的编解码插件在线开发。 父主题: 编解码插件(联通用户专用)
  • 应用服务器调用接口失败怎么处理? 请检查应用服务器的网络连接情况,确保应用服务器网络正常。 检查请求中物联网平台的应用接入地址和端口是否正确。 使用“ping {物联网平台应用接入地址}”命令,查看应用服务器是否可以正常访问物联网平台的应用接入地址。 使用“telnet {物联网平台应用接入地址} {端口}”命令,查看是否可以打开物联网平台的应用接入端口。 检查应用服务器是否集成了物联网平台的证书,证书可从开发资源获取页面下载。 根据接口文档,查看各个参数的填写是否正确。 调用鉴权接口返回的accessToken有效期是一个小时,过期后,调用其他接口也会失败。请调用鉴权接口获取新的accessToken后,重新调用其他接口。 如果以上问题均已排除,请根据接口返回的错误码进行处理,错误码的含义可参见API参考。如果应用封装了错误码,可以使用postman调用相同的接口,获取物联网平台返回的原始错误码及描述,再按照对应错误码的处理建议进行处理。 例如调用注册设备接口提示设备已经绑定,则需要查看在自己的账号下是否已经存在相同验证码(IMEI或mac)的设备。如果在自己的账号下未找到使用相同验证码(IMEI或mac)的设备,请联系物联网平台服务商,由支撑人员检查该验证码(IMEI或mac)在物联网平台的使用情况。 父主题: 应用集成(联通用户专用)
  • 开发中心、设备接入和设备管理的差异是什么? 开发中心、设备接入和设备管理的主要差异是: 产品 定位 商用/测试 价格 特别关注 设备接入 进行海量设备联接、数据采集/转发、远程控制的云服务。 商用环境 按照消息数收费 开通设备管理服务时,系统会同时开通设备接入服务。开通设备管理服务后,设备接入服务中已注册的设备,可以在设备管理服务中继续使用。 设备管理 在设备接入基础上,增加了产品模型定义、远程诊断、数据存储、软固件升级等更丰富的设备管理能力。使用设备管理时,包含设备接入服务的能力。 商用环境 按照设备数收费 开发中心所在的测试环境,设备管理服务所在商用环境,两个环境的设备数据不能互通。已对接测试环境的设备/应用如果需要迁移至商用环境,需要在商用环境重新创建应用和注册设备,并修改设备/应用中平台的接入信息。 开发中心 基于设备管理提供的一站式开发工具,帮助开发者快速进行产品模型(Profile)和编解码插件的开发,同时提供在线自助测试、产品发布等多种能力。 测试环境 免费 开发中心上开发的产品(Profile文件和编解码插件)只适用于设备管理服务,不能在设备接入服务中导入和使用。 点击查看更多开发中心,设备接入和设备管理功能和使用限制差异。 父主题: 方案咨询(联通用户专用)
  • deviceId、nodeId和IMEI有什么对应关系? 在物联网平台中,设备注册时,需要填写设备标识码(即nodeId)。设备标识码唯一标识物理设备,通常使用IMEI和MAC地址。 NB-IoT设备:在设备接入物联网平台时携带设备标识码(nodeId),完成设备的接入鉴权。 集成Agent Lite SDK的设备:当设备上电时,携带设备标识码(nodeId)等进行平台绑定,并返回设备ID(deviceId)和密钥。当绑定后设备重新登录时,携带设备ID(deviceId)和密钥完成接入鉴权。 原生MQTT设备:在设备接入物联网平台时携带设备ID(deviceId)和密钥、或者nodeId和密钥,通过一机一密的方式,完成设备的接入鉴权。 更多请参考设备注册鉴权。 父主题: 设备集成(联通用户专用)
  • 在线开发的插件中如何实现命令下发响应? 设备在接收到命令后,可以上报两类消息:ACK和命令下发响应。ACK用于表示命令已经到达设备,命令下发响应用于表示设备执行命令的结果。如果需要设备在接到命令后,需要返回命令下发响应,则: 需要在数据上报消息和命令响应消息中均定义地址域字段(messageId),并且该字段在两种消息的字段列表中的位置必须相同,使编解码插件可以对数据上报消息和命令响应消息进行区分。 需要在命令下发消息和命令响应消息中定义响应标识字段(mid),并且该字段在两种消息的字段列表中的位置必须相同,使编解码插件可以将命令下发消息和对应的命令响应消息进行关联。 在线开发编解码插件时,命令下发响应的实现实例详见命令执行结果的编解码插件在线开发。 父主题: 编解码插件(联通用户专用)
  • 数据转发规则 规则管理为应用服务器提供物联网平台的规则引擎功能,通过设置规则实现业务的联动变化。 规则引擎包含触发源、条件、动作三部分。规则引擎接收触发源事件,满足规则配置的条件后触发相应动作。 触发源:表示触发规则的事件源,当前支持的触发源有设备数据上报和时间。 条件:表示规则触发依赖相关的条件,支持多个条件组合。当前支持的条件数据源有设备数据、定时任务、设备状态、设备周期。 动作:表示当条件成立后,需执行的动作,支持多个动作组合。当前支持的动作有设备命令下发、上报告警、发送SMN消息、转发DIS服务消息、转发OBS服务消息、转发ROMA Connect服务消息、转发IoTA服务消息、转发Kafka消息。 查询规则列表 创建数据转发规则 查询规则 修改规则 消息结构体说明 父主题: 应用侧API参考(联通用户专用)
共100000条
提示

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