本文介绍如何快速连接到物联网平台,以及对物模型的基本使用

前提条件

已经在devops完成产品和设备的创建,如要实现属性事件方法等操作,需要提前定义好物模型。

依赖引入

  1. <dependency>
  2. <groupId>com.cainiao.iot</groupId>
  3. <artifactId>loginx-device-sdk</artifactId>
  4. <version>5.0.1</version>
  5. </dependency>

样例代码

  1. //本示例使用扫码注册的方式获取设备政策,更多方法见设备注册
  2. DeviceRegister register = new DeviceRegister();
  3. DeviceRegister.Registration registration = new DeviceRegister.Registration();
  4. registration.setDeviceType(deviceType);
  5. registration.setDeviceName(deviceName);
  6. DevicePolicy policy = register.registerByUrl(registerUrl, registration);
  7. //这一步用户持久化获得的policy到本地
  8. //设备连接操作,policy从本地获取
  9. Device device = new Device(policy);
  10. device.init();
  11. //设备上报属性
  12. Map<String, ValueWrapper> propertyValueMap = new HashMap<>();
  13. propertyValueMap.put("testProperty", new ValueWrapper.StringValueWrapper("test"));
  14. device.postProperty(propertyValueMap , null);
  15. //设备上报事件
  16. Event event = new Event();
  17. event.setName("notify");
  18. Map<String, ValueWrapper> params = new HashMap<>();
  19. params.put("param", new ValueWrapper.StringValueWrapper("ok"));
  20. event.setParams(params);
  21. device.postEvent(event, null)
  22. //设备注册方法
  23. device.registerAsyncMethod("asyncPushMessage", new ITResRequestHandler() {
  24. @Override
  25. public void onProcess(String s, Object request, ITResResponseCallback itResResponseCallback) {
  26. System.out.println("Receive params:" + request);
  27. OutputParams outputParams = new OutputParams();
  28. outputParams.put("result", new ValueWrapper.StringValueWrapper("ok"));
  29. itResResponseCallback.onComplete("syncPushMessage",null, outputParams);
  30. }
  31. @Override
  32. public void onSuccess(Object o, OutputParams outputParams) {
  33. }
  34. @Override
  35. public void onFail(Object o, ErrorInfo errorInfo) {
  36. }
  37. });