Qt 5.7 for Device Creation

With the Qt 5.7, we've improved a lot of things inside our offering for embedded device creation, the Qt for Device Creation product. Here's a brief overview on what has happened on this side, in addition to the enhancements to the other Qt 5.7 libraries many of which also facilitate the embedded development like for instance the new Qt Quick Controls 2.0. One of the biggest visible item inside our device creation offering is the Boot to Qt software stack, but in addition to just providing pre-built images, we've made our approach as customizable and easily installable as possible by harmonizing our work with the tooling from the Yocto Project.

Working with the Yocto Project

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. We have leveraged Yocto internally for a long time and for the past year we have been working together with meta-qt5, the open source Yocto compatible meta layer dedicated for building Qt modules for your embedded devices. We are working upstream within the Yocto Project and in addition we have a mirror of the meta-qt5 layer within the Qt Project to ensure it always works with the latest Qt version. The layer was also recently updated to provide recipes for the previously commercial modules (Qt Virtual Keyboard, Qt Charts and Qt Data Visualization), which are now also available with a GPL license for open source users of Qt 5.7.0. In addition, we in Qt are providing our own distro layer called meta-boot2qt. It is a glue which combines the vendor specific BSP layers and meta-qt5 into one package. In meta-boot2qt layer there are defined the stable and tested versions of the different software components so that it is you can kickstart you embedded project with your favorite hardware.

In all, our target has been to utilize the standardized Yocto Project mechanisms so that our offering is as compatible with Yocto Project as possible. With Qt 5.7, the pieces are nicely in place.

New Device Images

We've also updated the hardware selection for our pre-built software images with two new additions:

For these, and the other common development boards, we provide the pre-built image with our SDK installer. You can flash the device with the image and immediately get started with embedded development.

Windows Host Support

Few months ago with Qt 5.6, we introduced the possibility of using Windows host computer for embedded Linux development and deployment as a tech preview. With Qt 5.7 we've polished the solution even further and this is now fully supported.




Over-the-Air Updates (OTA)

A new piece of technology that we're introducing with Qt 5.7 for device creation is an OSTree-based solution for Over-the-Air software updates for the whole software stack. For the full story, please take a look at the separate blog post.

Graphics Updates

On the graphics side, we've added new configuration specs for NVIDIA DRIVE CX and NXP i.MX7. Laszlo wrote a full story around these in the blog last week, so read more from his post.

Qt Device Utilities

One part of our embedded offering is the Qt Device Utilities module that allows users to manipulate easily various embedded device settings via simple QML APIs.

Here's short overview of the different settings the new Qt Device Utilities has to offer:

  • QtDeviceUtilities.NetworkSettings
    • Network settings utilizes Connman backend and exposes settings for discovering, configuring and connecting to ethernet networks and wifi access points.
  • QtDeviceUtilities.DisplaySettings
    • Display settings allows user to set display's brightness level and change the physical screen size.
  • QtDeviceUtilities.TimeDateSettings
    • Time & Date settings provides functions to adjust system timezone, date and time settings either manually or automatically using NTP (Network Time Protocol)
  • QtDeviceUtilities.LocaleSettings
    • Locale settings allows to change current system locale including language and regional format
  • QtDeviceUtilities.LocalDeviceSettings
    • Provides utility functions for controlling an embedded device shutdown and reboot
  • QtDeviceUtilities.BluetoothSettings
    • Bluetooth settings allows to discover and connect to various bluetooth devices utilising Bluez backend (http://www.bluez.org/)
  • QtDeviceUtilities.SettingsUI
    • Settings UI QML component to display settings UI made with Qt Quick Controls 2

If you want to take a look at the new settings, we've updated the default demo launcher for the Boot to Qt image to use the new QtDeviceUtilities.SettingsUI plugin:



New display settings under Boot to Qt demo launcher, using the new Utilities module and Qt Quick Controls 2 Some of the new settings under Boot to Qt demo launcher, using the new Utilities module and Qt Quick Controls 2


So, that's pretty much it. Hope you enjoy Qt 5.7 for Device Creation!

For the customers with Qt for Device Creation license, you can find Qt for Device Creation components using your online installer. If you do not yet have Qt for Device Creation and want to try it out, please contact us to request an evaluation of Qt for Device Creation.

Blog Topics: