Hardware/Software requirements
- It’s an Open-source project hosted on GitHub: pravega/pravega-sensor-collector.
- It’s a Micro-edge software with pre-requisites as: x86 machine with 4GB RAM and is supported on Linux OS.
- It’s a Java Application, with plug-in architecture.
- It supports:
- I2C Communication and is officially tested for ST Micro lng2dm 3-axis Femto accelerometer.
- Linux network interface card (NIC) statistics like byte counters, packet counters, error counters, etc.
- Phase IV Leap Wireless Gateway
- Generic CSV file import: if there’s no other way.
Data Collection
- Continuously reads data from directly connected sensors.
- Writes the data to a Pravega stream at the edge.
- Pravega Sensor Collector can support Data ingestion Speed of around 1000 samples per seconds (1 kHz) per sensor, and may be more.
- Data is transferred in Batches to Pravega cluster. It batches multiple samples into larger events that are periodically sent to Pravega cluster.
- The batch size is configurable to allow you to tune the trade-off between latency & throughput.
Offline mode
- It supports Intermittent connectivity loss to Edge Pravega Clusters.
- It can continuously collect high-resolution samples without interruption.
- It periodically attempts to reconnect to the Pravega server.
- Storage
- It stores collected sensor data on a local disk in SQLite database.
- Sync
- Pravega Sensor COllector takes care of data synchronization with Pravega Clusters.
- It coordinates SQLite transactions with Pravega Transactions with Two-Step Commit protocol.
- Samples bufferred are sent in-order without gaps or without duplicates.