使用IoT SDK快速体验燃气表云端控制

举报
华为IoT云服务 发表于 2024/09/18 15:04:58 2024/09/18
【摘要】 1       场景介绍华为云物联网平台设备接入云服务(IoTDA)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。本次实验以“燃气表”为例,体验如何使用IoT Device SDK(C)将燃气表接入华为云IoTDA平台。并实现数据上报,获取使用燃气量。实现命令下发,对燃气表进行远程控制...

1       场景介绍

华为云物联网平台设备接入云服务(IoTDA)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。

本次实验以燃气表为例,体验如何使用IoT Device SDKC)将燃气表接入华为云IoTDA平台。并实现数据上报,获取使用燃气量。实现命令下发,对燃气表进行远程控制。


2       环境要求

2.1      开发环境要求:已安装JDK(版本1.8以上)maven 或者有java的集成环境。

2.2      Windows环境验证JDK

Windows环境查看是否安装了JDK

  • cmd进入命令窗口。
  • 输入java -version。若出现版本号,则有JDK。若无,请参考2.4安装


2.3      Windows环境验证Maven

  • cmd进入命令窗口。
  • 输入mvn -v。若出现版本号,则有Maven。若无,请参考2.4安装


2.4      安装配置开发环境

1.安装Java开发环境。

访问Java官网下载并说明安装Java开发环境。注:华为云Java SDK支持Java JDK 1.8 及其以上版本

2.安装Maven软件。

访问Maven官网,下载安装Maven


3       华为注册账号

3.1      注册账户,登录控制台

  • 本次实验需要用到华为帐号。未注册可单击注册页面完成注册。
  • 提前完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。


3.2      开通设备接入服务

1.访问设备接入服务产品首页,单击试用


 

2.进入IoTDA控制台后,点击“开通免费单元”。


 

3.选择“按需计费”,自定义输入实例名称,并单击“立即创建”,即可开通标准版实例免费单元。

注意:请确认开通区域是“华北-北京四”。


 

4.等待实例创建成功后,点击实例对应的卡片,即可进入使用。


 

4       创建产品及设备

4.1      创建产品及设备

1.进入实例后,在IoTDA控制台界面点击“产品>创建产品”。


2.按照下图填写产品信息。点击“确定”。

  • 所属资源控制:选择默认资源空间
  • 产品名称:自定义,如燃气表模型
  • 协议类型:选择“MQTT”
  • 数据格式:选择“JSON”
  • 设备类型选择:选择自定义类型
  • 设备类型:自定义,如自定义燃气表模型

 

 

3.弹窗提示创建产品成功,单击查看详情进入产品详情页。

4.在“基本信息”页签中,点击 “上传产品模型”,选择附件【自定义燃气表模型.zip】,然后点击“确定”完成上传。


添加完成,预览服务列表如下图所示:


4.2      注册设备

1.若是在产品页面,点击左上角箭头,返回主界面。


2.选择左侧导航栏设备>所有设备,单击页面右上角注册设备,填写参数并确定

  • 所属资源空间:选择默认资源空间
  • 所属产品:选择上一步创建的产品燃气表模型
  • 设备标识码:自定义,如“gasMeter01”
  • 设备ID:由平台自动生成的字符串前缀+设备标识码组合而成,自动填充,无需修改
  • 设备名称:自定义,如燃气表ID”
  • 设备认证类型:密钥
  • 密钥/确认密钥:自定义,不少于8位,如12345678 (该密码在后续会用上)


 

3.弹窗提示设备创建成功,关闭弹窗返回设备列表,查看设备状态为未激活。(该页面后续会用到,可以先不关闭)


5       使用Java SDK接入平台(设备侧)

5.1      下载Java SDK

1.解压附件中的iot-java.zip包。进入iot-java目录:


 

2.若是有IDEA或其他java开发工具可用其打开。


5.2      修改代码

1、打开文件:D:\测试\iot-java\src\main\java\org\example\PropertySample.java

2、修改设备初始化接入地址、设备id、密钥。将代码76行替换成对应设备的值,保存文件。

  • 设备域名:设备接入华为云的地址,可参考5.2.1的步骤获取。
  • 设备id:在创建设备中获取到的设备id,可参考5.2.1的步骤获取。
  • 密钥:在创建设备中获取到的设备密钥。如12345678, 可参考5.2.1的步骤获取。


 

5.2.1      获取设备接入地址、设备id、密钥:

1.进入控制台选择左侧导航栏设备>所有设备,点击上一步创建好的设备,进入设备详情页面。

 

2.点击“查看”,可以获得设备接入参数。

 

5.3      编译&运行

Ps: 若使用IDEA或其他java集成开发环境,可以编译后,运行PropertySample.java下的main函数。


1.回到根目录(D:\测试\iot-java)。


2.打开cmd


 

3.在cmd中输入: mvn compile 并回车。(Ps:若是失败,请确定mvn配置是否正确,或者把附件repository.zip解压到mvn库中)


 

4.编译成功后输入:mvn exec:java -Dexec.mainClass="org.example.PropertySample" 并回车。


 

5.若运行成功,cmd显示:


5.4      验证

进入控制台,选择左侧导航栏设备>所有设备。可以在该界面看到设备已经在线。


 

6       实现属性上报

6.1      修改SDK

1.在上一步的基础上,继续修改SDK。打开文件:

D:\测试\iot-java\src\main\java\org\example\PropertySample.java

2.修改代码 124135行并保存修改。


修改成:


6.2      编译&运行

按照5.3步骤再次编译&运行一次即可(命令: mvn compile mvn exec:java -Dexec.mainClass="org.example.PropertySample")。运行成功可以看到cmd界面显示:


6.3      验证

进入控制台选择左侧导航栏设备>所有设备。点击之前创建的设备“gasMeter01”,进入设备详情页。可以在物模型数据中看到具体数据


 

7       实现命令下发(进阶)

7.1      修改sdk代码

  1. 在上一步的基础上,继续修改SDK。打开文件:D:\测试\iot-java\src\main\java\org\example\PropertySample.java
  2. main函数中,新增代码:(在设备初始化与init()之间新增这些代码)
device.getClient().setCommandListener(new CommandListener() {
    @Override
    public void onCommand(String requestId, String serviceId, String commandName, Map<String, Object> paras) {
        log.info("onCommand, serviceId = {}", serviceId);
        log.info("onCommand , name = {}", commandName);
        log.info("onCommand, paras =  {}", paras.toString());

        // 用户可以在该处进行处理命令

        // 发送命令响应
        device.getClient().respondCommand(requestId, new CommandRsp(0));
    }
});

 

7.2      编译&运行

按照5.3步骤再次编译&运行一次即可(命令: mvn compile mvn exec:java -Dexec.mainClass="org.example.PropertySample")。可以看到代码运行界面如下图所示:


 

7.3      验证

1.进入控制台。选择左侧导航栏设备>所有设备 点击之前创建的设备“gasMeter01”,进入设备详情页。

2.在详情页面点击“消息跟踪>启动消息跟踪>确定”。


3.在详情页面点击云端下发 > 命令下发 > 命令下发。在弹出的界面按照下图配置后点击确定。

4.在之前的消息跟踪页面可以看到响应成功:


 

8       后记

Java SDK源码可以在此获取:gitHub。点击“Code-> “Download ZIP”获取java SDK文件。


完成本次体验即可参与抽奖,100%中奖!更有手表、开发板等你来拿!

活动时间:2024年9月10日~2024年10月13日

活动详情>>

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。