基于物模型开发设备步骤:
· 获取设备的身份认证信息。
· 当设备已经获取到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收到请求之后,就设置设备属性。

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

阿里云物联网平台总结相关推荐

  1. 阿里云物联网平台python开发手册_阿里云物联网平台体验(树莓派+Python篇)

    虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了阿里云物联网团队从几十人到数百人的迅速扩张,其物 ...

  2. http发送16进制报文_阿里云物联网平台使用心得(25)MQTT协议详解UNSUBSCRIBE报文...

    题目 大家好,超子又和大家见面了,超子我能力有限,水平不高,有什么错误的地方,欢迎板砖.超子今天给大家介绍一下UNSUBSCRIBE报文. UNSUBSCRIBE报文 从上图中可知,UNSUBSCRI ...

  3. 阿里云物联网平台专题讲座

    2019独角兽企业重金招聘Python工程师标准>>> 课程链接:阿里云物联网平台专题讲座 课程介绍 物联网平台是阿里云专门为物联网领域的开发人员推出的,其目的是帮助开发者搭建安全性 ...

  4. 利用rfcomm实现树莓派与手机通信_工业物联网 | 怎么用NodeRed实现树莓派与阿里云物联网平台通信?虹科告诉你!...

    想获取更多IIOT干货 请点击蓝字,关注我们 虹科工业树莓派 高性能 多接口 宽温--适应恶劣环境 ★★★★★ Node-RED是构建物联网(IoT)应用程序的强大工具,它使用可视化的编程方法,允许开 ...

  5. mqtt协议详解_阿里云物联网平台使用心得(七)MQTT协议14个报文总览

    大家好,物联网爱好小组成员超子,又和大家见面了,超子我能力有限,水平不高,有什么错误的地方,欢迎板砖.超子将参考<MQTT-3.1.1标准协议中文版>PDF手册,详解每个报文的格式,以及如 ...

  6. 基于阿里云物联网平台,我们这样实现简易出入监控

    本文通过一个简单实例,主要介绍了如何使用树莓派快速接入阿里云iot platform,并实现了一个简易的监控人员出入并拍照上送钉钉群的场景 场景 在公司大门入口处布点树莓派和红外感应,实现出入口人员出 ...

  7. 阿里云物联网平台体验(树莓派+Python篇)

    阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了 ...

  8. 安卓mqtt调试工具_MOTT工具调试阿里云物联网平台

    MOTT工具调试阿里云物联网平台 1.注册账号并进入物联网模块 2.创建产品.设备 3.获取设备三元素 ProductKey:a1XZkC0rJrP DeviceName:ludeng01 Devic ...

  9. 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > CoAP协议接入 >

    CoAP连接通信 更新时间:2020-08-27 17:20:05 编辑我的收藏 本页目录 基础流程 使用对称加密自主接入 使用DTLS自主接入 物联网平台支持CoAP协议连接通信.CoAP协议适用在 ...

  10. Python模拟智能开关设备MQTT接入阿里云物联网平台 - PyCharm paho.mqtt

    概要 Python 使用 paho.mqtt 库,利用阿里云物联网平台的设备证书:productKey.deviceName.deviceSecret,自动合成 userName.passWord.以 ...

最新文章

  1. 5G的未来投资机会在哪里?
  2. 图像分割(Image Segmentation)
  3. 2013年人人校园招聘笔试题
  4. php 多个 csv 文件,php - 如何将CSV文件上传到多个数据库目录中? - SO中文参考 - www.soinside.com...
  5. js svg 转成文件_如何缩小 SVG 文件的大小?去掉冗余的标签,压缩它的大小
  6. php mvc urlencode,PHP – LIUGUOFENG
  7. Linux cat命令:连接文件并打印输出到标准输出设备
  8. c语言中如何存储日志,C语言解析日志,存储数据到伯克利DB
  9. 特征工程框架及技术要点
  10. shǎ崽 OrOrOrOrz
  11. centos6.5 安装svn可视化管理工具 if.svnadmin
  12. ftp连接服务器连接不上,xshell可以连接上
  13. Android studio 突然连接不上夜神模拟器
  14. 快速获取InputBox选中区域的单个单元格引用地址
  15. 企业口碑营销如何做好,可运用这5T理论
  16. 太厉害了,终于有人能把Ansible讲的明明白白了,建议收藏
  17. c++ packaged_task
  18. ftp 发生意外错误 0x8ffe2740
  19. 武田收到CHMP肯定意见,推荐ALUNBRIG(R) (brigatinib)用于治疗既往用过克唑替尼的ALK+非小细胞肺癌患者
  20. CDNow网站用户消费行为分析

热门文章

  1. FOne CodeSec代码泄露检测工具
  2. “数智话”技术沙龙 第四期 | 弹性MapReduce(EMR)专场内容回顾!
  3. 实用网站推荐(3):菜鸟教程
  4. AI与未来文明:人工智能能否重塑人类文化,改变社会生活?
  5. [机缘参悟-28]:鬼谷子-内揵篇-保全自己,说服上司
  6. 计算机三级网络技术最全知识点总结三
  7. Cesium学习笔记
  8. iOS 仿百度外卖,饿了么-商品列表页
  9. 父进程与子进程间相互发送信号
  10. 流形上的微积分和微分形式的可视化导论(一)