Problem
Currently, the SCIoT system only supports Raspberry Pi and ESP32 clients for edge inference and offloading. Mobile devices (smartphones/tablets) represent a significant use case for edge AI applications but lack native client support.
Motivation
- Ubiquity: Mobile devices are widely available and have significant computational power
- Use Cases: Real-time image recognition, video analysis, sensor fusion
- Platform Coverage: iOS and Android represent the majority of edge computing devices
- Camera Integration: Built-in high-quality cameras and sensors
Proposed Implementation
Phase 1: Architecture & Design
- Design mobile-specific architecture considering battery constraints
- Evaluate cross-platform frameworks (Flutter/React Native vs native Swift/Kotlin)
- Define API compatibility layer for existing server endpoints
- Design power-efficient inference scheduling
Phase 2: Core Features
- Camera Integration: Real-time video capture with configurable resolution/FPS
- Model Loading: Support for TensorFlow Lite / Core ML / ONNX models
- Inference Pipeline: On-device inference with layer-wise profiling
- Offloading Client: HTTP/MQTT communication with edge server
- Network Monitoring: Adaptive offloading based on latency and battery level
Phase 3: Platform-Specific Implementation
iOS (Swift/SwiftUI)
- AVFoundation for camera capture
- Core ML for on-device inference
- Vision framework for preprocessing
- Network framework for adaptive connectivity
Android (Kotlin/Jetpack Compose)
- CameraX API for camera management
- TensorFlow Lite for inference
- ML Kit for preprocessing
- OkHttp/Retrofit for networking
Phase 4: User Interface
- Live camera preview with inference overlay
- Real-time metrics dashboard (latency, FPS, battery usage)
- Offloading strategy selector (always local / always remote / adaptive)
- Model selection and configuration
Phase 5: Testing & Optimization
- Battery consumption profiling
- Network efficiency testing (Wi-Fi, 4G/5G)
- Comparative analysis vs Raspberry Pi client
- User experience testing
Technical Considerations
- Power Management: Background inference throttling, adaptive frame rate
- Model Optimization: Quantization for mobile deployment
- Connectivity: Handle network transitions gracefully (Wi-Fi ↔ cellular)
- Privacy: On-device processing options, data retention policies
- Compatibility: Support iOS 14+ and Android 8+
Deliverables
Dependencies
Files/Components to Create
src/mobile/ios/ - iOS application source
src/mobile/android/ - Android application source
src/mobile/shared/ - Shared business logic (if using cross-platform approach)
docs/MOBILE_SETUP.md - Mobile development and deployment guide
Estimated Effort: Large (6-8 weeks for both platforms)
Priority: Medium (expands platform coverage, significant user value)
Problem
Currently, the SCIoT system only supports Raspberry Pi and ESP32 clients for edge inference and offloading. Mobile devices (smartphones/tablets) represent a significant use case for edge AI applications but lack native client support.
Motivation
Proposed Implementation
Phase 1: Architecture & Design
Phase 2: Core Features
Phase 3: Platform-Specific Implementation
iOS (Swift/SwiftUI)
Android (Kotlin/Jetpack Compose)
Phase 4: User Interface
Phase 5: Testing & Optimization
Technical Considerations
Deliverables
Dependencies
Files/Components to Create
src/mobile/ios/- iOS application sourcesrc/mobile/android/- Android application sourcesrc/mobile/shared/- Shared business logic (if using cross-platform approach)docs/MOBILE_SETUP.md- Mobile development and deployment guideEstimated Effort: Large (6-8 weeks for both platforms)
Priority: Medium (expands platform coverage, significant user value)