A-设备物模型详解

一、设备物模型详解

物模型从属性、服务和事件三个维度,分别描述了其在物理空间中指代的实体是什么,能够做什么,能够对外提供哪些信息。从这三个维度定义好产品相应的物模型之后,也代表定义好了该产品的功能定义。在完成产品功能定义后,系统将自动生成该产品的物模型。

当设备的物模型发生变化,若设备已经连接到云端,那物模型的变化将会通过云智易提供的硬件 XAPP SDK,同步到云端上,以便厂商在云平台查看与收集设备的运行状态的变化。

1、物模型的智能转换

XAPP SDK 中提供了一个创建服务及属性的对象TMLAttributeRequestBuilder,只需要在addInput方法传入id和value,通过toJsonString可以转换物模型协议中所需要的json数据

String content = new TMLAttributeRequestBuilder()
                    .addInput("scene_id", sceneId)
                    .toJsonString();
            Task task = XLinkTMLInvokeServiceTask.newBuilder()
                    .setSendPolicy(XLinkSendDataPolicy.LOCAL_ONLY)
                    .setXDevice(device)
                    .setTmlServiceName(ProtocolConstant.TML_SERVICE_EXECUTE_SCENE)
                    .setTmlDataPayload(content)
                    .setListener(new TaskListenerAdapter<XLinkTMLServiceInvoke>() {
                        @Override
                        public void onError(Task<XLinkTMLServiceInvoke> task, Throwable error) {
                            super.onError(task, error);
                            System.err.println("服务调用失败了" + error.toString());
                        }

                        @Override
                        public void onComplete(Task<XLinkTMLServiceInvoke> task, XLinkTMLServiceInvoke result) {
                            super.onComplete(task, result);
                            System.err.println("服务调用成功了" + result);
                        }
                    })
                    .build();
            XLinkSDK.startTask(task);
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题