开发者学堂课程【分布式系统开发调度技术:LinkPlatform 简介与开发入门】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/558/detail/7669
LinkPlatform 简介与开发入门(二)
二、阿里云 loT 物联网平台
1.loT 产品架构
自建物联网平台架构
关于自建物联网:首先会需要有很多设备,可能很多协议来介入,就要适配不同的协议,同样可能一台服务器不能扛得住,需要负载均衡,产生 MQTT 集群。就涉及到海量的实时的非结构化的数据怎么存储。 存储下来还涉及到数据,怎么分析,这个分析能力,海量数据的分析、数据可视化、大数据分析。这都是问题。而且要长期维护的成本。 物联网开发架构
我们的物联网: 首先都会有设备,会有网络接入,网络接入,普通的2G、3G WiFi3D 软件上面会有企业自己的服务器和自己的应用,这个是避免不了的,即使使用阿里云,这些也是自己要负责。 阿里云提供的就是,在设备端上有一个接入的SDK,建立一个加密的通道,而且它是双向的,数据可以上行,也可以下行。通道上来的话,物联网平台,可以把数据发到自己的存储在阿里云上买的持续的数据库。那同样这些数据存下来就可以在阿里云做计算。阿里云计算其实已经有十多年了,就已经很成熟了。 阿里云 loT 物联网平台 产品官网∶https∶//aliyun.com/product/iot 阿里云loT全球服务区域: 硅谷、弗吉尼亚、法兰克福、东京、华东2、新加坡。 loT on 阿里云
如果我们设备接进来,大概有哪些?就在端上我们提供了可行有直连的设备,可能直接联网,互联网平台就是设备本身会有一定的能力,有一定的存储空间。 那这时候我们有直连的SDK,那可以通过我们提供的坦克弟弟或者国外的这种协议接进来。那同样有一些设备呢,他可能。本身用的其他协议,或者本身缺少这种联网能力,就比如说我楼宇里有些设备可能是通过楼宇的一个网关来接入案例,那这时候你的设备是跟你网关,是一个自己私有的协议,可以通信,那我们同样提供了网关的这个 SDK,它通过这个 SDK 就能轻松地把它的子设备传输上来的时候,用的是网关的一条通道,传的是多个设备的数据通道,这一条如果直连的话,你有十台设备就是个通道。 那这边还有还有一些设备,像工业场景,它会涉及到边缘计算的场景。 是我的,是我工厂运行的时候,数据是在我工厂内部局域网就流转,就直接做决策,就说这个流水线,我是该进那个那个作业的,那个流水线的占该进一战还是二战三战,这种是在边缘时就做了决策,那这个规则是可以通过。 工厂的一些不同的协议转换会有设备管理,就是他对他的设备管理,那消息的分发,还有一个数据的数据库的一个存储,其实有时候网络不是特别通畅,然后本地的就是先存在我的店铺上,同样还有函数计算还是计算是可以做一些规则是我原配哪些规则,那我直接可以在这个本地的一个函数计算容器里执行,那就是这部分角色就不需要走互联网对适应工厂那些市场,那同样我们还提供了一个阿里 OS 这样一个物联网的操作系统,就类似这样,他也是一个实时操作系统,这个操作系统其实已经成了我们SDK 就是你的硬件如果刷掉一个操作系统,完全不需要再考虑 SDK 的行为本身就有。那同时还有一些场景是我们有一些既有的设备,他已经本身有采集数据,之前没有考虑过要出去上,或者这种联网的时候我们是提供一个办法。 这个通道那剩下还有对设备的管理,设备的注册,模型设备升级,然后这边规则引擎就是把你的数据转存到你自己的数据库里,有一款是简单的关系型存储。或者是实时计算存储,还有些场景是直接流转到我们自己的,嗯
(2)设备端接入
前两个是长链接。第三个 HTTPS 是短连接。它只能数据上行,因为有些场景不需要下发,只需要上报的采集数据,像这种其实就不需要实时的建立那个 FTP 的 TCP通道,只需要每天固定的一个时间段联系上报,上报一下数据就OK了。 然后第四个是适合我们手机做连接的方式,就是我们前面看到那个人脸识别的方式来推送过去的连接。
设备接入 SDK
设备接入SDK: 首先有很多传感器,接入主板。主板上会有我们企业自己的业务逻辑和应用程序,应用程序里面接入我们SDK。接到这个数据,是企业应用程序要做业务处理的,这个模块儿底下会有一些协议的,实现GPRS是一些加密通道的一个管理。 如果你设备网关,一定要集成这个模块。真实的开发场景,就是我们提供完整SDK,企业使用的时候,如果他是低功耗设备,那它可以直接就从这个SDK里裁剪一些模块出来,就不需要全量的SDK。 裁剪一些模块儿,正好适合我的设备,可能我的设备运行的空间比较小,空间比较小,就可完整的跑起来,可以做裁剪。那如果网关上面写多了一个网络广告。 边缘计算需要一个边缘的,这块前面讲的,它有可能会有这样的一个机会,有实际收购的一个参数。
(3)物模型
设备是怎么建模? 首先就是这个设备会要有一个身份,就是我要标识这个设备,身份就是这个设备能连接到阿里云物联网平台的一个标准,它就类似于我们的淘宝账号的那种概念上。 我们对设备还定义了属性,属性就是设备运行时的采集到一些设备数据的状态。
设备动态注册
(4)数据传输Pub/Sub
数据流转
二进制解析
//标示该次请求id值
jsonMop['id'] = dataVi ew. getInt32(1); var params ={};
//对应产品属性中
temperature params[' temperature'] = datoView. getFloot32(5);
//对应产品属性中
humidity parcms["humidity']=dataVi ew. getFloat32(9);
规则引擎 数据处理
SQL SELECT contextData,payloadData FROM TOPIC WHERE FILTER
详细文档∶
https∶//help.aliyun.com/document detail/30554.html IoT
平台设备上下文 设备身份:
productKey:ALI008 deviceName:aliyunIot extInfo: tag∶
西溪园区
1-4-156 imei:XiXi230453433
设备
payload {"temperature":23,"humidity":64} topic /PK/deviceName/data
规则引擎 数据转发 规则查询语句∶
SELECT deviceName0 as deviceName,payload()as content,items.temperature.value as temperature,items.humidity.value as humidity FROM "/aluqtK9VHcO/+/thing/event/property/post"
同步响应-RRPC RRPC文档∶
https∶//help.aliyun.com/document detail/69797.html
(6)设备影子
远程设置-COTA
案例:环境监控方案
案例:loT+TSDB时序数据库