5分钟了解阿里云物联网平台

简介: * 阿里云物联网平台向下连接海量设备,支撑设备数据采集上云;向上提供云端API,指令数据通过API调用下发至设备端,实现远程控制。 * 提供MQTT, CoaP, HTTP/S等多种协议SDK设备接入,可快速对接2G/3G/4G、NB-IoT、LoRa、WiFi等不同网络设备

简介

  • 阿里云物联网平台向下连接海量设备,支撑设备数据采集上云;向上提供云端API,指令数据通过API调用下发至设备端,实现远程控制。
  • 提供MQTT, CoaP, HTTP/S等多种协议SDK设备接入,可快速对接2G/3G/4G、NB-IoT、LoRa、WiFi等不同网络设备

安全

  • 身份认证:
    安全级别很高  -> 提供芯片级安全存储方案(ID²)及设备秘钥安全管理机制,防止设备密钥被破解
    安全级别高    -> 一机一密,适合有能力批量预分配ID密钥烧入到每个芯片的设备
    安全级别普通  -> 一型一密,认证时动态获取设备证书,适合批量生产时无法将设备证书烧入每个设备
  • 通信安全:
    安全级别高   -> 支持TLS(MQTT\HTTP)、DTLS(CoAP)数据传输通道,保证数据的机密性和完整性
    安全级别普通 -> 支持TCP(MQTT)、UDP(CoAP)上自定义数据对称加密通道
    支持设备权限管理机制,保障设备与云端安全通信
    支持设备级别的通信资源(Topic等)隔离,防止设备越权等问题
  • 可根据需要选择合适自己的方案,我们的项目一般:
    1. 身份认证:
      主要使用使用一机一密或一型一密
      工厂支持逐一烧录的,最好使用一机一密,确保安全性
      工厂不支持逐一烧录的,使用一型一密(最好把此批次的设备唯一标识记录下来方便有问题时剔除伪造设备)
    2. 通信安全:
      支持TLS/DTLS的设备,使用TLS/DTLS相关的加密传输[MQTT(TLS)或CoaP(DTLS)来保证通信安全]
      不支持TLS/DTLS的设备,使用对称加密的方式

数据解析

  • 以下几种情况会使用到数据解析:
    1. 有些设备对流量很敏感,尽可能减少数据通信量
    2. 之前设备已经完成二进制数据编码,不想修改相关代码

数据解析图

  • 数据转化这部分逻辑你要实现,本质是实现下面2个函数:
    // 此函数是把json字串转化为二进制
    function protocolToRawData(jsonObj) {
        return rawdata;
    }
    // 此函数是把二进制串转化为json
    function rawDataToProtocol(rawData) {
        return jsonObj;
    }

物模型

简介
  • 物模型,简称TSL,即Thing Specification Language,指将物理空间中的实体数字化,并在云端构建该实体的数据模型。在物联网平台中,定义物模型即定义产品功能。
  • 属性(Property):
    一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。
    属性支持 GET 和 SET 请求方式。应用系统可发起对属性的读取和设置请求。

    设备 => 上报属性
    云端 => 设置属性
  • 服务(Service):
    设备可被外部调用的能力或方法,可设置输入参数和输出参数。
    相比于属性,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务。

    云端 => 调用服务
  • 事件(Event):
    设备运行时的事件。
    事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。如:
      某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送。

    设备 => 上报事件
实例
  • 以门锁作为一个实例,来简单解释一下属性、事件和服务
  • 属性:
    开关状态: islock, bool, true:打开, false:关闭
  • 事件:
    开门通知: DoorOpen, 事件类型:信息
    故障上报: DoorError, 事件类型:报警
  • 服务:
    获取指纹列表: GetFingerprint
        输入: 无
        输出: 1.指纹id 2.指纹昵称 3.指纹权限
    删除指纹:     DelFingerprint
        输入: 指纹id
        输出: 无
    添加指纹:     AddFingerprint
        输入: 指纹权限
        输出: 无

设备影子

  • 用于缓存设备状态。
  • 应用场景:
    场景1:网络不稳定,设备频繁上下线
    场景2:多程序同时请求获取设备状态
    场景3:设备掉线
  • 设备影子的修改:
    1. app通过阿里iot平台接口修改:
        修改desired数据,并反馈给设备
        用于记录人工的操作
    2. 设备上报信息修改:
        修改reported数据
        用于记录设备执行的操作,反应设备当前状态
  • 设备影子JSON文档示例:
    {
        "state": {
            "desired": {    % 设备的预期状态,一般是app写
                "color": "RED"
            },
            "reported": {   % 设备的报告状态,设备写
                "color": "GREEN"
            }
        },
        "metadata": {
            "desired": {
                "color": {
                    "timestamp": 1469564492
                }
            },
            "reported": {
                "color": {
                    "timestamp": 1469564492
                }
            }
        },
        "timestamp": 1469564492,
        "version": 1
    }

规则引擎

数据流转
  • 设备通过MQTT, CoaP等协议对接阿里iot,阿里iot后台管理也可以通过数据分析,运维监控看到主要数据和通用的相关汇总。但如果你想把数据保存到自己服务器,或需要更精细的使用,就用到数据流转功能了。

数据流转图

  • 如上图所示,你可以直接订阅相关事件,设备上报相关数据后,会直接通过http2协议推送给云端。
场景联动
  • 数据流转场景联动:
    1.触发条件
    2.过滤条件
    3.执行动作
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
2月前
|
消息中间件 DataWorks 物联网
MQTT问题之接入阿里云物联网平台如何解决
MQTT接入是指将设备或应用通过MQTT协议接入到消息服务器,以实现数据的发布和订阅;本合集着眼于MQTT接入的流程、配置指导以及常见接入问题的解决方法,帮助用户实现稳定可靠的消息交换。
161 1
|
7月前
|
存储 运维 监控
物联网平台常见类别及对应平台(一)
物联网平台常见类别及对应平台(一)
497 0
|
4天前
|
消息中间件 存储 JavaScript
阿里云IOC物联网异步处理基础概念
该内容介绍了异步处理基础和消息队列的相关概念。首先,同步处理指任务完成后才能执行其他操作,而异步则允许任务并行执行,不阻塞程序。异步能提高系统并发性和响应性,但也增加复杂性和资源消耗。接着,提到了消息队列,包括生产者、消费者、队列、broker和topic等概念,并指出在IoT中,设备作为生产者发送消息到特定topic,消费者从队列获取数据。最后,简要介绍了AMQP协议,它是用于应用程序间消息传递的开放标准,常用于分布式系统和物联网,如RabbitMQ和Apache Qpid。课程将以Apache Qpid为例接收IoT数据。
116 6
阿里云IOC物联网异步处理基础概念
|
2月前
|
消息中间件 网络协议 物联网
MQTT协议问题之阿里云物联网服务器断开如何解决
MQTT协议是一个轻量级的消息传输协议,设计用于物联网(IoT)环境中设备间的通信;本合集将详细阐述MQTT协议的基本原理、特性以及各种实际应用场景,供用户学习和参考。
127 1
|
7月前
|
存储 机器学习/深度学习 监控
物联网平台常见类别及对应平台(二)
物联网平台常见类别及对应平台(二)
253 0
|
3月前
|
存储 安全 物联网
安防摄像头IPC如何快速接入阿里云Link Visual视频服务(阿里云生活物联网)
Link Visual是生活物联网平台针对视频产品推出的增值服务,提供视频数据上云、存储、转发、AI计算等能力。 大白话就是:通过阿里云的Link Visual视频服务,可以让你的IPC摄像头设备完成上云功能,并快速实现如下功能介绍中的功能。其中可以享受阿里云P2P协议支持,帮助企业节省流量服务器流量带宽。
292 7
|
6月前
|
消息中间件 Java 物联网
[笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台(二)
[笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台(二)
320 0
|
6月前
|
消息中间件 物联网 Java
[笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台(一)
[笔记]阿里云物联网之业务服务端(java、php)接入阿里云平台
288 1
|
7月前
|
JSON 物联网 开发工具
设备接入组件功能介绍
设备接入组件功能介绍
320 0
|
24天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客

相关产品

  • 物联网平台