当前位置: 首页 >应用方案 >技术应用 >

【教程】利用HTTP连接OneNET实现数据上报

利用串口服务器HTTP客户端模式上报或者获取云端数据,此功能基于HTTP/1.1协议实现,不能通过上次讲解天气API时使用的GET请求报文实现(基于HTTP/1.0

.简介

下面通过GET方式请求百度主页说明HTTP/1.1报文的组成;

http协议1

请求方式+URL+数据+HTTP/1.1+换行符+包头+换行符+换行符+换行符,可以看出GET请求HTTP数据包在URL的后面协议标识的前面,也就是从Accept”到“sec-ch-ua-platform”都是包头数据;

包头中数据用于标识请求信息并非必须具有,比可以使用下面这种请求方式获取百度搜索的主页:

GET https://www.baidu.com// HTTP/1.1

Host www.baidu.com

.操作步骤

1.即使不带任何包头数据也可以实现请求“百度”,并收到<HTML>数据返回,如图所示:

http协议2

2.配置串口服务器参数,实现HTTP/1.1请求“百度”主页,如下图所示:

http协议3串口服务器配置参数

3.使用串口调试助手发送/”,就可以收到HTTP服务器返回的数据,通过对HTML(超文本标记语言)解析就可以得到“百度”的主页;

http协议4串口服务器配置参数

4.之后请求OneNET修改数据都将基于HTTP/1.1协议实现。

三.OneNET设备注册

1.首先注册并登录OneNET账号,选择“产品服务”下的MQTT物联网套件;

OneNET物联网1

2.选择MQTT物联网套件”的老版本“多协议接入”,新版的MQTT也是原生支持HTTP/1.1协议接入,使用方法与接下来使用的HTTP接入”相同,有兴趣可以自行阅读OneNET使用说明;

OneNET物联网2

3.HTTP接入”产品下添加产品,参数可以随意填写不影响,建议除产品名称外其余参数和小编保持一致;

OneNET物联网3

4.ebyte”产品目录下添加模拟电表设备“DTSU666_01,设备编号可以使用生产编号,这里使用模拟设备因此产品编号模拟为“S20220516001”,点击“添加”;

OneNET物联网4

5.进入设备详情界面查询设备IDAPI地址、APIKEY,第一次添加设备不具有APIKEY需要添加,手动添加明文密钥,服务器会自动对明文进行加密,之后使用都是使用加密后的密钥;

OneNET物联网5

6.在数据模板中添加Ua(A相相电压)Ia”(A相电流),如图所示:

OneNET物联网7

四.OneNET资料查询

1.可以在OneNET设备平台“文档中心”查看API接口使用说明;

OneNET资料查询1

2.目前NA111系列串口服务器与以太网网关仅支持POSTGET两种请求方式,而HTTP/1.1协议共支持9请求方式(GETHEADPOSTPUTDELETECONNECTOPTIONSTRACEPATCH),其余请求方式只能在TCP客户端模式结合短连接实现,而OneNET-HTTP服务器在小编的印象中仅支持(GETPOSTPUTDELETE)四种方式,先对“查询数据流”和“上传数据点”两个常用API接口进行说明其余API接口可以参考实现;

OneNET资料查询2

五.利用POST上报设备状态

1.配置串口服务器,使用动态IP、随机端口并保证设备能正常接入互联网,配置目标地址(api.heclouds.com),端口(80),建议打开包头返回方便观察服务器反馈状态,若不返回包头在包头错误,请求不合法时无法找到错误原因,返回包头则可以通过HTTP状态码判断请求状态;

分类

分类描述

1**

信息,服务器收到请求,需要请求者继续执行操作

2**

成功,操作被成功接收并处理

3**

重定向,需要进一步的操作以完成请求

4**

客户端错误,请求包含语法错误或无法完成请求

5**

服务器错误,服务器在处理请求的过程中发生了错误

2.使能短连接模式配置为5s(非必要但建议开启减轻服务器压力);

3.配置URL/devices/ devices_id/datapoints

配置包头为api-key:df0JBIwvwcxI15eeyXS52bArshE=\r\nHost:api.heclouds.com

此处串口服务器在POST模式下隐含了Content-Length:包头信息,无需将此包头配置到包头数据中,上位机和网页配置的包头输入框支持换行符的识别,不能使用转义字符\r\n”输入,点击“保存配置”,点击“重启设备”;

串口服务器上报1

4.根据手册示例组包实际请求数据并使用JSON格式化工具校验数据,如图所示:

串口服务器上报2

5.通过串口助手发送上报数据,并使用平台查询上报数据是否成功:

串口服务器上报3

6.演示关闭包头返回后的接收:

串口服务器上报4

六.利用GET获取云端数据

1.修改设备请求方式与URL路径其余配置与POST时相同,根据请求示例进行配置如下图所示:

GET数据1

2.根据请求示例可以得到请求数据的组包规则为datastream_ids=Ua,Ia”,请求效果如下:

GET数据2

七.利用TCP客户端实现DELETE请求

1.HTTP是超文本传输协议一般工作在TCP协议上,除了使用HTTP客户端模式还可以使用TCP客户端实现目前不支持的请求方式,比如接下来测试的删除请求,利用DELETE删除刚才测试的DTSU666_01设备;

HTTP传输协议1

2.登录平台查询设备,使用DELETE”请求成功。

HTTP传输协议2


https://www.wjx.cn/jq/84863372.aspx