检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表2 费用对比 项目 华为云IoT服务 企业基于开源MQTT集群自研(以华为云资源为参考) 云资源费用 以购买1个S2中频单元为例,注册设备数上限20万,同时在线设备数上限1万,每日消息数上限4,000万,上下行消息TPS峰值1,000TPS。 总费用:30,000元/年。
若您想要进一步体验设备接入服务,可参考虚拟智慧路灯与平台通信进行自定义产品,用虚拟设备和虚拟应用来体验平台的基本功能及开发流程。 父主题: 设备快速接入—属性上报与命令接收
您也可以使用模拟器模拟设备上报数据,操作方法请参考在线开发MQTT协议的智慧路灯。 登录OBS管理控制台,单击桶名称进入桶管理页面后,在“对象”页面可以查看到设备上报的数据。 图5 OBS服务查询上报数据 您也可以使用OBS的API(获取对象内容)进行文件读取。
配置设备侧使用JAVA SDK进行同步命令下发的开发步骤如下,本示例使用的开发环境为JDK 1.8及以上版本。 配置设备侧SDK的Maven依赖。
您也可以使用模拟器模拟设备上报数据,操作方法请参考在线开发MQTT协议的智慧路灯。 期望结果: 登录RocketMQ控制台, 单击“消息查询”, 选择查询的topic即可看到推送至RocketMQ的消息。 图4 验证消息 父主题: 数据转发至华为云服务
前提条件 熟悉Python语言开发环境配置,熟悉Python语言基本语法。 开发环境 本示例使用了Python 3.8.8版本。 添加依赖 本示例使用的Python语言的Mqtt依赖为paho-mqtt(本示例使用版本为2.0.0),可以通过以下命令下载依赖。
您也可以使用模拟器模拟设备上报数据,操作方法请参考在线开发MQTT协议的智慧路灯。 期望结果: 登录Kafka管理控制台,单击Kafka实例名进入实例管理页面后,在“消息查询”页面可以查看到设备上报的数据。
您也可以使用模拟器模拟设备上报数据,操作方法请参考在线开发MQTT协议的智慧路灯。 期望结果: 登录OBS的管理控制台,单击进去2中创建的桶,再单击进去3中创建的文件夹可以看到最新由DIS转发至OBS的数据。 图6 查看OBS数据 父主题: 数据转发至华为云服务
IOTDA.014016表示设备不在线;IOTDA.014112表示设备没有订阅topic。 error_msg String 参数说明:异常信息说明,包含设备不在线和设备没有订阅topic说明。 请求示例 列表查询所有消息。
配置Maven依赖,本示例使用的开发环境为JDK 1.8及以上版本。SDK代码获取:SDK下载。
选择触发设备状态: 上线:设备由离线状态转变为在线状态。 下线:设备由在线状态转变为离线状态。 上下线:设备状态发生变更。 状态持续时长:设备状态发生变更后,新状态的持续时长,单位:分钟,可选0-60分钟。 执行动作 单击“添加动作”,设置在规则触发后,需要执行的动作。
提供在线签发设备证书能力 设备发放能提供在线签发设备证书能力,设备厂商无需加密管理设备的CA证书和设备证书,或者具备PKI证书颁发能力,通过设备发放在线签发设备证书,实现设备的安全认证。 具体使用示例参考MQTT 华为云证书注册组发放示例。
此接口仅创建了产品,没有创建和安装插件,如果需要对数据进行编解码,还需要在平台开发和安装插件。 调用方法 请参见如何调用API。
平台感知设备是否在线,当设备在线时立即下发配置给设备。当设备不在线时,等待设备上线订阅远程配置Topic,平台感知设备上线后下发配置。在创建远程配置任务时可以选择配置超时时间(1-30天),默认30天。 设备完成配置更新后,调用远程配置响应接口向物联网平台反馈配置更新结果。
编解码插件开发方法 物联网平台提供了多种开发编解码插件的方法,您可以根据自己需求,选择对应的方法开发编解码插件。由于离线开发编解码插件的方法较为复杂,且耗时比较长,我们推荐使用图形化开发编解码插件和脚本化开发。
通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。
您也可以使用模拟器模拟设备属性上报,操作方法请参考在线开发MQTT协议的智慧路灯。 期望结果:能在用户服务端日志中查看到设备上报的数据。 图14 期望结果 父主题: 数据转发至华为云服务
您也可以使用模拟器模拟设备上报“batteryLevel”小于20的数据,操作方法请参考在线开发MQTT协议的模拟智慧路灯。 您还可以使用虚拟设备进行在线调试,上报“batteryLevel”小于20的数据。
开发环境 本示例所使用的开发环境为Node.js 8.0.0及以上版本。请前往Node.js官网下载。安装成功之后可以通过以下命令查看node版本。 node --version 如果能够查询到node版本,且版本高于8.0.0则代表安装成功。
前提条件 熟悉Go语言开发环境配置,熟悉Go语言基本语法。 开发环境 本示例使用了Go 1.18版本。