by THEQT company Anu Linjamki
Today, Industry 4.0 and IIoT bring a number of new challenges. There will be more and more online devices generating more data, which in turn can lead to more complex applications. The entire environment will change at a faster rate, including device status, infrastructure, application complexity, and development processes. To address this challenge, designers are proposing a new universal framework design for the future of IoT.
With this design, Qt and Toradex are active in the HMI and edge device/controller areas. The advantages of Qt such as cross-platform, user experience, rich library files and tools can be freely played.
The Qt Company notes the challenges of developing smart devices and the needs of the HMI for scalability, collaboration, and performance. There are many ways to achieve this in the field of industrial automation, but it is really critical to create a new software that is suitable for all sizes of devices, cross-platform, and dynamic updates and maintenance.
1). Hardware selection is a big relationship
Not long ago, the Qt company released a series of articles discussing the Quick start of the device. Depending on the usage scenario of your application, you have to consider startup time, application optimization, software stack optimization, and of course hardware selection.
Hardware selection and hardware architecture, even with the same CPU, can have a significant impact on the last boot time. In a concise, clear contrast test, Toradex's computer module has a significantly faster start-up time than the opponent's 19% (294ms). This gap comes from faster power-up speeds with the Toradex module and the ability for the kernel to access EMMC earlier for faster boot times.
2). What is the structure of the Qt application?
The architecture of industry application software based on Qt
./application: basic software, including your company-specific programs-control special hardware or encrypt your unique algorithm library files
./UX: A bridge between your app and your users. Developed by your team with a strong Qt framework
./third-party components: software libraries, databases or protocol stacks-software your application relies on, but does not require your company to develop
./Qt Runtime Library: Qt UI component with a large number of supported features and library files
./C + + Runtime library: Run components and library files provided by the C + + compiler
./operating system: the interface of your hardware. Depending on your needs, this could be a desktop operating system, a Linux-derived version, or an RTOS
Qt Forautomation combines multiple technologies and is designed to address a wide range of common industry needs. Developers can choose the automation protocols they need, virtual keyboards, charts, tag views, internationalization (multi-lingual), remote interfaces for multi-client access without installation, and configuration tools.
In addition, Qt for Automation includes technologies for common issues-managing targets and devices securely and reliably across widely distributed networks:
3). QTMQTT Importing remote information to the cloud
QTMQTT is a client instance that can be used to develop devices to send data, and to monitor scenarios for receiving and managing data. QTMQTT does not focus on proxy functionality. One point worth mentioning is that QTMQTT can be fully compliant compared with other options. It supports 3.1 and 3.1.1 levels, QoS All levels, authentication, SSL connections, and last would. As for security, QTMQTT is implemented in two ways: by using username and password authentication and using SSL/TLS as the connection channel when establishing a connection. This is also very easy to extend, and you can use other transport methods based on Qiodevice or Qabstractsocket. This means that you can create your own transport mechanism that is sent to qmqttclient before the connection is established. An example shows how to use MQTT,QT to provide a separate module for WebSockets with WebSockets. Due to different ways of sending and receiving data, Qwebsocket is not based on Qabstractsocket. However, there are very detailed specifications on how to use WebSocket to push MQTT data (Sent in binary form, must be medium in one datagram). Therefore, you can create a very simple class. The specification description can be found in the Qtmqtt module instance.
As a result, QTMQTT's small footprint, low power consumption, compact data package, and efficient single-point/Multipoint information publishing make it an ideal choice for IoT applications. Finally, QTMQTT has no external dependencies and you don't have to worry about it.
For more information on the MQTT video on Qt World Summit, click here.
4). Smart home becomes more simple
KNX is a European leader in smart home and Building Protocol (https://www.knx.org) with its programming and installation control PC software. KNX focuses on most male startups, and the standards they set are ubiquitous and supported by many vendors. The long-term challenge for KNX is that it is difficult to develop and deploy client applications. QTKNX is a library of Qt for Automation, providing open source and commercial deployment strategies that fill the gaps in some companies ' customized UI for smart buildings. It supports the integration of different functions (e.g. language recognition) and technology (Bluetooth Low energy technology).
First, QTKNX can be used to develop KNX clients that can discover KNX services and control and manage installations on the server side. In the QT World Summit 2017 demo, QT shows how to use KNX as a communication protocol between the Control Panel and the device to control the lights in your home.
Qt World Summit 2017 on QTKNX demo video click here.
The development continues, and we look forward to the next new features.
5). WebGL Streaming for no display interface
QTWEBGL streaming runs in the browser for a proprietary, lossless remote connection (non-mirroring) of the Qt Quick application. When the remote app runs with the new platform plug-in, the app creates a lightweight Web server. When the user connects to the app, a qwebsocketserver-based web socket connection is opened between the server and the client. Apps running on the remote computer string all the GL calls into binary data and send them over the WebSocket connection. The local browser sends events (mouse, touch, or keyboard) to the remote application, enabling the user to operate. It even supports multi-touch functions with 6 fingers.
WebGL is not a dedicated part of Qt for Automation, it is also suitable for use with QT for Device Creation and application development. It's just that WebGL is a bit more prominent in Automation and IIoT scenarios.
QT World Summit 2017 on QT WebGL streaming video introduction please click here.
6). Qt for Automation and cloud integration
Qt recently released and partnered with Microsoft to streamline the integration of Microsoft Azure Cloud Platform and Services into the industrial IoT IIoT for industrial automation. (https://www1.qt.io/qt-news/qt-company-collaborates-microsoft-simplify-cloud-connectivity-industrial-automation)
QT has demonstrated in many exhibitions that QT applications can easily use the Microsoftazure service. With our partners, we can support Qt for Automation on different platforms. One of the cases was the Embeddedtechnology 2017, which was held in Yokohama, Japan, and the Qt charging pile (EVSE) uses a toradex Colibri iMX6 computer module based on the nxp/freescalei.mx 6 SoC. Qt provides ready-made BOOT2QT software for Toradex modules. This allows you to easily get on the ground hand. With this combination, customers can optimize performance and create scalable software for different usage types.
Qt Charging Pile (EVSE) demo
7). Integrated Support Toradex Module
Toradex and Qt teamed up to optimize QT on the Toradex module. This includes, for example, optimizing 2D rendering performance on low-power modules without a 3D GPU,Cold start time of 1.2 seconds , and so on.
Another aspect of collaboration is the development experience. Ready-to-use BOOT2QT software is available for most toradex modules, and you can install BOOT2QT using Toradexeasy Installer one-click.
Toradex's ability to scale can precisely meet your performance requirements. The SoC used by the module includes the I. MX 6, I. MX 7, and the new I. MX 8 for Nvidia and NXP.
8). How to get Started
Qt for Automation is available in QT 5.10. Access https://www.qt.io/qt-in-automation/to start using. Learn how to use Qt on the Toradex module to access HTTPS://DEVELOPER.TORADEX.COM/KNOWLEDGE-BASE/GETTING-STARTED-WITH-QT