Pravega Sensor Collector: A Pravega Agent for IoT devices

 

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.

Predictive Maintenance for IoT Example Solution Architecture

Predictive Maintenance for IoT Example Solution Architecture

References: