首页 > 其他分享 >ThingsKit物联网平台设备CoAP接入

ThingsKit物联网平台设备CoAP接入

时间:2023-08-15 16:48:02浏览次数:41  
标签:请求 接入 ThingsKit CoAP 联网 RPC 设备

入门介绍

CoAP是一种计算机协议,应用于物联网,基于REST架构。它是由IETF的CoRE工作组提出的,专门用于解决物联网中设备资源受限的问题。在物联网中,很多设备具有较少的内存空间和有限的计算能力,因此传统的HTTP协议并不适用于所有设备。为了解决这个问题,CoAP被设计成一种轻量级的协议,能够有效地处理物联网设备的资源限制。
CoAP的主要作用是为物联网中的设备提供一种可靠且有效的通信方式。它可以实现设备之间的信息交换和通信,从而实现所有物品与网络的连接,方便识别、管理和控制。

CoAP基础知识

CoAP是一种用于受限设备的轻量级物联网协议。
一种专用的Web传输协议,它类似HTTP,是一种受约束的应用协议,可与物联网中的受约束的节点和受约束的网络一起使用。

CoAP的特点

资源占用极少

CoAP是为机器对机器(M2M)应用而设计的,它的设计初衷是使简单、受约束的设备即使通过具有低带宽和低可用性的受约束网络也可以加入物联网。例如:远程抄表、资产追踪、楼宇自动化等。
由于CoAP基于IP上的UDP协议,并不需要复杂的传输堆栈控制,所以设备上运行CoAP协议客户端,只需要极少的RAM代码空间,对微控制器的要求非常低。

安全性

CoAP使用UDP传输信息,同时也依靠UDP安全功能来保护信息,因此CoAP使用基于UDP的DTLS加密传输。
CoAP的DTLS参数默认选择等效于3072位RSA密钥,但在最小的节点上仍然可以正常运行。

上手容易

像HTTP一样,CoAP协议中的URL也支持REST模型,即客户端使用诸如GET、PUT、POST之类的方法访问这些API资源。
同时,CoAP还可以承载不同类型的有效负载,也包括ThingsKit内置标准设备访问协议的JSON格式。
这都使得设备在通过CoAP接入云平台时,不论是云平台提供的API调用方式,还是您需要拥有的技术知识,都和HTTP接入基本相同。

CoAP身份验证和错误代码

我们将在本文中使用_访问令牌_设备凭证,稍后将它们称为$ACCESS_TOKEN。应用程序需要将$ACCESS_TOKEN作为路径参数包含到每个CoAP请求中。可能的错误代码及其原因:

  • **400 无效请求 **- 无效的URL、请求参数或正文。
  • 401 未经授权 - 无效的$ACCESS_TOKEN
  • **404 未找到 **- 未找到资源。

遥测上传接口

为了将遥测数据发布到ThingsKit服务器节点,请向以下URL发送POST请求:
PS:平台CoAP默认端口:5683

coap://host/api/v1/$ACCESS_TOKEN/telemetry

最简单的支持数据格式是:

{"key1":"value1", "key2":"value2"}

或者

[{"key1":"value1"}, {"key2":"value2"}]

请注意,在这种情况下,服务器端时间戳将分配给上传的数据!
如果您的设备能够获取客户端时间戳,您可以使用以下格式:

{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}

调用控制接口

服务器端RPC

为了从服务器订阅RPC命令,将带有观察标志的GET请求发送到以下URL:

coap://host/api/v1/$ACCESS_TOKEN/rpc

订阅后,客户端可能会收到RPC请求。RPC请求体示例如下所示:

{
  "id": "1",
  "method": "setGpio",
  "params": {
    "pin": "23",
    "value": 1
  }
}
  • id - 请求id,整数请求标识符;
  • method - RPC 方法名称,字符串;
  • params - RPC 方法参数,自定义 json 对象。

附:使用Java模拟客户端实践CoAP

模拟CoAP设备接入
文章来源(首发地址):ThingsKit物联网平台

标签:请求,接入,ThingsKit,CoAP,联网,RPC,设备
From: https://www.cnblogs.com/thingskit/p/17631697.html

相关文章

  • ThingsKit物联网平台设备UDP接入
    入门介绍UDP基础知识UDP是UserDatagramProtocol(用户数据协议)的简称,是一种无连接的协议,该协议工作在OSI模型中的第四层(传输层),处于IP协议的上一层。传输层的功能就是建立“端口到端口”的通信,UDP提供面向事务的简单的不可靠信息传送服务。接下来来看UDP与TCP的区别:UDPTCP......
  • ThingsKit物联网平台可视化之制作大屏
    大屏是一种有效的可视化工具,可将收集到的数据以直观、生动的方式展示出来。通过创建交互式的数据大屏,决策者可以快速浏览关键指标,实时了解设备或业务运营状况。这有助于决策者更快地制定决策,并更好地理解数据驱动的洞察。新增大屏进入可视化大屏界面,点击“新增大屏”,在弹出的新......
  • ThingsKit物联网平台配置场景联动
    概述您可以通过本文了解定时触发类场景的配置方式。本示例基于ThingsKit平台提供的设备模拟数据场景,通过触发场景联动规则,自动打开空调。具体场景是将空调设备接入ThingsKit平台,创建场景联动:当温度高于28℃会触发开启空调的执行动作,物联网平台会下发打开空调的命令,空调收到命令......
  • ThingsKit物联网平台可视化之制作组态
    WEB组态的介绍什么是组态?组态是工业控制领域,利用组态软件将相关的工业控制数据进行离线处理,以达到工业控制的目的和要求,这个工作过程叫做组态!组态(Configure)的概念来自于20世纪70年代中期出现的第一代集散控制系统(DistributedControlSystem),可以理解为“配置”“设定”“......
  • ThingsKit物联网平台命令下发
    数据构建订阅平台Topic和下发数据格式如下v1/devices/me/rpc/request/+{"method":"methodThingskit","params":{"DO1":1}}:::info......
  • ThingsKit物联网平台数据上报
    为产品增加物模型通过MQTTX上报数据通过MQTTX模拟设备上报数据,消息Topic和上报格式如下:v1/gateway/telemetry构建上报数据{"9y02I19767e037iK":[{"temp":34.5,"wet":121.3}]}数据内容说明:Key说明......
  • ThingsKit物联网平台设备MQTT接入
    入门介绍MQTT基础知识MQTT全称MessageQueuingTelemetryTransport,它是一种基于消息队列的轻量级应用层通信协议,实现了消息发布和订阅。设备可以作为客户端的形式通过它来发布和接收消息,实现数据上报和实时控制。设计用于具有低带宽的受限设备。因此,它是物联网设备接入的完美解......
  • ThingsKit物联网平台支持哪些设备接入?
    概述ThingsKit物联网平台支持通用的MQTT、CoAP、HTTP、TCP、UDP协议接入您的设备,接入设备类型分为网关设备(如:RTU、DTU、边缘网关等)、网关子设备(接入到网关设备下面的设备,如:温湿度传感器)和直连设备(带有通信能力的设备,如智能一体机),接入前需要确认您的设备类型。直连设备接入气象......
  • ThingsKit物联网平台设备TCP接入
    入门介绍TCP基础知识TCP协议全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。有三次握手可以保证数据传输的可靠性。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。TCP是由TCP头部和TCP数据两个部分组成。头部是......
  • ThingsKit物联网平台设备HTTP接入
    入门介绍HTTP基础知识HTTP是一种通用网络协议,可用于物联网应用程序。HTTP协议基于TCP,并使用请求-响应模型。ThingsKit服务器节点充当支持HTTP和HTTPS协议的HTTP服务器。对于一些非常单一的应用场景,比如只需要定期采集上报数据,不论是快速开发原型,还是小规模的应用,设备使用HTTP......