本文介绍如何快速连接到物联网平台,以及对物模型的基本使用
前提条件
已经在devops完成产品和设备的创建,如要实现属性事件方法等操作,需要提前定义好物模型。
依赖引入
<dependency><groupId>com.cainiao.iot</groupId><artifactId>loginx-device-sdk</artifactId><version>5.0.1</version></dependency>
样例代码
//本示例使用扫码注册的方式获取设备政策,更多方法见设备注册DeviceRegister register = new DeviceRegister();DeviceRegister.Registration registration = new DeviceRegister.Registration();registration.setDeviceType(deviceType);registration.setDeviceName(deviceName);DevicePolicy policy = register.registerByUrl(registerUrl, registration);//这一步用户持久化获得的policy到本地//设备连接操作,policy从本地获取Device device = new Device(policy);device.init();//设备上报属性Map<String, ValueWrapper> propertyValueMap = new HashMap<>();propertyValueMap.put("testProperty", new ValueWrapper.StringValueWrapper("test"));device.postProperty(propertyValueMap , null);//设备上报事件Event event = new Event();event.setName("notify");Map<String, ValueWrapper> params = new HashMap<>();params.put("param", new ValueWrapper.StringValueWrapper("ok"));event.setParams(params);device.postEvent(event, null)//设备注册方法device.registerAsyncMethod("asyncPushMessage", new ITResRequestHandler() {@Overridepublic void onProcess(String s, Object request, ITResResponseCallback itResResponseCallback) {System.out.println("Receive params:" + request);OutputParams outputParams = new OutputParams();outputParams.put("result", new ValueWrapper.StringValueWrapper("ok"));itResResponseCallback.onComplete("syncPushMessage",null, outputParams);}@Overridepublic void onSuccess(Object o, OutputParams outputParams) {}@Overridepublic void onFail(Object o, ErrorInfo errorInfo) {}});
