An open source project
Licensed under Apache-2
Sponsored by Red Hat
This presentation uses vertical slides to group content. Be sure to use space or n to advance to the next slide. Using ← or → will skip all vertical slides. |
An open source project
Licensed under Apache-2
Sponsored by Red Hat
Two main parts
Drogue Device
Drogue Cloud
Distribution of libraries and examples for building embedded IoT applications.
Written in Rust
Provides common required components and services
Based on a lot of components from the Embedded Rust ecosystem
IoT friendly APIs for the cloud
Common required IoT services
Connect any IoT device with custom backend applications
Programming language agnostic
We don’t provide an edge infrastructure.
We leverage projects like Microshift and Open Cluster Management instead to deploy our workload.
We do provide workload for the edge, which makes it easier to work with the cloud and devices.
Drogue Device and Drogue Cloud work great together…
…but can also be used in independently!
Distribution of tools and examples for building embedded IoT applications.
KiBs of RAM and storage
No operating system
No memory management
Cheap
Components from the Embedded Rust ecosystem
Embassy: Scheduler, hardware abstractions, time-keeping
Board Support Packages (BSP) for selected boards
Examples
Hardware support
STM32, nRF, Raspberry Pi Pico, ESP-32
Firmware update
Communication
TCP, HTTP
Bluetooth Mesh
Bluetooth Low Energy
LoRaWAN
IoT friendly APIs and services for the cloud.
Connecting your devices with applications. Solving common IoT tasks in the middle.
Device registry
IoT connectivity
Digital twin
Firmware Updates
Scalability
Manage millions of devices
Handle credentials & configuration
APIs and change events to integrate with others
Build operators to propagate changes
Or leverage existing ones
Device endpoints: MQTT, HTTP, CoAP
Protocol normalization
Payload agnostic events, based on Cloud Events
Basic preprocessing
Telemetry, Command & Control
Make available on the cloud side using: WebSocket, Kafka, MQTT, Knative eventing
It is an optional feature, built on top of the IoT connectivity layer, providing:
Data normalization
Structure data, post-process, evaluate
Reconcile device state
APIs
WebSocket & REST
OPC UA
Optional feature, built on top of the IoT connectivity layer and device registry:
Extends device registry schema to enable updates
Store firmware in containers or Eclipse Hawkbit
OTA protocol supported by all device endpoints
Source 2 Firmware using Tekton pipelines
REST API for triggering and monitoring builds
We have a public sandbox: https://sandbox.drogue.cloud
Or try a local deployment.
Questions?