我是靠谱客的博主 淡定豆芽,最近开发中收集的这篇文章主要介绍阿里云物联网平台总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基于物模型开发设备步骤:
· 获取设备的身份认证信息。
· 当设备已经获取到IP地址之后,调用SDK提供的API将设备连接到物联网平台并进行认证。
· 当设备连接到阿里云物联网平台并通过认证后,调用SDK提供的API将设备属性的最新数据上报云端。
· 当设备的属性发生变化时,调用SDK提供的API将设备属性的最新数值上报云端。
· 向SDK注册服务处理函数,对收到的服务进行处理。
· 编写设备连接异常断开时的异常处理。

谈一谈我对物联网平台的了解:
首先设备连接进入物联网平台。怎么连接呢,可以WiFi接入,可以以太网接入。、可以网关接入等等。然后开发者设计将三元组等信息保存到每个设备上,当设备上电后,将这些信息从指定位置读取出来传递给SDK。连接可以使用动态注册LinkKit.getInstance().deviceRegister(),(来自于官方文档)
也可以使用LinkKit.getInstance().init()。(来自于iotx-Demo)

SDK是怎么获取设备属性的呢?

1、设备属性上报的话,可以直接使用
LinkKit.getInstance().getDeviceThing().thingPropertyPost()语句。

2、设置设备属性,可以使用DefaultAcsClient创建客户端对象,然后使用getAcsResponse方法来设置设备属性,response = client.getAcsResponse(request);对象。request参数是 SetDevicePropertyRequest对象。

3、设备端上报事件

 LinkKit.getInstance().getDeviceThing().thingEventPost( identifyID,  params, new IPublishResourceListener() {

            public void onSuccess(String s, Object o) {
                // 属性上报成功
                ALog.i(TAG, "上报成功 onSuccess() called with: s = [" + s + "], o = [" + o + "]");
            }

            public void onError(String s, AError aError) {
                // 属性上报失败
                ALog.i(TAG, "上报失败onError() called with: s = [" + s + "], aError = [" + JSON.toJSONString(aError) + "]");
            }
        });

4、执行服务
InvokeThingServiceRequest

InvokeThingServiceRequest request = new InvokeThingServiceRequest();
response = client.getAcsResponse(request);

整个方法如下:

public static InvokeThingServiceResponse.Data InvokeThingService(String IotId, String ProductKey, String DeviceName,
                                                                     String Identifier, String Args) {
        InvokeThingServiceResponse response =null;
        InvokeThingServiceRequest request = new InvokeThingServiceRequest();
        request.setArgs(Args);
        request.setDeviceName(DeviceName);
        request.setIotId(IotId);
        request.setIdentifier(Identifier);
        request.setProductKey(ProductKey);

        try {
            response = client.getAcsResponse(request);

            if (response.getSuccess() != null && response.getSuccess()) {
                LogUtil.print("服务执行成功");
                LogUtil.print(JSON.toJSONString(response));
            } else {
                LogUtil.print("服务执行失败");
                LogUtil.error(JSON.toJSONString(response));
            }
            return response.getData();

        } catch (ClientException e) {
            e.printStackTrace();
            LogUtil.error("服务执行失败!" + JSON.toJSONString(response));
        }
        return null;
    }

通信方式概述一定要看
物联网平台流转数据到服务器
在这里插入图片描述
服务器远程控制设备
在这里插入图片描述物联网平台通信理解:
从上面两个图可以看到,我们有物联网通信包括设备、云平台、企业服务器,主要这三个部分。
设备需要和云平台建立连接。
设备属性上报流程:
1、设备中应该有个文件存储现在设备信息,比如空调中应该有一个文件存储空调现在的温度、湿度、风力等级这些信息。
2、设备端SDK可以使用文件输入流或者读取properties文件获取设备目前运行信息。
3、接下来,设备端SDK可以使用thingPropertyPost方法上报设备属性给云平台。
4、云平台支持多种设备数据流转(设计服务端订阅、消费组)。

设备事件上报类似,使用的方法是thingEventPost方法。

设置设备属性:
1、企业服务器直接调用setDevicePtoperty方法通知云平台。
2、物联网平台接收到设置设备属性请求后,发送设置设备属性请求给设备。
3、设备端SDK收到请求之后,就设置设备属性。

服务端调用设备服务类似于设置设备属性

最后

以上就是淡定豆芽为你收集整理的阿里云物联网平台总结的全部内容,希望文章能够帮你解决阿里云物联网平台总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部