Betriebssysteme, Tools und Dienstleistungen
für die Entwicklung überlegener Embedded-Systeme
Home
Products
HMI and Graphics

HMI-Technologie

LTE Connected Car
Connect proof-of-concept car
ng Connect proof-of-concept car with cloud connectivity
Whitepaper
3D Graphics: Adding a New Dimension to Your Embedded System
Webinar
Leveraging the Power of Adobe Flash in Embedded Devices
Free software evaluation
RTOS, tools and more
Foundry27
Source, upgrades, community forums, and more
BSPs and drivers
Hardware support directory
Ready to buy?
Product delivery options
We're here to help
  1. Übersicht
  2. Vorteile
  3. Technologie
  4. Neuigkeiten

QNX® Software Systems bietet ein umfassendes Angebot für die effiziente Entwicklung anspruchsvoller und leistungsfähiger grafischer Anwendungen für Embedded-Systeme. Unsere Lösung basiert auf einer universellen Applikationsplattform, welche die modernsten heute verfügbaren Mensch-Maschine-Schnittstellen (engl. "HMI" für "human-machine interface") unterstützt und problemlos neue Technologien integriert.

Der QNX Composition Manager erlaubt die Kombination von Anwendungen verschiedenster Programmiersprachen und Umgebungen. So können C/C++ Programme, HTML-Dokumente oder 3rd-party Umgebungen wie Elektrobit Guide, Crank Storyboard oder QT gemeinsam auf einem Monitor dargestellt werden. Aktuell umfasst die HMI Unterstützung von QNX Software Systems folgende Technologien:

  • HMTL5
  • Native OpenGL ES Anwendungen
  • Native 2D Anwendungen
  • Videowiedergabe
  • Anwendungen aus App-Stores
  • Graphische Komposition unterschiedlicher Anwendungen durch den Composition Manager

Weitere wichtige Features sind:

  • Application-Framework mit Lifecycle-Management zur schnellen und einfachen Anwendungserstellung für Embedded-Systeme.
  • Vielfältige Schnittstellen für den Zugriff auf Native-Code Bibliotheken und Betriebssystem-Services aus der HMI-Schicht (JavaScript)
  • Umfangreiche Optimierung für effiziente Speichernutzung und geringstmöglichen Overhead

Universelle Plattform

Die QNX HMI Technologie unterstützt mit einer Plattform eine Vielzahl unterschiedlicher HMI-Technologien. Entwickler können sich frei für die am besten geeignete Technologie entscheiden und somit maximale Effizienz bei zukünftigen Entwicklungen erreichen.

Zuverlässigkeit

Da die gesamte HMI Technologie auf dem QNX® Neutrino® Echtzeitbetriebssystem aufsetzt, profitiert man automatisch von der erwiesenen Zuverlässigkeit dieses Systems.

Time-to-Market

Die QNX Software Systems HTML5-Unterstützung erlaubt es Entwicklungsteams, die HMI für das endgültige Produkt direkt und ohne Neucodierung aus dem Prototypen der Oberfläche zu erstellen. Man kann die Oberfläche am Desktop testen und dann direkt und ohne weitere Anpassungen auf dem Embedded-System ausführen.

Umfangreiche Ressourcen

Durch die Vielzahl unterschiedlicher HMI-Technologien haben Entwickler den Vorteil, auf HMI- Standardimplementierungen, Codebeispiele, Bibliotheken, Lernmaterialien und eine große Entwickler-Community zurückgreifen zu können.

Native-Code Schnittstellen

Dank der QNX HMI-Technologie können Entwickler aus Programmierumgebungen für die HMI-Entwicklung, wie z.B. ActionScript oder JavaScript, direkt Aufrufe in Native-Code durchführen. Somit kann man auf Betriebssystemdienste zugreifen, gezielte Optimierungen durchführen, Multi-Threading verwenden und Native-Code Bibliotheken einsetzen.

App-Store Technologie

Mit der QNX Software Systems App-Store Technologie kann man Systeme so implementieren, dass die Endkunden ihre Produkte flexibel anpassen und erweitern können.

Cross-Plattform Komptabilität

HTML5 Anwendungen sind grundsätzlich Cross-Plattform fähig: Mit QNX HMI-Technologie entwickelte HTML5-Anwendungen können in einer beliebigen anderen HTML5-Umgebung ausgeführt werden - alle Anwendungen laufen ohne weitere Anpassung in einer HTML5-Engine.

Die QNX® HMI-Technologie bietet das Beste aus beiden Welten - einerseits kurze Entwicklungszeiten und andererseits High-End Grafik und die Leistungsfähigkeit von Native-Code Programmen.

 
  1. Application-Framework
  2. HTML5
  3. Bildkomposition

  4. Video
  5. Branchenlösungen
  6. Native Schnittstellen

Das Application-Framework besteht aus einer Menge von JavaScript Klassen, die auf die Funktionalität von HTML5 aufsetzen. Sie erlauben die schnelle und effiziente Entwicklung von Anwendungen mit konsistentem Verhalten durch eine Vielzahl verfügbarer Services und eine vollständige Laufzeitumgebung.

Das Application-Framework erweitert die Adobe Flash Engine um folgende Funktionalitäten:

  • Application Lifecycle-Management
  • Datenpersistenz für Anwendungen
  • Statusbars, Navigationsleisten, Badge-Icons, Wallpapers
  • Bildschirm-Layout- und Resize-Management
  • Spezialisierte Widgets wie Scroll-Lists, Bildschirmtastaturen und Dialoge
  • Schnittstellen zu darunter liegenden HMI- und Betriebssystemdiensten
  • Erweiterungen für den Zugriff auf Native Code

HTML5 verkörpert das Web 2.0: Es erweitert die bisherigen statischen Möglichkeiten von HTML mit neuen Werkzeugen für die Entwicklung vollständiger Web-Anwendungen. QNX verwendet eine aktualisierte Webkit- Portierung, die einen Großteil der aktuell vorgeschlagenen HTML5-Features unterstützt.

Erweiterungen wie JNEXT bilden die Brücke zwischen JavaScript und der Native-Welt, damit können HTML-Anwendungen auf Ressourcen außerhalb des Browsers zugreifen. Die HTML5 Rendering Engine kann als Browser in einer Browser-Anwendung verwendet werden, oder aber in Anwendungen integriert werden, die HTML5-Inhalte darstellen müssen.

QNX unterstützt alle Features des HTML4-Standards. Von QNX neu unterstützte HTML5-Features sind u.a.:

Form

  • autocomplete
  • pattern
  • autofocus
  • multiple
  • maxlength
  • novalidate
  • keygen
  • search
  • tel
  • url
  • email
  • number
  • color

Elements

  • section
  • nav
  • article
  • aside
  • hgroup
  • header
  • footer
  • ruby
  • embed
  • video
  • audio
  • source
  • canvas
  • inline SVG

Attributes

  • manifest
  • charset
  • sandbox
  • contenteditable
  • draggable

Specifications

  • Selectors API
  • Web Storage
  • Web Database
  • Web Sockets
  • Web Workers
  • Geolocation API

Der Composition Manager des QNX Neutrino Echtzeitbetriebssystems erlaubt Entwicklern, die Ausgaben unterschiedlichster Fenster und Prozesse (Flash, Native-Code Anwendungen, Browser) auf einem Bildschirm zu integrieren - auch bei weniger leistungsfähigen Grafikcontrollern, die Hardware-Layering nicht unterstützen.

Der Composition Manager unterstützt sowohl Hardware-Layer, als auch durch Software emulierte Layer und erlaubt die einfache Erzeugung von transparenten Bereichen in Videos und Flash-Inhalten.

Der QNX Composition Manager unterstützt die Kontrolle der Anordnung des Fensters eines Subprozesses, zum Beispiel eines umgebenden HMI-Fensters, welches einen darin enthaltenen Browser oder eine 3D-Visualisierung kontrolliert. Die Fenster des Subprozesses können in vielfältiger Weise verändert werden, beispielsweise durch Verschiebung, Vergrößern / Verkleinern, Rotieren und Transparenz.

QNX Software Systems unterstützt Video-Codecs für die Wiedergabe von Videodateien, Multimedia-Inhalten, IP Video-Streaming und DVDs.

Unter anderem werden folgende Videoformate unterstützt: MPEG-4, MPEG-2, H.264, H.263, DVD-V Navigator.

QNX Software Systems bietet passende Lösungen für jedes Marktsegment, wie z.B. Automotive oder Industrial. Diese Lösungen stellen weitgehend vorgefertigte Technologien zur Verfügung, die eine schnelle und einfache Entwicklung vollständiger Systeme ermöglichen.

Automotive

Die QNX CAR Application Platform basiert auf der QNX HMI Technology und bietet zusätzliche Infotainment-Features wie den Virtual Mechanic, Google Local Search, Spracherkennung, Klimaautomatik, Kontrolle des Audiosystems und einen Werkstatt-Terminplaner. Die gleiche Technologie wird auch im LTE Connected CAR verwendet, das zusammen mit Alcatel-Lucent als Teil von ng Connect realisiert wurde.

Industrial

Das QNX Smart Energy Referenzdesign zeigt, wie man eine intelligente Energiesteuerung für Eigenheime realisieren kann. Die Hauseigentümer haben durch ein lokales Netzwerk, ZigBee Sensoren, IP Videostreams und Internetanbindung, sowie einer Verbindung zur Herstellerfirma, volle Kontrolle über ihr Haus und den Energieverbrauch.

Zukunft

Bei QNX Software Systems denken wir ständig über zusätzliche Varianten unserer Branchenlösungen nach, um unsere HMI Technologie für weitere Märkte verfügbar zu machen. Mehr Informationen zu den aktuellen Entwicklungen finden Sie auf Foundry27.com.

QNX bietet zwei wesentliche Schnittstellen zu Native-Code.

Persistent Publish/Subscribe (PPS)

Persistent Publish/Subscribe ist ein asynchroner Mechanismus für Kommunikation von C/C++ Diensten mit HMI-Code oder JavaScript (HTML5). PPS-Publisher stellen für den Rest des Systems eine Schnittstelle in Form eines hierarchischen POSIX-Namespaces zur Verfügung. Schnittstellen-Komponenten für die Registrierung bei einem PPS-Service werden mit jeder HMI-Umgebung zur Verfügung gestellt.

PPS hat folgende Eigenschaften:

  • Objektattribute - PPS verwendet Objekte, die mehrere Attribute besitzen und die unabhängig voneinander verändert werden können
  • Delta-Modus - Änderungen an PPS Objekten können vollständig (der Subscriber wird bei allen Schreibzugriffen benachrichtigt) oder selektiv (der Subscriber wird nur benachrichtigt, wenn Attribute ihren Wert ändern) empfangen werden
  • Mehrere Publisher für ein Objekt - Mehrere Publisher können auf dasselbe PPS-Objekt schreiben und dabei kann jeder Publisher eine unterschiedliche Menge von Attributen "besitzen". In einem Multimediasystem beispielsweise könnte eine Komponente die Quelle eines "time::value" Attributes sein, während die HMI die Quelle für ein "duration::value" Attribut bildet.
  • Mehrere Subscriber - PPS-Clients können sich bei mehreren Objekten registrieren und jedes PPS-Objekt kann mehrere Subscriber haben. Verändert ein Publisher ein Objekt, so werden alle am Objekt registrierten Subscriber über die Änderung benachrichtigt.
  • Push und Pull - Standardmäßig arbeitet das QNX PPS als "push"-System. Aber es ist auch möglich, dass ein Subscriber die Daten selbst beim Publisher abholt ("pull"). Somit kann das Publishing an den Bedarf angepasst werden.
  • Zuverlässige Speicherung - Die Speicherung von PPS Objekten kann für jedes Attribut einzeln vorgenommen werden.

Native-Erweiterungen

QNX bietet die Möglichkeit, von Anwendern erstellte C/C++ Objekte in HMI-Umgebungen zu laden und direkte Aufrufe in diese Objekte auszuführen. Dazu definieren Sie zuerst eine Schnittstellenklasse in ihrer Scriptsprache und erstellen dann die implementierende Klasse in C oder C++ . Aufrufe in der Scriptsprache werden dann an den Native-Code weitergeleitet. Somit können Sie auf Hardware-Ressourcen zugreifen, Threading verwenden, Betriebssystem-Dienste nutzen und Middleware-Komponenten integrieren.

Die QNX HMI Technologien werden ständig weiterentwickelt und bilden die Basis für die QNX CAR 2 Plattform.

Siehe auch: QNX CAR project.

 
©2013 QNX Software Systems Limited, a subsidiary of BlackBerry.   BlackBerry Logo