查看“华为云:基于示例代码体验物联网上云”的源代码
←
华为云:基于示例代码体验物联网上云
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
https://support.huaweicloud.com/qs-iothub/iot_05_00122.html https://github.com/huaweicloud/huaweicloud-iot-device-sdk-python/blob/main/README_CN.md#6 ==概述== 本文基于Java代码演示设备通过MQTTS/MQTT协议接入华为云物联网平台,通过平台接口实现南向“数据上报”、“命令下发”的功能,通过应用侧的示例代码接收北向服务端订阅的消息示例。以智慧路灯为例,设备将光照强度等信息上报到IoT平台,应用服务器再接收从平台推送来的设备数据。 ==前提条件== 确保开发环境为JDK 1.8及以上版本。 已安装IntelliJ IDEA开发工具。如未安装请访问IntelliJ IDEA官网下载并安装。 ==上传产品模型== 产品模型是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备的功能。 ===操作步骤=== 访问设备接入服务,单击“控制台”进入设备接入控制台。 选择左侧导航栏的“产品”,单击右上角“创建产品”。 在弹出的窗口中,可以参考图中的内容填写。 下载模型文件,该模型文件已开发完毕(由开发产品模型开发完毕的产品模型导出)。详细开发过程指导请参考在线开发产品模型。 创建成功后,单击刚创建的产品,然后单击上传模型文件(无需解压,并且压缩包的名称不能有括号),上传刚下载的模型文件 [[文件:cloud2023041801.png|600px]] ==创建设备== 选择设备接入服务左侧导航栏的“设备 > 所有设备”,单击右上角“注册设备”。 在弹出的窗口中,可以参考图中的内容填写(所属产品需要选择上述步骤创建的产品,密钥不填写,则由平台自动生成,这里是由平台自动生成)然后单击“确定”。 设备创建成功后,需要保存一下设备ID和密钥(后续设备连接的时候需要用到)。 ==导入代码样例== 下载JAVA样例。 打开IDEA开发者工具,点击“ Import Project”。 选择步骤1中下载的样例,然后根据界面提示,单击“next”。 [[文件:cloud2023041803.png|600px]] 完成代码导入。 [[文件:cloud2023041804|600px]] ==建立连接== 设备或网关在接入物联网平台时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。 在建立连接之前,先修改以下参数: <nowiki>//IoT平台mqtt对接地址 static String serverIp = "iot-mqtts.cn-north-4.myhuaweicloud.com"; //注册设备时获得的deviceId,密钥(要替换为自己注册的设备ID与密钥) static String deviceId = "yourDeviceID"; //device_id, 在创建设备时获得 static String secret = "yourSecret"; //secret,在创建设备时获得</nowiki> serverIp为物联网平台设备接入MQTT协议的地址,详细获取方式请参考资源获取。 device_id和secret为设备ID和密钥,在成功创建设备后获取。 完成上述信息的修改后,运行程序,在平台可以看到设备显示在线。 ==属性上报== 属性上报是指设备主动向平台上报自己的属性(该示例代码已实现自动定时上报功能,可参考下一节在iot平台查看设备上报的数据内容)。 <nowiki>//上报json数据,注意serviceId要与产品模型中的定义对应 String jsonMsg = "{\"services\":[{\"service_id\":\"BasicData\",\"properties\":{\"luminance\":32},\"eventTime\":null}]}";</nowiki> 消息体jsonMsg组装格式为JSON,其中service_id要与产品模型中的定义对应,properties是设备的属性; luminance表示路灯亮度; event_time为可选项,为设备采集数据UTC时间,不填写默认使用系统时间。 设备或网关成功连接到物联网平台后,即可调用MqttAsyncClient的publish(String topic,MqttMessage message)方法向平台上报设备属性值。 ==查看上报数据== 运行main方法成功启动后,即可在设备详情页面查看上报的设备属性数据。详细接口信息请参考设备属性上报。 说明: 如果在“设备详情”页面没有最新上报数据,请修改产品模型中服务和属性的内容,确保设备上报的服务/属性和产品模型中的服务/属性一致(如果不一致,则历史数据中看不到设备上报的数据),或者进入“产品 > 模型定义”页面,删除所有服务。 IoT Device SDK(Python)提供设备接入华为云IoT物联网平台的Python版本的SDK,提供设备和平台之间通讯能力,以及设备服务、网关服务、OTA等高级服务,并且针对各种场景提供了丰富的demo代码。 ==前言== iot-device-sdk-python(以下简称SDK)提供设备接入华为云IoT物联网平台的Python版本的SDK,提供设备和平台之间通讯能力, 以及设备服务、网关服务、OTA等高级服务,并且针对各种场景提供了丰富的demo代码。 IoT设备开发者使用SDK可以大大简化开发复杂度,快速的接入平台。 本文通过实例讲述SDK帮助设备用MQTT协议快速连接到华为物联网平台。 华为云官网:https://www.huaweicloud.com/ 点击华为云官网右上角“控制台”进入管理控制台,在页面上方搜索“IoTDA”进入设备接入服务控制台。 ==SDK简介== SDK面向运算、存储能力较强的嵌入式终端设备,开发者通过调用SDK接口,便可实现设备与物联网平台的上下行通讯。SDK当前支持的功能有: *支持设备消息、属性上报、属性读写、命令下发 *支持OTA升级 *支持密码认证和证书认证两种设备认证方式 *支持设备影子查询 *支持网关服务、子设备管理、子设备消息转发 *支持面向物模型编程 *支持自定义topic *支持文件上传/下载 *SDK目录结构 iot_device_sdk_python:sdk代码 iot_device_demo:demo演示代码 iot_gateway_demo:网关与子设备管理demo演示代码
返回至
华为云:基于示例代码体验物联网上云
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息