更新时间:2025-08-13 GMT+08:00
使用代码生成器
概述
SDK提供了设备代码生成器,需要下载SDK源码。用户只需要提供产品模型文件,就能自动生成设备代码框架。代码生成器可以解析设备模型文件,然后对模型里定义的每个服务,生成对应的service类,然后生成一个设备主类,在main函数中创建设备并注册设备服务实例。
操作步骤
- 生成物模型代码。
- 下载huaweicloud-iot-device-sdk-java工程,解压缩后进入huaweicloud-iot-device-sdk-java目录执行“mvn install”。
图1 执行编译命令
- 执行完成会在iot-device-code-generator的target下生成可执行jar包。
图2 生成可执行jar包
- 将产品模型文件保存到本地,比如模型文件“smokeDetector.zip”放到D盘。
- 访问SDK根目录,执行“java -jar .\iot-device-code-generator\target\iot-device-code-generator-1.2.0-with-deps.jar D:\smokeDetector.zip”。
图3 执行代码生成命令
- 查看huaweicloud-iot-device-sdk-java目录下已生成generated-demo包则设备代码成功生成。
图4 代码生成成功
- 下载huaweicloud-iot-device-sdk-java工程,解压缩后进入huaweicloud-iot-device-sdk-java目录执行“mvn install”。
- 编译及运行物模型代码。
- 访问“huaweicloud-iot-device-sdk-java\generated-demo”,执行“mvn install”。
- 执行java -jar .\target\iot-device-demo-ganerated-1.2.0-with-deps.jar ssl://域名信息:8883 device_id secret,三个参数分别为设备接入地址、设备id和密码,运行生成的demo。
D:\git\huaweicloud-iot-device-sdk-java\generated-demo>java -jar .\target\iot-device-demo-ganerated-1.2.0-with-deps.jar ssl://域名信息:8883 5e06bfee334dd4f33759f5b3_demo secret 2024-04-17 15:50:53 INFO AbstractService:73 - create device, the deviceId is 5e06bfee334dd4f33759f5b3_demo 2024-04-17 15:50:54 INFO MqttConnection:204 - try to connect to ssl://域名信息:8883 2024-04-17 15:50:55 INFO MqttConnection:228 - connect success, the uri is ssl://域名信息:8883
- 访问“huaweicloud-iot-device-sdk-java\generated-demo”,执行“mvn install”。
- 修改物模型代码。生成的代码已经完成了服务的定义和注册,用户只需要进行少量的修改即可。