Viironen Kalle

Qt 5.7 for Device Creation

Published Thursday June 16th, 2016
14 Comments on Qt 5.7 for Device Creation
Posted in Dev Loop, Embedded, Releases

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:

screenshot3

 

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.

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Dev Loop, Embedded, Releases

14 comments

Simon Plattten says:

Hi, I have been trying to build Qt for my Raspberry Pi 3, where can I download an image for it?

Thank you so much.

Kind Regards,
Simon Platten

@Simon: Pre-built embedded images are only available as part of Qt for Device Creation (commercially licensed product).

Don M says:

So … that”QT for Device Creation” is NOT available for Open Source projects?

@Don: Correct. Open-source hackers need to build the image themselves.

Simon Platten says:

That’s a real shame, I use Qt5.6 with a commercial license where I work, I wanted to do some work on the same project at home and would have used the RPi3 to do this.

I can’t justify a commercial license for doing this work at home. And there isn’t a good accurate guide on how to build Qt from source for the Pi 3. I’ve been trying and failing to get Qt5.6 compiled but the various wiki pages around for this are incomplete or inaccurate.

The source code [1] and instructions [2] how to build Qt optimized Yocto/OpenEmbedded images (including RPi3) is available also for open source users. So working from home shouldn’t be a problem 🙂

[1] http://code.qt.io/cgit/yocto/meta-boot2qt.git/
[2] http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html

Hermano says:

Will this process compile Qt for Device Creation without buying a license?

I want to learn device creation, but right now I’m not planning to write a commercial application, so it’s not affordable to buy a license.

I would like to know if after working on steps [1] and [2] above I will have access to a Qt for Device Creation up and running to play with?

If so, can I keep it installed after the 30-day period?

Viironen Kalle Viironen Kalle says:

With the evaluation license you can try out all Qt for Device Creation features up to 30 days. After that you should either buy the license or switch to Qt open source version.

Simon Platten says:

Thank you, I will investigate tonight.

Simon Platten` says:

Both of the links seem to be offline, from firefox I get Server not found for both links.

Simon Platten says:

They’re ok now.

Simon Platten says:

Is there an accurate and complete account and on how to get Qt installed and working such that it can be used for cross platform development? In my case on a Raspberry Pi 3. Unfortunately I’ve tried to follow several ‘official’ Qt guides where references are inaccurate and menus referred to in the guides to not match the software that is linked to in the downloads.

I’ve downloaded Qt 5.7 twice and installed it twice following the guide carefully, only to find that the menus in the information do not exist in the software downloaded.

I have Ubuntu 16.04, its up to date but ‘udisks’ will not install. I then tried to follow the information for setting up the Yocto environment however it isn’t clear and whilst the sight has a wealth of information its difficult to follow.

Is there an easy to follow step by step guide that covers everything to get the job done?

The quickest way to get started is to get the evaluation license. With this you would get a pre-build images and pre-configured Qt Creator. With this offering all you need to do is:
1) Deploy a binary image to an sdcard.
2) Boot and connect the device to the development machine.
3) Start writing your Qt application. And with a single click you get your application running on a device.
With this offering you also get all sorts of debugging tools that simply work out-of-box.

The other approach is to build and configure everything yourself, as I mentioned above.

> I then tried to follow the information for setting up the Yocto environment however it isn’t clear and whilst the sight has a wealth of information its difficult to follow.

If there are specific items which you think should be clarified, please create a bug report in https://bugreports.qt.io/ and assign to me.
Building images from source code and setting up a toolchain requires a familiarity with The Yocto Project, as stated in the documentation:
“You should be familiar with the Yocto tools and the concept of recipes. For more information, see Yocto Project documentation.”

Simon Platten says:

Thank you, I will certainly try this, if after the evaluation period expires can I continue to use the product with the open source license without re-building the install?

I have asked Qt, since I am using Qt at work daily for development of a system which is fully licensed, can I use the same license for development at home?

Commenting closed.

Get started today with Qt Download now