玩转OneNET物联网平台之简介_onenet物模型和数据流的区别,2024年最新写得太好了

212 阅读8分钟

❤️博主介绍❤️
😬 作者:单片机菜鸟哥
👉火爆博客:ESP8266 Arduino教程

零基础从入门到熟悉Arduino平台下开发ESP8266,同时会涉及网络编程知识。专栏文章累计超过60篇,分为基础篇、网络篇、应用篇、高级篇,涵盖ESP8266大部分开发技巧。

👻最近更新:ESP32 MicroPython应用

讲解Python在esp32上的应用,包括网络请求、爬虫

快速导航
单片机菜鸟的博客快速索引(快速找到你要的)

如果觉得有用,麻烦点赞收藏,您的支持是博主创作的动力。

文章目录

1.前言

    在进入OneNet系列之前,我们先来了解一下OneNet平台。读者可以自行阅读OneNet官方文档,博哥这里只是做到抛砖引玉的作用。

2.OneNET物联网平台简介

    OneNET定位为PaaS服务,即在物联网应用和真实设备之间搭建高效、稳定、安全的应用平台

  • 面向设备,适配多种网络环境和常见传输协议(包括我们讲的MQTT、HTTP等),提供各类硬件终端的快速接入方案和设备管理服务;
  • 面向企业应用,提供丰富的API和数据分发能力以满足各类行业应用系统的开发需求,使物联网企业可以更加专注于自身应用的开发,而不用将工作重心放在设备接入层的环境搭建上,从而缩短物联网系统的形成周期,降低企业研发、运营和运维成本。

    简单理解为:放心用,OneNet平台为你考虑了方方面面。

3.OneNET物联网平台架构

image

    可以通过上图去理解整个OneNet平台的设计架构,对于我们来说,比较关注以下几点:

3.1 设备接入

    OneNET提供安全稳定的设备接入服务,支持包括LWM2M(CoAP)、MQTT、Modbus、HTTP、TCP等在内的多种协议:

  • 在考虑低功耗以及广覆盖的场景,建议使用CoAP协议接入
  • 在工业modbus通信场景,建议使用DTU+Modbus协议接入
  • 在需要与设备实时通信的场景,建议采用MQTT协议接入
  • 在设备单纯上报数据的场景,可以使用HTTP/HTTPS协议接入
  • 在用户需要自定义协议接入的场景,建议采用TCP+脚本的方式接入

具体参考 设备开发协议,大家可以点击下载具体的协议文档以便学习查阅。

3.2 设备管理

    OneNET平台针对不同的使用场景,提供关于设备的包括生命周期管理、在线状态监测、在线调试、数据管理等功能在内的丰富的设备管理功能。

具体参考 入门手册

3.3 API列表

    OneNET提供开放的、丰富的、基于HTTP/HTTPS的API接口,用户可以使用API进行设备管理,数据查询,设备命令交互等操作,在API的基础上,根据自己的个性化需求指定搭建上层应用。

    具体参考 API列表,作为开发者的我们需要根据产品接入协议来选择不同的API。

    平台提供的API列表如下:

3.3.1 设备管理相关 —— 重要
API请求方式说明
新增设备POST供应用层使用
注册设备POST用于设备自行注册场景
更新设备信息PUT用于更新设备属性
查询设备详情GET用于查询设备属性,包括设备在线状态
批量查询设备信息GET
批量查询设备状态GET
删除设备DELETE
3.3.2 数据流管理相关 —— 重要
API请求方式说明
新增数据流POST建立某设备独有的数据属性,产品内建议使用数据流模板替代
更新数据流属性PUT
查询数据流状态GET可用于查询数据流配置以及最新数据点
删除数据流DELETE
3.3.3 数据管理相关 —— 重要
API请求方式说明
查询设备历史数据GET
批量查询设备最新数据GET
上传数据点POST设备/应用服务器均可通过HTTP/HTTPS方式上传数据
上传文件POST可用于设备上传原始数据、图片、文件等
获取文件GET
3.3.4 设备命令相关
API请求方式说明
下发命令POST平台主动发送数据至设备
查询命令状态GET用于查询某条命令的执行情况
查询命令响应GET设备收到命令时需要设备发送命令响应
查询设备历史命令GET
3.3.5 触发器相关
API请求方式说明
新增触发器POST
更新触发器PUT
查询触发器详情GET
删除触发器DELETE
3.3.6 apikey相关
API请求方式说明
新增apikeyPOST新增的apikey只具有设备级的权限
更新apikeyPUT
查询apikeyGET
删除apikeyDELETE
3.3.7 topic相关(限MQTT设备使用)
API请求方式说明
发布消息POST发布消息到topic
查询订阅设备列表GET查询订阅某个topic的设备列表
查询设备订阅详情GET查询设备的topic订阅列表
查询topic列表GET

3.4 HTTP推送

    针对某些实时性要求较高的场景,OneNET提供数据推送功能,可以过滤掉设备端频繁的周期性上报数据,将用户关心的实时性较高的数据,通过HTTP/HTTPS的方式推送到用户的应用服务器上。

具体参考 HTTP推送

3.5 安全认证

    OneNET提供用户资源访问安全认证机制,提供产品级以及设备级的不同粒度的密钥,并支持用户自定义密钥访问权限,最大限度保证用户设备以及应用层接入的安全性。

具体参考 安全鉴权 以及 API鉴权

4.资源模型

    OneNET资源模型如下图:

image

4.1 用户(user) —— OneNet平台账号

    理解为每一个OneNet平台账号

4.2 产品(product) —— 具体项目

    用户的最大资源集为产品,产品下资源包括设备、设备数据、设备权限、数据触发服务以及基于设备数据的应用等多种资源,用户可以创建多个产品。理解为用户下的每一个项目,比如博哥建立一个温湿度监控系统

4.3 设备(device) —— 项目涉及到的物理设备

    设备为真实终端在平台的映射,真实终端连接平台时,需要与平台设备建立一一对应关系,终端上传的数据被存储在数据流中,设备可以拥有一个或者多个数据流。比如每一个温湿度模块+8266可组成一个设备。

4.4 数据流与数据点 —— 物理设备上传的数据

    数据流用于存储设备的某一类属性数据,例如温度,湿度,坐标等信息;平台要求设备上传并存储数据时,必须以key-value的格式上传数据,其中key即为数据流名称,value为实际存储的数据点,value格式可以为int、float、string、json等多种自定义格式。比如温湿度数据。

4.5 APIkey —— 用户校验标识

    APIkey为用户进行API调用时的密钥,用户访问产品资源时,必须使用该产品目录下对应的APIkey。其实跟买车票一样,有身份证才让上车。

4.6 触发器(trigger) —— 报警服务

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。 img img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!