安服优物联之产品物模型通信的使用方法
时间: 2021-10-22作者:安服优

上周我们和大家分享了关于安服优物联网平台的注册与登录的操作,本周为大家介绍安服优物联网平台的产品物模型通信的使用方法:
首先,如果您的设备是首次接入 AFUIoT ,则您需要进行如下操作:


安服优物联网平台


其次,物联网平台为设备端开发提供了SDK,这些SDK已封装了设备端与物联网平台的交互协议。您可以直接使用设备端SDK来进行开发,如下:

物模型通信SDK使用示例
准备工作

1、使用SDK中的AfuConfig配置类,进行 AfuConfig afuConfig = new AfuConfig();

2、调用afuConfig.setXXX方法设置准备参数,以下是配置类详解:

/**

* 请登录安服优物联网云平台–>个人中心查看
*/
private String userAccessKey = “xxxxxx”;
private String userSecret = “xxxxxx”;
private String version = “1.0”; //默认

/**
* 连接安服优物联网云平台
*/
private String mqttUrl =
“tcp://mqtt.afuiot.com:1883”; //连接安服优物联网云平台MQTT服务器
private String mqttClientId = “xxxxxx”; //用于区分MQTT客户端,每个设备请设置唯一的ClientId
private String productKey = “XXXXXX”; //创建产品后,系统生成,在产品详情页查看
private String deviceName = “XXXXXX”; //创建设备设置的名称
private String deviceSecret = “XXXXXXXXX”; //创建设备后,系统生成,在设备详情页查看

3.AfuConfig配置的信息设置完成,创建 AfuDeviceLinkMqtt 对象,把AfuConfig对象传递入参,如:
AfuDeviceLinkMqtt linkMqtt =new AfuDeviceLinkMqtt(afuConfig);

4.再创建 AfuThingModelKit 对象,把AfuDeviceLinkMqtt对象传递入参,如:
AfuThingModelKit thingModelKit =new AfuThingModelKit(linkMqtt);

物模型方法使用:
//属性上报:默认模块
JSONObject params = new JSONObject();
JSONObject switch1 = new JSONObject();
switch1.put(“value”,”true”); //上报状态值
switch1.put(“time”,System.currentTimeMillis());
params.put(“switch1”,switch1); //switch1为物模型定义的功能标示
thingModelKit.handlePropertySet(params);

//属性上报:自定义模块
JSONObject params = new JSONObject();
JSONObject switch1 = new JSONObject();
switch1.put(“value”,”false”);
switch1.put(“time”,System.currentTimeMillis());
params.put(“1:switch1”,switch1); //1为自定义模块标示,switch1为物模型定义的功能标示
thingModelKit.handlePropertySet(params);

//事件上报:默认模块
JSONObject outParams = new JSONObject(); //输出参数
JSONObject value = new JSONObject();
value.put(“Power”,”off”);
value.put(“WF”,”987654321″);
outParams.put(“value”,value);
outParams.put(“time”,System.currentTimeMillis());
thingModelKit.handleEventSet(null,”defaultTestEvent”,outParams); //defaultTestEvent为事件功能标示

//事件上报:自定义模块
JSONObject outParams = new JSONObject(); //输出参数
JSONObject value = new JSONObject();
value.put(“Power”,”on”);
value.put(“WF”,”123456789″);
outParams.put(“value”,value);
outParams.put(“time”,System.currentTimeMillis());
thingModelKit.handleEventSet(“testEventModel”,”testEvent”,outParams); //testEventModel表示自定义模块标示,testEvent为事件功能标示

//服务上报:默认模块
JSONObject params = new JSONObject();
params.put(“Power”,”on”);
params.put(“WF”,”123456789″);
thingModelKit.handleServiceSet(null,”defaultTestService”,params); //defaultTestService为服务功能标示

//服务上报:自定义模块
JSONObject params = new JSONObject();
params.put(“Power”,”on”);
params.put(“WF”,”123456789″);
thingModelKit.handleServiceSet(“testServiceModel”,”defaultTestService”,params); //testServiceModel为自定义的模块标示,defaultTestService为服务功能标示

完整demo如下:


安服优物联网平台


安服优物联网平台


安服优物联网平台


哈哈,经过优优“声情并茂”地描述,身为开发大牛的您是不是想跃跃欲试了呢,那就行动起来吧,安服优物联网平台欢迎您!

-END-