Admin & Kiosk Configuration π§
The REward ecosystem includes a powerful Bluetooth-based configuration system that allows administrators to set up or update kiosks wirelessly using the Flutter app.
ποΈ Wireless Setup (BLE)
Every REward kiosk acts as a Bluetooth Low Energy (BLE) server on boot. This allows for "Zero-Flash" configurationβyou can change the kiosk's settings without needing to plug it into a computer.
Configuration Parameters
Through the Admin app, you can configure:
1. WiFi SSID: The network name the kiosk should connect to.
2. WiFi Password: The WPA2/Personal password.
3. Kiosk ID: The unique identifier (e.g., kiosk_01) used in the database.
4. API Secret: The X-API-Key used to authenticate requests to the backend.
BLE Technical Details
- Device Name:
REward-Kiosk - Service UUID:
12345678-1234-1234-1234-123456789abc - Characteristics:
0...01: WiFi SSID (Read/Write)0...02: WiFi Password (Write Only)0...03: Kiosk ID (Read/Write)0...04: API Secret (Write Only)
π± Admin App Integration
The Flutter app contains a dedicated Configure Kiosk screen (accessible only to admins).
How to Configure a Kiosk:
- Power On: Plug in the ESP32 kiosk. The LED will blink slowly (Idle).
- Scan: Open the app, go to Admin Dashboard -> Configure Kiosk.
- Connect: Tap "Scan" and select the
REward-Kioskdevice. - Update: Enter the new credentials and tap Send Configuration.
- Reboot: The kiosk will receive the data, save it to its internal memory (NVS), and automatically attempt to reconnect to the new WiFi.
π Management Dashboard
Beyond hardware setup, the app provides real-time oversight of the entire system:
1. Live Statistics
View total users, active offers, and total recycling volume across all kiosks.
2. Global Announcements
Draft and send push notifications to all users simultaneously via Firebase Cloud Messaging (FCM).
3. Offer Management
Add new rewards to the "Spend Points" catalog, set point costs, and upload reward images.
4. User Oversight
Monitor recent transactions and identify high-performing recycling hubs.