石家庄网站建设的公司,重庆招生官网,建设网站必须用dns,品牌建设情况评估通过本入门教程#xff0c;大家能了解到如何在涂鸦 IoT 开发平台上使用 TuyaLink 完成智能设备接入。并通过 Java 程序#xff0c;在 IntelliJ IDEA 中使用 TuyaLink 的 GitHub Demo 工程#xff0c;对一个电工开关设备#xff0c;实现基本的数据上报下发功能。
准备工作 …通过本入门教程大家能了解到如何在涂鸦 IoT 开发平台上使用 TuyaLink 完成智能设备接入。并通过 Java 程序在 IntelliJ IDEA 中使用 TuyaLink 的 GitHub Demo 工程对一个电工开关设备实现基本的数据上报下发功能。
准备工作
注册一个涂鸦开发者账号用来创建和管理您的云端设备。
第一步生态设备接入
步骤一创建产品
产品是涂鸦定义一类设备的抽象描述用于对同类设备进行管理。例如如果您有一台具备蓝牙控制能力的跑步机需要接入涂鸦 IoT 开发平台完成设备监控则您可以定义它为一个 智能跑步机 产品。本步骤介绍如何创建一个智能化方式为 生态设备接入 的产品 登录 涂鸦 IoT 开发平台。 单击 创建产品。 根据您已有的智能设备分类选择产品类目确定具体产品。例如 电工 开关。 在 选择智能化方式 处选择 生态设备接入。 默认选择 TuyaLink 自定义方案。 根据页面提示完善产品基本信息。
步骤二功能定义
创建产品后您会进入 功能定义 菜单您可以根据设备的已有功能进行添加。 单击 添加功能 按钮定义一个最基本的功能如调光开关 1。 单击 确定添加完成。
步骤三设备开发和激活验证 切换至 设备开发 菜单选择 开放协议接入单击 下一步。 根据接入指南的内容说明您可以选择 Tuya MQTT 标准协议 或 Tuya IoT Core SDK。本文介绍 Tuya MQTT 标准协议 接入方式。 进入激活验证流程您可以选择免费领取授权码或购买授权码来激活您的设备。本步骤选择 免费领取授权码。 等待 1 分钟左右获取到免费的授权码后您可以单击 注册设备 来生成一个可用于测试验证的设备。 在 注册设备 页面选择注册方式并分配注册 ID。 设备注册成功后您可以在激活验证页面获取设备的标识信息。 标识示例注册 IDnFUDM2LnPFuL5jTrW***ProductIDgmabzdwevsvlt***DeviceID6cc87b39369b6fb754i***DeviceSecret***************** 对于一般的物联网场景获取到设备的 ProductID、DeviceID 和 DeviceSecret 便可以满足设备上报数据到云端的需求也就是通常意义的设备数据采集。TuyaLink 通过 MQTT 上报设备数据。 第二步下载和适配 Demo
接下来您将通过 Java 代码的方式接入涂鸦 IoT 开发平台实现设备的数据上报功能。Java 代码运行在相应实体主机上即可代表真实设备。 前往 GitHub 下载 Tuyalink Demo。 将下载的示例代码解压导入到 IntelliJ IDEA。 进入核心示例代码 TuyaMQTT3ClientDemo。 将在上文获取的 ProductID、DeviceID 和 DeviceSecret 信息替换到 TuyaMQTT3ClientDemo 如下位置 // TuyaLink device configuration is as follows, you must change it
String productId dsadus***;
String deviceId 6cc87b393436fb754i***;
String deviceSecret ffad8e******8c717;第三步设备上报数据
设备属性上报
topictylink/${deviceId}/thing/property/report
{msgId:45lkj3551234***,time:1626197189638,data:{switch_led_1:{value:true,time: 1626197189638}}
}参数说明
参数类型说明必选备注${deviceId}string设备 ID是要查询设备模型的具体设备。versionstring协议版本否默认值为 1.0且仅有 1.0。msgIdstring消息 ID是总长度不超过 32 位的字符请求和响应消息通过该值建立应答关系。timenumber消息时间戳是消息发送时的 Unix 时间戳10 位秒级或 13 位毫秒级。dataobject上报的属性值集合是key 为属性 codevalue 为属性值和属性变更时间戳。data.${key}object属性上报对象是key 为属性 code。data.${key}.timenumber属性变更时间戳是Unix 时间戳10 位秒级或 13 位毫秒级。data.${key}.valueobject属性上报值是具体的属性值。
代码示例如下 //****************************************device property report********************************************// Property report topicString topic tylink/ deviceId /thing/property/report;// Current timestamplong timestamp System.currentTimeMillis();// Property report contentString content {\n \t\msgId\:\45lkj3551234002\,\n \t\time\: timestamp ,\n \t\data\:{\n \t\switch_led_1\:{\n \t\value\:true,\n \t\time\: timestamp \n }\n \t}\n };MqttMessage message new MqttMessage(content.getBytes());message.setQos(1);sampleClient.publish(topic, message);System.out.println(publish topic: topic);System.out.println(publish content: content);此处的设备属性字段需要跟涂鸦 IoT 开发平台功能定义对应的标识符一致。 在线调试 代码调整好后打开涂鸦 IoT 开发平台在接入使用流程中选择 在线调试。 可选或者在产品开发页面直接跳转到 在线调试 页面然后单击 前往设备调试。 选择需要调试的设备可以选择跟上述代码配置中一致的设备 ID。 选择设备后可以实时看到设备的在线状态也可单击 手动刷新 获取最新的状态。 至此准备工作完毕右键 TuyaMQTT3ClientDemo 文件单击 Run 运行代码。 可以看到控制台属性已上报成功。 此时切换到涂鸦 IoT 开发平台的 设备调试 页面可以看到设备上报的数据日志。
第四步向设备下发消息
上一步您已经体验了设备上报数据到云端本小节将演示如何向设备下发消息。
返回 涂鸦 IoT 开发平台。前往设备调试页面。调整为您分配了授权码的设备。 在属性调试对应参数中填入参数值单击 设置。此时云端的指令会下发到设备您可以看到日志区域已经显示下发给到设备的内容。 返回还在运行中的 Java 代码中IDEA 的控制台输出如下内容。
下一步
已经通过 Java 代码运行的程序模拟了真实设备和云平台之间设备上报下发的全流程。基于下载的 Demo 程序可以快速验证您项目所需的业务场景。
接下来可根据设备分类继续 创建产品。