当前位置: 首页 > news >正文

东莞网站建设全过程网站设计服务企业

东莞网站建设全过程,网站设计服务企业,2018做网站前景好么,做html5网站基于Web 的应用非常普及,例如基于web 的SCADA ,物联网 Dashboard 等等,那么基于Web 的应用如何访问OPC UA 服务器呢?本博文讨论这方面的问题。 Web 的通信方式 Web 是我们通常讲的网站,它由浏览器,HTTP 服…

     基于Web 的应用非常普及,例如基于web 的SCADA ,物联网 Dashboard 等等,那么基于Web 的应用如何访问OPC UA 服务器呢?本博文讨论这方面的问题。

Web 的通信方式

        Web 是我们通常讲的网站,它由浏览器,HTTP 服务器和网页组成的。HTTP服务器通常称为后端,HTTP 网页在浏览器中解析执行。现代HTML5技术使HTTP中已经包括 javascript 语言,能够编写功能强大的程序,因此HTTP 网页称为前端。

传统的web 前后端是通过HTTP协议通信的,现在web 前后端能够采取多种方式通信,它们包括:

  • HTTP协议
  • RESTful
  • MQTT 发布/订阅方式
  • WebSocket

OPC UA 的通信方式

OPC UA 通信方式有两种

  • TCP Client/Server 
  • Pub/Sub 发布订阅模型

几种基于Web的OPC UA 访问方式

基于HTTP RESTful 的方式

有两种方式实现OPC UA 的RESTful访问:

第一种方式是网关方式,将RESTful 请求翻译成为OPC UA 的Client 请求,结构如下图:

       另一种方法是扩展OPC UA 标准,使OPC UA 服务器实现RESTful 访问。 OPC基金会最近宣布将通过扩展OPC UA标准的RESTful接口(2023/4/17),由微软公司公司主导编制,目前还没有更多的信息。

在OPC UA 1.04 规范中,提出了SessionlessInvoke 无状态服务通信。但是仅限于有限的服务。

基于GraphQL 方式

     在这里我们介绍一种使用GraphQL 查询OPCUA 服务器的方法。

       GraphQL 是一种HTTP API 方式。它的查询命令类似于JSON ,但是又不完全是JSON,而返回的是JSON结构。

 Facebook 的移动应用从 2012 年就开始使用 GraphQL。GraphQL 规范于 2015 年开源,现已经在多种环境下可用,并被各种体量的团队所使用。

GraphQL 通过 HTTP 提供服务

GraphQL 是一种 API 对话的规范。下面是通过HTTP 实现的一个GragphQL 查询实例:

查询
query {hero {name}droid(id: "2000") {name}
}

响应

{"data": {"hero": {"name": "R2-D2"},"droid": {"name": "C-3PO"}}
}

 

 GraphQL的查询过程
  1. GraphQL 查询不完全是 JSON;它看起来类似 JSON 形状。 当发出 'POST' 请求进行 GraphQL 查询时,客户端将其作为“字符串”发送。
  2. 服务器获取 JSON 对象并提取查询字符串。 根据 GraphQL 语法和图表数据模型(GraphQL 模式),服务器处理 并验证 GraphQL 查询。
  3. 正如典型的 API 服务器,GraphQL API 服务器随之调用数据库或其他服务,以抓取客户端请求的数据。
  4. 服务器获取数据并以 JSON 对象的形式将其返回客户端。

GraphQL 的优点

  • GraphQL 模式会在 GraphQL 应用中设置单一事实来源。它为企业提供了一种整合其整个 API 的方法。
  • 一次往返通讯可以处理多个 GraphQL 调用。客户端可得到自己所请求的内容,不会超量。
  • 严格定义的数据类型可减少客户端与服务器之间的通信错误。
  • GraphQL 具有自检功能。客户端可以请求一个可用数据类型的列表。这非常适合文档的自动生成。
  • GraphQL 允许应用 API 进行更新优化,而无需破坏现有查询。
  • 许多开源 GraphQL 扩展可提供 REST API 所不具备的功能。
  • GraphQL 不指定特定的应用架构,它能够以现有的 REST API 为基础,并与现有的API管理
    工具配合使用。
使用GraphQL 访问OPC UA 服务器

在下列项目中,实现了OPCUA 服务器的GraphQL 封装

https://github.com/AaltoIIC/OPC-UA-GraphQL-Wrapper

这是一个基于python-opcua 库的项目

查询的例子

query {node(server: "TestServer", nodeId: "ns=2;i=1234") {namedescriptionvariable {valuedataType}}
}

另一个是基于NodeJS 的项目

 https://github.com/gilesbradshaw/uaQL

 

结束语

        RESTful 访问OPCUA 服务器是十分有用的,例如,当你实现一个基于OPCUA 的webHMI 应用时,HMI界面访问OPCUA 的内容。

        具体实现起来,想必还有许多的细节要考虑,例如数据和事件如何订阅,这要使用websocket 双向协议,或者MQTT 发布/订阅方式。

http://www.hkea.cn/news/455878/

相关文章:

  • 电脑网页无法访问如何解决北京seo地址
  • 直销网站系统制作价格java培训机构
  • dw软件个人简历网站怎么做百度导航下载2022最新版官网
  • 成都官方网站建设泉州seo外包
  • 矿山建设网站天津网络推广seo
  • 国内优秀的响应式网站深圳专业seo外包
  • 重庆装修价格c盘优化大师
  • 银行网站 设计方案外包优化网站
  • 做网站是学什么专业软件外包企业排名
  • wordpress商城 中文站百度站长平台网址
  • 建手机网站的软件有哪些南宁百度seo价格
  • 做网站私活长沙网络营销公司
  • 网站建设公司 广告法被处罚沧州网络推广外包公司
  • 电商网站 开发成本惠州seo外包服务
  • 佛山做网站建设价格百度网盘官方下载
  • 网上购物商城网站建设个人免费域名注册网站
  • 成都学网站建设电子营销主要做什么
  • 织梦cms通用蓝白简介大气企业网站环保科技公司源码网络推广员招聘
  • 网站后台怎么添加图片视频app推广
  • 网站秒收录怎么做的经典软文案例和扶贫农产品软文
  • 珠海疫情最新情况厦门搜索引擎优化
  • 中国菲律宾历史战绩网站关键词优化工具
  • 西宁网站建设最好的公司哪家好优秀网站设计案例
  • 沧州做网站费用搜索引擎优化是做什么的
  • 社区网站推广方案线上运营的5个步骤
  • 湘潭学校网站建设 z磐石网络网站关键词优化教程
  • wordpress多程序用户同步汕头seo排名
  • 旅游网站 建设平台分析百度seo一本通
  • 怎么用dw做网站app开发网站
  • 昆山做网站的公司有哪些seo整站优化推广