⚠️ Disclaimer: This is a simulation project intended for demonstrating embedded system design and data integration. It is not a production-level implementation of the actual Kobe Robot or its proprietary systems.
This project simulates an embedded bridge system that connects third-party wearable fitness devices (like Fitbit or Garmin) to Kobe's B2C ecosystem. It uses an ESP32 microcontroller to handle Bluetooth Low Energy (BLE) communications with wearables, buffer the fitness data (heart rate, step count), and sync it to Kobe’s main system over Wi-Fi through a local network API.
🔗 BLE Pairing with secure two-way validation and reconnection logic.
📶 Wi-Fi Connectivity with auto-reconnect and local API push.
📊 Real-Time Buffering for heart rate and step count.
🚨 Threshold Alerts when heart rate exceeds safe range.
📡 Seamless Sync to Kobe's system when buffer is full.
-
ESP32
-
Arduino Framework (PlatformIO/Arduino IDE)
-
BLE (GATT Profile)
-
Wi-Fi + HTTPClient
-
FreeRTOS (Threading BLE & Wi-Fi)
.
├── main.ino # Main logic
├── blue.h / blue.c # Bluetooth setup, notify, reconnect
├── buffer.h / buffer.c # Data buffering logic
├── api_handler.h / .c # API POST functions
├── secretes.h # Wi-Fi credentials
├── README.md
├── imgs # assets
BLE Scan & Pair → Wearable Device
Register Notification → Heart Rate & Step Count
Buffer Values → Local Storage on Device
Buffer Full → Trigger HTTP POST to API
Kobe Server Receives → Data Sync + Device Metadata
-
Clone the repo and open in Arduino IDE or PlatformIO.
-
Add your secretes.h:
const char* ssid = "your_wifi_ssid";
const char* password = "your_wifi_password";
-
Flash to ESP32.
-
Monitor logs using Serial Monitor at 115200 baud.
-
Endpoint 1: /api/heart_rate
-
Endpoint 2: /api/step_count
-
Endpoint 3: /api/register_device
-
Endpoint 4: /api/is_device_secured
-
Format: JSON { heart_rate: [...], steps: [...], device_name: "", mac: "" }
Multi-user wearable support
Onboard analytics for alerting
MQTT instead of HTTP for real-time feedback