更新时间:2025-08-13 GMT+08:00

使用代码生成器

概述

SDK提供了设备代码生成器,需要下载SDK源码。用户只需要提供产品模型文件,就能自动生成设备代码框架。代码生成器可以解析设备模型文件,然后对模型里定义的每个服务,生成对应的service类,然后生成一个设备主类,在main函数中创建设备并注册设备服务实例。

操作步骤

  1. 生成物模型代码。
    1. 下载huaweicloud-iot-device-sdk-java工程,解压缩后进入huaweicloud-iot-device-sdk-java目录执行“mvn install”
      图1 执行编译命令
    2. 执行完成会在iot-device-code-generator的target下生成可执行jar包。
      图2 生成可执行jar包
    3. 将产品模型文件保存到本地,比如模型文件“smokeDetector.zip”放到D盘。
    4. 访问SDK根目录,执行“java -jar .\iot-device-code-generator\target\iot-device-code-generator-1.2.0-with-deps.jar D:\smokeDetector.zip”
      图3 执行代码生成命令
    5. 查看huaweicloud-iot-device-sdk-java目录下已生成generated-demo包则设备代码成功生成。
      图4 代码生成成功
  2. 编译及运行物模型代码。
    1. 访问“huaweicloud-iot-device-sdk-java\generated-demo”,执行“mvn install”

    2. 执行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
  3. 修改物模型代码。生成的代码已经完成了服务的定义和注册,用户只需要进行少量的修改即可。
    • 命令接口,需要添加具体的实现逻辑。

    • getter方法,生成的代码是返回随机值,需要改为从传感器读取数据。
    • setter方法,生成的代码只完成了属性的修改保存,还需要添加真实的逻辑处理,比如向传感器下发指令。