Deliverables and Key Performance Indicatiors - kobeylake/ares-red GitHub Wiki

Key Performance Indicators

KPI Description Success Metric
1. Accurate Environmental Monitoring Thingy:52 node collects temperature, humidity, and air quality (eCO₂) readings. Sensor values are broadcast via BLE advertising with <5% packet loss and within valid calibration ranges.
2. Reliable BLE Communication BLE advertising used from Thingy:52 to base node, and from base to actuator node, ensures timely transmission. Data received every 1–2 seconds with <200ms processing delay on receiving node.
3. Distance Sensing for Presence Detection Base node uses an ultrasonic sensor to detect proximity events or door state. >90% detection accuracy with filtered values to avoid noise; stable results under test conditions.
4. Intelligent Vent Control Base node calculates servo angle using sensor fusion (CO₂ + temperature), sends angle over BLE to actuator node. Actuator node receives BLE packet and updates vent servo within 2 seconds; smooth transitions with optional manual override.
5. Real-Time MQTT Publishing Actuator node forwards JSON packets received via BLE to Windows PC, which publishes to Mosquitto broker. JSON packets printed over UART and published to MQTT within 1 second of BLE receipt.
6. Visualisation and Logging Grafana dashboard on third PC visualises environmental data via MQTT subscription. Dashboard reflects live data with ≤2s delay; matches JSON packets; supports cross-verification with CLI.
7. Command Line Interface (CLI) Shell interface on Ubuntu PC allows control over sensor fusion mode, ultrasonic toggling, and manual servo settings. Commands execute instantly (<100ms latency); override modes visibly impact system behaviour.
8. BLE Payload Parsing and JSON Formatting Custom 12-byte BLE advertising packets parsed and converted to JSON on actuator node. JSON output is correctly structured and printed over UART every cycle with 100% parsing reliability.

Technology Used

Sensors:

  • Thingy:52
    • Temperature
    • Humidity
    • Air Quality (eCO₂)
  • Base Node (nRF52840DK)
    • Ultrasonic sensor (for proximity/distance sensing)
    • Soil moisture sensor (not implemented in final design)

Actuators:

  • Servo motors powered via Adafruit CRICKIT
  • Angle set using sensor fusion or CLI override
  • M5 Core2 originally considered as a display but replaced by PC dashboard

Wireless Communication:

  • Bluetooth Low Energy (BLE)
    • Thingy:52 → Base Node (advertising)
    • Base Node → Actuator Node (advertising)

Processing & Logic:

  • Sensor fusion algorithm based on CO₂ + temperature to determine vent angle
  • CLI interface to toggle ultrasonic sensing, override sensor values, and switch manual/auto modes
  • Manual control of angle and data spoofing for testing

Data Forwarding & Dashboard:

  • UART over USB: Base and actuator nodes connected to separate PCs
  • Mosquitto MQTT Broker: Hosted on Windows PC connected to actuator node
  • Grafana Dashboard: Real-time visualisation of JSON-formatted packets from actuator node