Skip to content

Apocalypes Gardens App Release

Latest
Compare
Choose a tag to compare
@sahan-panditharathne sahan-panditharathne released this 13 Sep 19:01
· 24 commits to main since this release
8b6667c

Mobile Application

The mobile app is built using flutter and it's designed for managing and monitoring garden sensors through Bluetooth connectivity. It allows users to connect to receiver devices, scan for and add sensor nodes, view sensor data, and analyze sensor readings over time.

Key Components

1. Landing Page

  • Welcomes users to the Garden app
  • Provides a button to connect a receiver device
Landing Page

2. Receivers Management

  • Displays a list of connected receiver devices
  • Allows users to edit receiver names
  • Implements a refresh mechanism to update the list

Receivers Management Edit Receiver Name

3. Device Scanning

  • Scans for available Bluetooth devices
  • Filters devices based on a specific service UUID
  • Allows users to add new devices to the system
Device Scanning

4. Sensors Overview

  • Shows a list of connected sensor nodes
  • Implements a dropdown to select the current receiver
  • Displays a sync card (used to sync data from a receiver device)
Sensors Overview

5. Sensor Detail View

  • Provides detailed information about a specific sensor node
  • Displays graphs of sensor data over time
  • Allows users to edit sensor name and description
  • Implements time range selection for data viewing (24h, 7d, 30d, custom)

Sensor Detail View Date selection

Key Features

  1. Bluetooth device scanning and connection
  2. CRUD operations for receivers and sensor nodes
  3. Data visualization through graphs
  4. Time-based data filtering
  5. Editable device information

Data Management

  • Uses DAO (Data Access Object) pattern for data operations
  • Implements separate DAOs for receivers, nodes, and sensor data
  • Utilizes SQLite database (implied by DAO structure)

UI Components

  • Custom widgets like SensorCard, GraphCard, and SyncCard.
  • Implements a side menu for navigation.
  • Uses Material Design components and custom styling.

Bluetooth Low Energy Integration

  • Utilizes the flutter_blue_plus package for BLE operations.
  • Implements scanning, connecting, and service discovery for BLE devices.

Data Visualization

  • Uses custom GraphData and GraphInterval models for data representation.
  • Implements dynamic graph generation based on selected time ranges.