抖音粉丝群1
『7x24小时有问必答』

AI浪潮下的计算机行业——从业者现状与未来展望

昆仑通态触摸屏可以调用web服务器提供的http协议接口,达到数据上传的目的,通常在工厂中存在众多的设备,大型工厂一般都有自己的数字化系统,比如:MES系统、ERP系统等,为了便于收集各个边缘终端数据,集中进行决策分析,就需要各边缘设备具备数据上报的功能,昆仑通态触摸屏提供了几种方式:MQTT,HTTP,Modbus TCP,OPC UA等。今天我们主要介绍一下:昆仑通态触摸屏如何调用web服务器提供的http协议接口。

软件版本:3.3.6 6354   驱动:httpDevice

首先我们对http做个简单的介绍,有个大概的了解

HTTP协议简介

一 Http概述和URL

1 HTTP(超文本传输协议,HyperText Transfer Protocol)是一种用于分布式、协作式、超媒体信息系统的应用层协议

2 HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)

3  URL(Uniform Resource Locator),即 统一资源定位器,URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。也可认为由4部分组成:协议、主机、端口、路径.

http://host[:port]/[a_path]
http://IP(主机名/域名):端口/访问的资源路径
http 表示要通过 HTTP 协议来定位网络资源;
host 表示合法的 Internet 主机域名或者IP地址;
port 指定一个端口号,端口号为空则使用缺省端口 80;
a_path 指定请求资源的 URl;如果 URL 中没有给出 a_path,
那么当它作为请求 URl 时,
必须以 “/” 的形式给出

上面这个URL对我们来讲是最重要的,后面会用到。

二 Http方法

HTTP 方法指定了客户端可以对服务器上的资源执行哪些动作。主要的HTTP方法有:

GET:请求从服务器获取指定资源。这是最常用的方法,用于访问页面。
POST:请求服务器接受并处理请求体中的数据,通常用于表单提交。
PUT:请求服务器存储一个资源,并用请求体中的内容替换目标资源的所有内容。
DELETE:请求服务器删除指定的资源。
HEAD:与 GET 类似,但不获取资源的内容,只获取响应头信息。

常用的方法:GET和POST。

三 Http ContentType

HTTP 允许传输任意类型的数据对象,正在传输的类型由 Content-Type 加以标记,最常见的 4 种 Content-Type 的取值如下:

application/x-www-form-urlencoded(常见的 form 提交):最常见 POST 提交数据的方式。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以此种方式提交数据

multipart/form-data(文件提交):另一种非常常见的 POST 数据提交的方式。我们在使用表单上传文件时,必须让 form 的 enctyped 等于这个值

application/json(提交 json 格式的数据):现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦

text/xml(提交 xml 格式的数据) :XML-RPC(XML Remote Procedure Call)。它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范

我们这里需要用到的类型:application/json。

HTTPDevice设置

上面讲述的是HTTP的基础知识,从这里开始进入正题,如何通过昆仑通态提供的HTTPDevice驱动调用服务器提供的接口

一 添加Http驱动

新建一个组态工程,打开设备窗口,添加httpDevice驱动,这一步应该很熟悉,如下图:

二 服务器接口说明示例比如我们有个接口:接口的功能是发送用户名和密码,通过密码来获取一个访问密钥
接口说明访问授权
接口URLhttp://iot.sjzit.com:8080/dev-api/apiLogin
请求方式Post
ContengTypeapplication/json
参数

 {

    "username": test,

    "password":"123456"

  }

返回值:
 {
    "code": 200,
    "msg":"操作成功",
     "token": "ayJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImI5NjA3"
  }
根据以上接口说明配置驱动信息三 设置驱动http参数1 首先双击HttpDevice驱动-点击如下图位置:
2 http参数配置在弹出的对话框中点击新增,
上述配置窗口中参数说明:
操作名称:operation1 将来脚本调用时要用到的名称,本例保持默认,可以自己根据需要修改。
通讯协议:http(或https) 
IP地址:iot.sjzit.com   对应示例接口中URL中域名部分
端口号:8080  和示例接口中的端口对应。
操作路径:/dev-api/apiLogin  示例接口中端口号后面部分。
操作方式:Post  和示例接口中的请求方式一致。
当然这个是固定设置,也可以对URL,端口号,操作路径进行动态设置,以便后期更改维护,新增变量如下:
URL 字符类型
Port 整型
Path 字符型
CType 字符型
点击上图操作1列,第一行的编辑,弹出如下窗口:
勾选上述三项前面的复选框,关联好对应的变量即可完成动态配置设置。如果http接口对Header字段有要求也可以在这里设置。3 设置发送Json格式完成上述设置后,回到Http配置界面开始配置上传参数格式,本例参数格式是json格式,包含用户名和密码,格式参照接口说明
 {
    "username": test,
    "password":"123456"
  }
点击发送Json后面的编辑,弹出Json配置对话框,为了方便,我们把上述的Json格式复制粘贴到Json编辑框中,同时勾选Json生成表格时创建变量名,点击生成表格即可完成操作,同时参数名称变量也会自动帮你创建。
3 设置接收Json格式点击接收Json后面的编辑,弹出Json配置对话框,为了方便,我们把上述的Json格式复制粘贴到Json编辑框中,同时勾选Json生成表格时创建变量名,点击生成表格即可完成操作,同时参数名称变量也会自动帮你创建。示例接口接收Json格式(见接口说明中的返回值):
{
    "code": 200,
    "msg":"操作成功",
     "token": "ayJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImI5NjA3"
  }

配置好以上参数后,即可进行下一步,接口调用三 通过设备命令调用http接口设备命令如下:
!SetDevice (设备0, 6, "EXECUTE (operation1,ercode)")
设备命令中的:operation1对应http配置中的操作名称至此一个完整的HTTP接口调用已完成,通样需要下载到触摸屏中运行。组态画面

一 组态画面效果如图


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?获取邀请码

x
您需要登录后才可以回帖 登录 | 获取邀请码

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

Copyright 2010-2015. All rights reserved. 

微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码