Qt for Automation 介绍
By TheQt Company Anu Linjamki
当下工业 4.0 和 IIoT 带来了一系列新的挑战。将会有越来越多的在线设备生成更多的数据,这反过来会导致应用更加的复杂。 整个环境将会以更快的速度发生变化,包括设备状态、基础设施、应用复杂度和开发过程。为了应对这种挑战,设计师针对未来的 IoT 提出了一种新的通用框架设计。
凭借这种设计,Qt 和 Toradex 活跃于 HMI 和 边缘设备/控制器领域。Qt 的优势诸如跨平台、用户体验、丰富的库文件和工具可以被自由得发挥。
The Qt Company 注意到开发智能设备以及 HMI对扩展性、协作性和性能需求的这些挑战。在工业自动化领域实现的方法不一而足,但是创建一种新的软件能够适合各种尺寸的设备、跨平台并且能够动态更新和维护,这确实是十分关键的。
1). 硬件选型关系重大
不久前,The Qt Company 发布了一系列的文章讨论设备的快速启动。根据应用的使用场景,您必须要考虑启动时间、应用优化、软件栈优化,当然还有硬件的选型。
硬件选型和硬件架构,即使在采用相同的 CPU 也会对最后启动时间产生巨大的影响。在一个简洁、明了的对比测试中,Toradex 的计算机模块的启动时间比对手明显快 19%(294ms)。这种差距来自与 Toradex 模块更快的上电速度以及内核能够更早的访问 eMMC 从而获得更快的启动时间。
2). Qt 应用的结构是什么?
基于 Qt 的行业应用软件结构
./ 应用: 基础软件,包括您公司特有的方案 - 控制特殊硬件或者加密您独特算法的库文件
./ UX: 您应用和用户之间的桥梁。由您的团队采用强大的 Qt 框架开发
./ 第三方组件: 软件库、数据库或者协议栈 - 您的应用所依赖的软件,但是并不需要您公司自己开发
./ Qt 运行库: Qt 的 UI 组件,包含大量支持的功能和库文件
./ C++ 运行库: C++ 编译器提供的运行组件和库文件
./ 操作系统: 您硬件的接口。取决于您的需求,这可能是桌面操作系统、Linux 衍生版本或者 RTOS
Qt forAutomation 综合多种技术,被设计专门解决众多通用的行业需求。开发人员可以选择所需的自动化协议、虚拟键盘、图表、标签视图、国际化(多语言)、免安装的多客户端访问的远程界面以及配置工具。
除此之外,Qt for Automation 囊括针对一些通用问题的技术 - 在广泛分布网络中安全和可靠地管理目标和设备:
3). QtMQTT 将远程信息导入到云端
QtMQTT 是一个客户端实例,可以用于开发设备发送数据,以及接收和管理数据的监控方案。QtMQTT 并不专注于代理功能。一个值得提起的要点是,相比与其他方案 QtMQTT 能够完全合规。其支持协议的 3.1 和 3.1.1 等级、QoS 所有等级、认证、SSL 连接和 Last Will。至于安全方面,QtMQTT 通过两种途径实现:在建立连接是使用用户名和密码认证以及使用 SSL/TLS 作为连接通道。这同样十分易于扩展,你可以采用基于 QIODevice 或者 QAbstractSocket 的其他传输方法。这意味着你可以创建自己的传输机制,在建立连接之前发送到 QMqttClient。有一个实例演示如何借助websockets 使用 MQTT,Qt 为 websockets 提供一个独立的模块。由于不同的收发数据方式,QWebsocket 并不是基于 QAbstractSocket。然而,有很详细的规范关于如何使用 websocket推送 MQTT 数据(以二进制形式发送、必须在一个数据报中等)。因此可以创建一个很简单的类。在 QtMQTT 模块实例中可以找到规范说明。
综上所述,由于 QtMQTT 的小体积、低耗能、紧凑的数据包、高效的单点/多点信息发布,使其成为 IoT 应用的理想选择。最后,QtMQTT 没有外部的依赖关系,您无需顾虑。
Qt World Summit 上 MQTT 介绍视频请点击这里。
4). 智能家居变得更加简单
KNX 凭借其编程和安装控制 PC 软件,成为智能家居和建筑协议(https://www.knx.org)的欧洲领导者。KNX 关注大多数雄性勃勃的初创企业,他们制定的标准无所不在,并众多厂商支持。KNX 面临长期的挑战是,难于开发和部署客户端应用。QtKnx 是 Qt 为 Automation 提供一部分库,提供开源和商业部署策略,填补了一些公司为智能建筑提供定制化 UI 的空白。它支持集成不同的功能(例如语言识别)和技术(蓝牙低能耗技术)。
首先,QtKNX 可以被用于开发能够发现KNX 服务并在服务器端控制和管理安装的 KNX 客户端。在 Qt World Summit 2017 的演示中,Qt 展示了如何使用 KNX 作为控制面板和设备之间的通信协议来控制您家里的电灯。
Qt World Summit 2017 上 QtKNX 演示视频请点击这里。
该开发仍在继续,我们很期待后续的新功能!
5). 针对无显示界面的 WebGL Streaming
QtWebGL Streaming 运行在浏览器中对 Qt Quick 应用实现专有、无损的远程连接(非镜像)。当远程应用使用新的平台插件运行时,应用会创建一个轻量级的 web 服务器。当用户连接到应用,在服务器和客户端之间打开一个基于 QWebSocketServer 的 web socket 连接。在远端电脑上运行的应用会将所有 GL 调用串化为二进制数据,并通过 websocket 连接发送。本地浏览器发送事件(鼠标、触摸或者键盘)到远端应用,从而实现用户的操作。甚至支持 6 指的多点触摸功能。
WebGL 并非 Qt for Automation 的专属部分,也适用于 Qt for Device Creation 和应用开发。只是 WebGL 在 Automation 和 IIoT 应用场景中更加突出其有点。
Qt World Summit 2017 上 Qt WebGL Streaming 视频介绍请点击这里。
6). Qt for Automation 以及云端集成
Qt 最近发布和微软合作,针对工业自动化领域,简化 Microsoft Azure Cloud Platform 和 Services 集成到工业物联网 IIoT。(https://www1.qt.io/qt-news/qt-company-collaborates-microsoft-simplify-cloud-connectivity-industrial-automation)
Qt 在诸多展会中演示了 Qt 应用可以容易地使用 MicrosoftAzure service。通过我们合作伙伴,我们可以在不同的平台上支持 Qt for Automation。其中的一个案例是在日本横滨举办的 EmbeddedTechnology 2017 上, Qt 充电桩 (EVSE) 采用了基于 NXP/Freescalei.MX 6 SoC 的 Toradex Colibri iMX6 计算机模块 。Qt 为 Toradex 模块提供现成的Boot2Qt 软件。这就可以使您能够非常容易地上手。使用这种组合,客户可以优化性能以及针对不同的使用类型创建可伸缩的软件。
Qt 充电桩 (EVSE) 演示
7). 集成支持 Toradex 模块
Toradex 和 Qt 联手在 Toradex 模块上优化 Qt。这包括例如优化针对没有 3D GPU 的低功耗模块上 2D 渲染性能、1.2秒冷启动时间等。
另一个方面的合作是开发体验。现成的 Boot2Qt 软件适用于大多数 Toradex 模块,您可以使用 ToradexEasy Installer 一键安装 Boot2Qt。
Toradex 的扩展能力能够精确满足您对于性能的要求。模块使用的 SoC 包括 Nvidia 和 NXP 的 i.MX 6、i.MX 7以及新的 i.MX 8。
8). 如何开始
Qt for Automation 在 Qt 5.10 中提供。访问https://www.qt.io/qt-in-automation/ 开始使用。了解如何在 Toradex 模块上使用 Qt 请访问 https://developer.toradex.com/knowledge-base/getting-started-with-qt
Qt for Automation 介绍相关推荐
- Qt插件机制介绍及实现
Qt插件机制介绍及实现 创建应用程序主窗口 创建Qt项目 编辑项目文件ImageView.pro mainwindow.cpp main.cpp mainwindow.cpp 编译运行 插件接口 实现 ...
- Qt的简单介绍和安装
目录 Qt的介绍 Qt的优点 Qt的安装 Qt的介绍 Qt是一个跨平台的C++图形用户界面应用程序框架,它为应用程序开发者提供图形界面所需的所有功能. 它是完全面向对象的,很容易扩展,并且允许真正的组 ...
- Qt状态机框架介绍(二)
前言 上一篇博客中已经介绍了Qt状态机的基础概念和用法,文章在这里,接下来继续介绍Qt状态机的使用. 历史状态的保存和恢复 前一个示例中,我们通过一个按钮中断状态机,在此基础上,如果我们中断状态机过后 ...
- 【Qt教程】Qt常用部件介绍
这里先给大家介绍 Designer(界面设计器)中例举的常用部件,以便对 Qt 的部件有一定认识,其具体用法后面再作介绍. 布局管理组(Layouts) 空间间隔组(弹簧)(Spacers) 按钮组( ...
- Qt的简单介绍,发展和由来
一.Qt的介绍 1. Qt是图形用户界面程序框架,也可以称作Qt库,能做界面的还有MFC(只能在windows下使用),GTK+ 2. Qt的由来和发展 1. Qt的历史: Qt是1991年奇趣科技公 ...
- QT:QObject 简单介绍
QObject 是所有Qt对象的基类. QObject 是Qt模块的核心.它的最主要特征是关于对象间无缝通信的机制:信号与槽. 使用connect()建立信号到槽的连接,使用disconnect()销 ...
- Qt Quick 3D介绍:Qt Quick的高级3D API
目录 我们的目标是什么?为什么提出另一个3D解决方案? 统一图形技术 直观易用的API Qt Quick的统一工具 一流的素材优化管道 跨平台性能和兼容性 Qt Quick 3D到底是什么? 您能用Q ...
- 从Qt 4到Qt 5(二)Qt 5框架介绍
导语 上一节已经安装好Qt 5.2,并将一个Qt 4程序迁移到了Qt 5上.其中我们讲到Qt 5中QApplication类已经不在QtGui模块中了,而且所有的Qt 5图形界面程序都必须在.pro项 ...
- QT编程核心技术介绍
第二章 Qt编程核心技术 Qt/X11与Qt/Embedded版本的Qt类库,尽管类的底层实现有一些细微区别,但类的声明及方法函数是一样的,对于编写Qt应用程序的编程者来说,几乎不需要关心这些区别,使 ...
最新文章
- C#/.Net判断是否为周末/节假日
- mybatis对mapper.xml的解析(三)
- IEEE Access latex 图片caption无法换行的问题
- Android攻城狮Gallery和ImageSwitcher制作图片浏览器
- 如何在MFC线程中使用控件的成员变量和函数
- notepad++ tcl_TCL科技前三季度净利20亿元,投资并购超200亿元
- 前端:JS/37/canvas对象(画布对象),用canvas对象(画布)画一些基本的图像
- jquery中prop()和attr()的使用
- form:errors path 不显示出错信息_视觉激光雷达信息融合与联合标定
- 机器学习基础(二十六)—— 将 SVM 推广到多类问题
- banner图/轮播图----html
- Visio-Cisco-华为-IBM网络设备官方模板
- 【无机纳米材料科研制图——OriginLab 0208】Origin拟合SERS拉曼光谱
- html画excel表格边框,设置Excel表格和单元格的边框和底纹 html表格单元格边框
- ABP-引入SqlSugar-简单版
- 读书笔记 - 《上帝的跳蚤》
- bigemap中下载边界_BIGEMAP地图下载软件-BIGEMAP地图下载器下载v19.2.0.0-西西软件下载...
- Mac必备效率软件|Alfred的基础使用教程
- python发邮件附件_python 发送带附件的邮件
- 水泥cement或英语caement水泥
热门文章
- 新媒体运营之如此微信养号不易封
- 交通规划辅助决策系统构建及佛山实践
- 上海市2019年公务员录用考试笔试合格人员笔试成绩(B类)
- 4.8 Best-First Search最佳优先搜索
- 主流App开屏广告一夜消失!满屏找“跳过”的时代快结束了
- C++:实现量化Everest Option埃弗勒斯峰型测试实例
- Python爬取笑话存储在mysql里
- 网站推荐及个性化桌面软件推荐
- python无法正常启动0xc000007b_(完美解决)应用程序无法正常启动(0xc000007b),请单击确定关闭应用程序的解决方案_来者即是客,我们共同成长-CSDN博客...
- 资产知识之双倍余额法