原创 Qt for Automation 介绍

2018-4-16 16:31 2385 20 20 分类: MCU/ 嵌入式

By TheQt Company Anu Linjam?ki


当下工业 4.0  IIoT 带来了一系列新的挑战。将会有越来越多的在线设备生成更多的数据,这反过来会导致应用更加的复杂。 整个环境将会以更快的速度发生变化,包括设备状态、基础设施、应用复杂度和开发过程。为了应对这种挑战,设计师针对未来的 IoT 提出了一种新的通用框架设计。

Infrastructure design of future IoT

凭借这种设计,Qt  Toradex 活跃于 HMI  边缘设备/控制器领域。Qt 的优势诸如跨平台、用户体验、丰富的库文件和工具可以被自由得发挥。


The Qt Company 注意到开发智能设备以及 HMI对扩展性、协作性和性能需求的这些挑战。在工业自动化领域实现的方法不一而足,但是创建一种新的软件能够适合各种尺寸的设备、跨平台并且能够动态更新和维护,这确实是十分关键的。

 

1). 硬件选型关系重大

不久前,The Qt Company 发布了一系列的文章讨论设备的快速启动。根据应用的使用场景,您必须要考虑启动时间、应用优化、软件栈优化,当然还有硬件的选型。


硬件选型和硬件架构,即使在采用相同的 CPU 也会对最后启动时间产生巨大的影响。在一个简洁、明了的对比测试中,Toradex 的计算机模块的启动时间比对手明显快 19%294ms)。这种差距来自与 Toradex 模块更快的上电速度以及内核能够更早的访问 eMMC 从而获得更快的启动时间。

 

2). Qt 应用的结构是什么?

Software architecture for Qt-based industrial application

基于 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 使用 MQTTQt  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 electric charging station demo

Qt 充电桩 (EVSE) 演示


7). 集成支持 Toradex 模块

Toradex  Qt 联手在 Toradex 模块上优化 Qt。这包括例如优化针对没有 3D GPU 的低功耗模块上 2D 渲染性能、1.2秒冷启动时间等。


另一个方面的合作是开发体验。现成的 Boot2Qt 软件适用于大多数 Toradex 模块,您可以使用 ToradexEasy Installer 一键安装 Boot2Qt

Toradex 的扩展能力能够精确满足您对于性能的要求。模块使用的 SoC 包括 Nvidia  NXP  i.MX 6i.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

 

文章评论0条评论)

登录后参与讨论
我要评论
0
20
关闭 站长推荐上一条 /2 下一条