HTTP协议工作于客户端-服务端架构之上。浏览器作为HTTP客户端通过URL向HTTP服务端即Web服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。本文将利用串口服务器NS1的HTTP客户端模式上传服务器数据。
一
HTTP请求的格式
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
GET :从指定的资源请求数据。
POST :向指定的资源提交要被处理的数据。
HTTP 请求由请求行(request line)、请求头部(header)、空行和请求数据四个部分组成:
请求行:请求方法、请求 URL、协议版本。
请求头:由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。
请求数据:HTTP 请求中发送到服务器的数据。
HTTP请求的格式:
例如:
① 请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本。
② 请求头部。Content-Length:用来指明发送给接收方的消息主体的大小。Host:客户端指定自己想访问的Web服务器的域名/IP地址和端口号。Content-Type:Web服务器告诉浏览器自己响应的对象的类型。
③ 消息主体。
二
巴法云设备注册
1.首先注册并登录巴法云账号
选择“TCP创客云”,新建主题,主题名可任意。
2.查询 HTTP 接入API格式
在巴法云“实例指南->Tcp、Mqtt、http调试工具和教程”中给出的HTTP说明:
在使用postman对创建的主题发送数据时:
① 支持POST指令。
② 请求 URL 为http://apis.bemfa.com/va/postmsg。
③ 使用x-www-form-urlencoded或raw需要添加头部字段Content-Type。
④ 如果要上传数据到创建的主题中,需要在参数中指定巴法云账号的私钥、创建主题的名称、type类型固定为3、msg后面跟的数据就是上传到主题中的数据。
3.网络调试助手发送到服务器
使用网络调试助手要给巴法云账户私钥为f6fd5a9f1eff42feb7225f373efde660主题为LED发送数据TEST。
POST /va/postmsg HTTP/1.1
Host:apis.bemfa.com
Content-Type: application/x-www-form-urlencoded
Content-Length:62
uid=f6fd5a9f1eff42feb7225f373efde660&topic=LED&type=3&msg=TEST
服务器成功返回200,表明该请求被成功地完成,所请求的资源发送到客户端。
4.HTTP之状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
5.HTTP之响应消息
一般情况下,服务器接收并处理客户端发过来的+请求后会返回一个HTTP的响应消息。HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
① 第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息三部分组成。
② 第二部分:消息报头,用来说明客户端要使用的一些附加信息。
③ 第三部分:空行,消息报头后面的空行是必须的。
④ 第四部分:响应正文,服务器返回给客户端的文本信息。
三
配置串口服务器HTTP模式
使用亿佰特网络配置助手,打开配置页面。设置串口服务器:
① 网络工作模式选择HTTP客服端。
② 目标IP/域名apis.bemfa.com。
③ 目标端口80。
④ HTTP URL路径 /va/postmsg。
⑤ HTTP包头 Host application/x-www-form-urlencoded。
设置完成后保存设置、重启设备。
四
连接服务器
使用POST请求
1.串口服务器网口连接上网络,通过串口助手上报数据,并使用平台查询上报数据是否成功。
2.关闭包头返回后的接收:
使用GET请求
1.使用网络调试助手,通过GET方式请求百度主页。不带任何包头数据也可以实现请求“百度”,并收到数据返回,如图所示:
① 请求行。
② 请求头部+换行符,此时请求头部为空。
③ 消息主体。
2.使用串口服务器GET百度,先打开亿佰特网络配置助手,配置如下:
3.使用串口调试助手发送“/”,就可以收到HTTP服务器返回的数据,通过对HTML(超文本标记语言)解析就可以得到“百度”的主页。
相关推荐
NS1是实现串口数据转以太网数据传输的模块。贴片封装,可满足各类 TTL 电平串口设备、MCU 的联网功能。
全部0条评论
快来发表一下你的评论吧 !