Gartner’s Hype Cycle is a graphical depiction of a common pattern that arises with each new technology or other innovation. This Hype Cycle charts the progress and potential of embedded software and system technologies. The information here should be used to select the best tools, software, hardware, messaging, security and communications systems as they become the core building blocks for the Internet of Things.
*Available for a limited time only
According to Gartner “software for embedded systems are the foundational blocks that enable the digitization of the physical world, the Internet of Things (IoT) and play a role that cannot be overemphasized.” You are in luck, because Qt just so happens to have all the necessary building blocks and tools for you to design, develop, and deploy software on ANY thing.
*Available for a limited time only
Central to most definitions of IoT devices is the fact that they are embedded systems that are often use M2M protocols. Gartner’s report mentions a variety of protocols used by our gadgets at home and at work to talk to each other. Below you’ll find examples of what you can pull out of Qt’s M2M library shelf (previously known as Qt for Automation, which also includes OPC-UA and KNX).
"CoAP helps reduce application development for low-power networks due to its ability to maintain reliability while allowing easy integration with existing internet technologies" (Gartner 2020). Qt CoAP – leveraging C++ and Qt for cross-platform IoT COAP is a specialized web transfer protocol for use with constrained devices and constrained networks in the Internet of Things. CoAP is based on the REST model and from a developer’s point of view feels similar to HTTP. Check out this on-demand webinar to learn more.
"MQTT is a connectivity protocol for constrained environments. This standard for messaging helps businesses achieve faster time to market for their products and services by combining M2M, mobile and enterprise applications, and cloud based services providing a reasonable degree of vendor independence and flexibility" (Gartner 2020). By design MQTT is super-lightweight, can communicate to just about anything, fulfills high cybersecurity standards, and guarantees state awareness to all infrastructure members.
Code less, create more, deploy everywhere is Qt’s very own mantra derived originally from Qt’s ability to work on any operating system. Now it also refers to Qt’s ability to run on any type of hardware, from super low-end microcontrollers with tens of kilobytes on bare metal, on FreeRTOS – a Micro-OS (IoT) to high-end microprocessors (MPU) with advanced 3D graphics.
"LCDBs accelerate IoT enabled device development from idea to prototype and even to mass production. This is critical to new product development, since it can shorten the time to market." So, whether you are prototyping on a Raspberry Pi, developing millions of devices on a STMicroelectronics, NXP or Renesas board MCU, high-end system on a chip (SoC) supercomputer or anything in between, Qt supports any hardware and operating system (OS). Check out our Qt for MCUs and Embedded device creation sections in our resource center to learn how you can prototype fast with Qt Design Studio, and shorten your product development life-cycle all the way from design, development, through to deployment.
"A micro-OS (IoT) is an embedded real-time operating system (RTOS) that provides the minimum resources needed to support a computing device. The footprint may be as small as 256 bytes. Amazon has integrated FreeRTOS into its IoT portfolio’ (Gartner). Qt recently added support for FreeRTOS with our Qt for MCUs offering. With Qt for MCUs you can go far lower if your run on ‘bare metal’ or without an operating system, but there are also several benefits of using a micro-operating system. ‘A micro-OS brings full multithreading capability; this feature makes it possible to run multiple functions independently of each other. The micro-OS, therefore, increases code reliability by creating some separation between functions (Gartner). Check out our documentation on how to build a Qt Quick Ultralite FreeRTOS application.
According to Gartner, "an embedded hypervisor provides a software virtualization layer that allows multiple OSs or execution environments to run simultaneously on an embedded processor. Unlike hypervisors used on desktop and general-purpose servers, an embedded hypervisor will typically support the real time operation and security requirements of many embedded systems" (2020). With Qt you can use hypervisors in multiple ways. Below you can find two of our recent innovations on using hypervisors.
The Qt Safe Renderer can run on a hypervisor that separates out the logic and functionality that is required to develop safe and secure embedded devices. It is certified by TÜV Nord for road vehicles (ISO 26262:2018-6, 2018-8 (ASIL-D)), railway software applications (EN 50128:2011 6.7.4 (SIL 4)), electrical/electronic safety related systems (IEC 61508:2010-3 7.4.4 (SIL 3)), and medical device software – software life-cycle processes (IEC 62304:2015 (2006 + A1)).
Top tier automotive OEMs have a wide range of vehicle variants from high-end to low-end driven by different hardware configurations. Maintaining a consistent brand identity through UX/UI across all car models, while maintaining maximum project reusability can be a constant balancing act. Qt provides a standardized, configurable, and maintainable HMI framework, while being flexible to work on any operating system. At CES 2020, we showcased a multi-layered display which can run Qt on QNX or Integrity RTOSs for the instrument cluster, Qt and Linux for the mission critical features including ADAS, backup camera, HVAC control providing fast boot and high performance, and Android Automotive OS for the app ecosystem. Check out a video of the demo.
Qt for Python (also known as PySide 2) is the project that provides the official set of Python bindings. As Python is becoming increasingly popular, the project is gaining a lot of interest due to the ease of creating user interfaces with advanced graphics for machine learning, artificial intelligence, business intelligence applications for desktop. "Micropython is an implementation of the Python 3 programming language created to run on microcontrollers" (Gartner). Embedded devices with limited resources, can take advantage of using compiled C++ binaries for higher performance at a lower footprint over scripted languages such as Python. Qt is the de facto or default choice for creating C++ applications. Although we do not support MicroPython today, we are watching the progress of micropython closely, so feel free to start a discussion on our forum.