Das Entwicklen von "Connected Devices" ist soeben ein gutes Stück einfacher geworden

Flake ist eine Middleware, die sicherstellt, dass alle beteiligten Geräte und Anwendungen in einer verteilten Umgebung über eine Vielzahl von Kommunikationsmedien miteinander Informationen austauschen können. Schnell, sicher und zuverlässig.

Dabei ist Flake sowohl Protokoll als auch Software-API und glänzt durch seinen kleinen Memory-Footprint, der vor allem in Embedded-Devices eine große Rolle spielt. Aber auch einen geringen Energieverbrauch - eine der unverzichtbare Anforderung an batteriebetriebene Geräte - unterstützt Flake durch optimierte Kommunikation mit minimaler Datenübertragung. Trotzdem stehen jedem Kommunikationspartner alle relevanten Daten immer in Echtzeit zur Verfügung.

Vor allem aber, lässt sich die Time-to-Market mit Flake drastisch reduzieren, da sich Anwendungen damit in kürzester Zeit umsetzen lassen.

Device-to-App Kommunikation im Lokalen Netzwerk

Auf ARM Cortex-M MCUs ist der Footprint für den Flake Server nur ca 100kB groß. Dadurch kann eine App (iOS oder Android) die das entsprechende Flake-SDK verlinkt direkt mit dem Connected-Device interagieren ohne den Umweg über einen Cloud-Service zu gehen. Die Anwendung ist unabhängig von Internet-Verfügbarkeit und weist geringste Latenz auf. Natürlich ist eine TLS gesicherte Verbindung zur Cloud, falls benötigt jederzeit (zur Laufzeit!) durch einfache Konfigurationsoption möglich

Device-Discovery

Flake ist im Gegensatz zu anderen verfügbaren Lösungen selbstbeschreibend. Dadurch lassen sich Anwendungen erstellen, die Geräte in Ihrer Umgebung abfragen und darauf aufbauend entsprechend passende Benutzeroberflächen anbieten können. Die App eines Anbieters kann so auf einfachste Weise auch für kommende Produkte genutzt werden. Aber auch übergreifende Apps, die Kompatibilität zwischen Geräten verschiedener Anbieter ermöglichen sind so kein Problem.

Device-Provisioning

Um z.B. dem smarten Zuhause ein neues Gerät hinzuzufügen muß dieses autorisiert und mit dem Internet verbunden werden. Die Flake-SDKs für iOS und Android haben diese Funktionalität schon eingebaut. Über Bluetooth LE oder NFC ist das Einrichten neuer Geräte nicht nur für den Endkunden ein Kinderspiel. Im Fall von NFC muß das einzurichtende Gerät sogar - wie von kontaktlosen Bezahlvorgängen bekannt - lediglich mit dem Smartphone berührt werden, um es dem WLAN Netzwerk hinzuzufügen.

Mesh-Networking

Geräte mit Flake können untereinander Nachrichten weiterleiten und so als Repeater bzw. Relay dienen. Dadurch erhöht sich die Reichweite eines Systems ohne zusätzliche externe Komponenten. Vor allem in Deployments, die auf Broadcast-Typologien basieren, wie die ISM und SRD Bänder im 433, 868 und 910 MHz Bereich können so erheblich größere Reichweiten erzielt werden, als die Funktechnologie allein, beschränkt durch die physikalische Freiraumdämpfung, zulässt.

Encryption out of the Box

Wird sonst bei Schmalband-Verbindungen auf AES mit festen Schlüsseln gesetzt, weil TLS hier zu "aufgebläht" wäre, setzt Flake auf Dynamischen Schlüsseltausch nach dem Diffie-Hellman Verfahren. So besteht keine Gefahr, dass ein "Master"-Schlüssel geleakt werden kann und dadurch zahlreiche Deployments unsicher würden. Außerdem basiert die Flake Verschlüsselung auf der ECC Curve 25519, die als besonders sicher zu betrachten ist, weil Sie gegen Timing-Seitenkanal Angriffe immun ist.

Darf's noch etwas einfacher sein?

Mit den auf Flake-Technologie basierenden Produkten Coldwave und Snowhill bieten wir zwei fertige Software-Lösungen für industrielle IoT Deployments und die Entwicklung eigener Connected-X Produkte

Industrielle IoT Anwendungen

Großflächige und Mobile Deployments

Connected-X Produkte

Entwicklung von Consumer-Hardware

Der Flake Stack

Flake ist als SDK erhältlich für

Sie interessieren sich für Flake? Schreiben Sie uns!