LinkPlatform 简介与开发入门(二)|学习笔记

简介: 快速学习 LinkPlatform 简介与开发入门

开发者学堂课程【分布式系统开发调度技术LinkPlatform 简介与开发入门笔记与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/558/detail/7669


LinkPlatform 简介与开发入门(二)

二、阿里云 loT 物联网平台

1.loT 产品架构

自建物联网平台架构image.png

关于自建物联网:首先会需要有很多设备,可能很多协议来介入,就要适配不同的协议,同样可能一台服务器不能扛得住,需要负载均衡,产生 MQTT 集群。就涉及到海量的实时的非结构化的数据怎么存储。 存储下来还涉及到数据,怎么分析,这个分析能力,海量数据的分析、数据可视化、大数据分析。这都是问题。而且要长期维护的成本。  物联网开发架构

image.png

我们的物联网: 首先都会有设备,会有网络接入,网络接入,普通的2G、3G WiFi3D 软件上面会有企业自己的服务器和自己的应用,这个是避免不了的,即使使用阿里云,这些也是自己要负责。 阿里云提供的就是,在设备端上有一个接入的SDK,建立一个加密的通道,而且它是双向的,数据可以上行,也可以下行。通道上来的话,物联网平台,可以把数据发到自己的存储在阿里云上买的持续的数据库。那同样这些数据存下来就可以在阿里云做计算。阿里云计算其实已经有十多年了,就已经很成熟了。 阿里云 loT 物联网平台 产品官网∶https∶//aliyun.com/product/iot 阿里云loT全球服务区域: 硅谷、弗吉尼亚、法兰克福、东京、华东2、新加坡。  loT on 阿里云

image.png

如果我们设备接进来,大概有哪些?就在端上我们提供了可行有直连的设备,可能直接联网,互联网平台就是设备本身会有一定的能力,有一定的存储空间。 那这时候我们有直连的SDK,那可以通过我们提供的坦克弟弟或者国外的这种协议接进来。那同样有一些设备呢,他可能。本身用的其他协议,或者本身缺少这种联网能力,就比如说我楼宇里有些设备可能是通过楼宇的一个网关来接入案例,那这时候你的设备是跟你网关,是一个自己私有的协议,可以通信,那我们同样提供了网关的这个 SDK,它通过这个 SDK 就能轻松地把它的子设备传输上来的时候,用的是网关的一条通道,传的是多个设备的数据通道,这一条如果直连的话,你有十台设备就是个通道。 那这边还有还有一些设备,像工业场景,它会涉及到边缘计算的场景。 是我的,是我工厂运行的时候,数据是在我工厂内部局域网就流转,就直接做决策,就说这个流水线,我是该进那个那个作业的,那个流水线的占该进一战还是二战三战,这种是在边缘时就做了决策,那这个规则是可以通过。 工厂的一些不同的协议转换会有设备管理,就是他对他的设备管理,那消息的分发,还有一个数据的数据库的一个存储,其实有时候网络不是特别通畅,然后本地的就是先存在我的店铺上,同样还有函数计算还是计算是可以做一些规则是我原配哪些规则,那我直接可以在这个本地的一个函数计算容器里执行,那就是这部分角色就不需要走互联网对适应工厂那些市场,那同样我们还提供了一个阿里 OS 这样一个物联网的操作系统,就类似这样,他也是一个实时操作系统,这个操作系统其实已经成了我们SDK 就是你的硬件如果刷掉一个操作系统,完全不需要再考虑 SDK 的行为本身就有。那同时还有一些场景是我们有一些既有的设备,他已经本身有采集数据,之前没有考虑过要出去上,或者这种联网的时候我们是提供一个办法。  这个通道那剩下还有对设备的管理,设备的注册,模型设备升级,然后这边规则引擎就是把你的数据转存到你自己的数据库里,有一款是简单的关系型存储。或者是实时计算存储,还有些场景是直接流转到我们自己的,嗯  

(2)设备端接入

前两个是长链接。第三个 HTTPS 是短连接。它只能数据上行,因为有些场景不需要下发,只需要上报的采集数据,像这种其实就不需要实时的建立那个 FTP 的 TCP通道,只需要每天固定的一个时间段联系上报,上报一下数据就OK了。  然后第四个是适合我们手机做连接的方式,就是我们前面看到那个人脸识别的方式来推送过去的连接。  

设备接入 SDK image.png

设备接入SDK: 首先有很多传感器,接入主板。主板上会有我们企业自己的业务逻辑和应用程序,应用程序里面接入我们SDK。接到这个数据,是企业应用程序要做业务处理的,这个模块儿底下会有一些协议的,实现GPRS是一些加密通道的一个管理。  如果你设备网关,一定要集成这个模块。真实的开发场景,就是我们提供完整SDK,企业使用的时候,如果他是低功耗设备,那它可以直接就从这个SDK里裁剪一些模块出来,就不需要全量的SDK。  裁剪一些模块儿,正好适合我的设备,可能我的设备运行的空间比较小,空间比较小,就可完整的跑起来,可以做裁剪。那如果网关上面写多了一个网络广告。 边缘计算需要一个边缘的,这块前面讲的,它有可能会有这样的一个机会,有实际收购的一个参数。  

(3)物模型

image.png

设备是怎么建模? 首先就是这个设备会要有一个身份,就是我要标识这个设备,身份就是这个设备能连接到阿里云物联网平台的一个标准,它就类似于我们的淘宝账号的那种概念上。  我们对设备还定义了属性,属性就是设备运行时的采集到一些设备数据的状态。  

设备动态注册

image.png

(4)数据传输Pub/Sub

image.png

数据流转

image.png

二进制解析

//标示该次请求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 

image.png

(6)设备影子

image.png

远程设置-COTA

image.png

案例:环境监控方案

image.png

案例:loT+TSDB时序数据库

image.png

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
消息中间件 存储 分布式计算
学习笔记:StructuredStreaming入门(十二)
学习笔记:StructuredStreaming入门(十二)
44 0
|
10月前
|
Web App开发 前端开发 JavaScript
【Cesium 编程第一篇】概述、环境搭建、界面介绍
【Cesium 编程第一篇】概述、环境搭建、界面介绍
183 0
|
10月前
|
安全 编译器 C++
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)(二)
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)
|
10月前
|
存储 编译器 Linux
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)(三)
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)
|
10月前
|
存储 安全 编译器
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)(一)
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)
|
Java 关系型数据库 MySQL
入门案例(开发环境配置)|学习笔记
快速学习入门案例(开发环境配置)
78 0
入门案例(开发环境配置)|学习笔记
|
SQL JSON Java
入门案例(项目搭建)|学习笔记
快速学习入门案例(项目搭建)
74 0
入门案例(项目搭建)|学习笔记
|
开发者
3.5基础概念: Watches 窗口简介|学习笔记
快速学习3.5基础概念: Watches 窗口简介
137 0
3.5基础概念: Watches 窗口简介|学习笔记
|
运维 算法 Cloud Native
第三课(三)|学习笔记
快速学习第三课(三)
142 0
第三课(三)|学习笔记
|
缓存 NoSQL 搜索推荐
第三课(二)|学习笔记
快速学习第三课(二)
93 0
第三课(二)|学习笔记