云端下发指令:企业服务器下发指令到物联网设备
有兴趣了解企业服务器通过 AMQP 接入物联网平台的可以看我上一篇文章,下面说一下企业服务器下发指令到物联网设备,修改设备属性一、创建产品与设备还不清楚的查看下面文档https://help.aliyun.com/document_detail/73705.html?spm=a2c4g.11186623.6.566.27647cbcrXNYwD二、下发指令修改属性创建maven项目引入如下依赖&l
·
有兴趣了解企业服务器通过 AMQP 接入物联网平台的可以看我上一篇文章,下面说一下企业服务器下发指令到物联网设备,修改设备属性
一、创建产品与设备
还不清楚的查看下面文档
https://help.aliyun.com/document_detail/73705.html?spm=a2c4g.11186623.6.566.27647cbcrXNYwD
二、下发指令修改属性
创建maven项目引入如下依赖
<!--IoT Java SDK的Maven依赖坐标:-->
<!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-iot -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-iot</artifactId>
<version>6.8.0</version>
</dependency>
<!--阿里云公共包依赖坐标 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.5.1</version>
</dependency>
Java代码下发指令到灯设备,修改设备开关属性为0
package org.example;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.iot.model.v20180120.SetDevicePropertyRequest;
import com.aliyuncs.iot.model.v20180120.SetDevicePropertyResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import org.json.JSONObject;
public class App {
public static void main(String[] args) throws ClientException {
//将光标定位到账号头像上,选择accesskeys,如果使用子账户 RAM 的accesskeys记得授权物联网平台权限
String accessKey = "LTAxxxxxxxxxxxxxxZr";
String accessSecret = "jxxxxxxxxxxxxxxxxxxAkeR";
DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Iot", "iot.cn-shanghai.aliyuncs.com");
IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", accessKey, accessSecret);
DefaultAcsClient client = new DefaultAcsClient(profile);
SetDevicePropertyRequest request = new SetDevicePropertyRequest();
//ProductKey 以及 DeviceName可以在设备信息详情页获取
request.setProductKey("a1Ixxxxxxez6");
request.setDeviceName("Dexxxxxht1");
JSONObject itemJson = new JSONObject();
//该选项为当前设备属性,下面给出具体位置
itemJson.put("LightSwitch", 0);
request.setItems(itemJson.toString());
try {
SetDevicePropertyResponse response = client.getAcsResponse(request);
System.out.println(response.getRequestId() + ", success: " + response.getSuccess());
} catch (ClientException e) {
e.printStackTrace();
}
}
}
三、灯产品的详细信息
此测试修改的设备信息如下
1、基础信息
2、产品属性
3、属性是否可修改
点击查看,发现此产品开关属性支持修改
四、测试
1、打开在线测试
从上到下依次选择产品设备,选择获取设备的开关属性,得到返回结果为 1
2、运行程序,修改设备属性为 0
运行结果如下,返回 true ,表示修改成功
3、如下,可以看到灯设备开关属性已经修改为 0
注意:修改设备属性是一定要保证,属性名以及属性值范围与产品预定义一直,否则会报错
更多推荐
所有评论(0)