Edge-to-Cloud Monitoring and Control System

Edge to Cloud using Digital Twin
- Collects real-time environmental data directly from edge devices.
- Ensures reliable and secure data transmission using wired communication.
- Syncs device data with the cloud through a Digital Twin model.
- Enables real-time monitoring and remote control from anywhere.

Hardware Architecture and Components
Central Controller: Raspberry Pi running Ubuntu 20.04 acts as the main controller and secure MQTT gateway to the cloud.
Sensors & Devices: STH20 Modbus sensors monitor incubation and fruiting zones, along with control of fogger, light, fan, and flow meter.
Reliable Communication: Wired RS485/Modbus RTU ensures stable and accurate data transfer in high-humidity environments.
Industrial Interface: USB-to-RS485 converter provides a robust, industrial-grade connection between the controller and sensor network.
Embedded Software & Communication Flow
Edge Data Collection: Raspberry Pi reads real-time temperature and humidity from STH20 sensors using reliable RS485/Modbus RTU.
Data Processing: A C++ application aggregates sensor and device data and formats it into a JSON telemetry payload.
Cloud Ingestion: The JSON payload is securely published to the cloud Digital Twin using MQTT.
Digital Twin Control Loop: Eclipse Ditto manages device state, maps data, and sends control commands back to the edge device.
Environmental Monitoring & Control Parameters Dashboard
- Monitors temperature and humidity in Incubation and Fruiting environments.
- Uses clear data types (Float, Integer, Boolean) for accurate sensing and control.
- Provides monitoring and control of devices like fogger, light, and fan.
- Ensures optimized environmental conditions for controlled farming systems.

OTA Firmware Update using Eclipse hawkBit
- Eclipse hawkBit acts as a cloud-hosted OTA server to centrally manage firmware updates for Raspberry Pi edge devices.
- Each device securely registers with hawkBit using a unique Device ID and reports its current firmware version.
- New firmware is packaged as a deployment artifact and stored in hawkBit’s repository for controlled distribution.
- Update campaigns target specific device groups using distribution sets and staged rollout strategies.

- Cloud Orchestration – Enables centralized control for provisioning, updating, and managing thousands of IoT devices efficiently from a single cloud platform.
- Embedded Intelligence – Brings AI/ML processing to edge devices, reducing cloud dependency and enabling fast, real-time decisions.
- Secure OTA Updates – Ensures reliable remote firmware upgrades with encryption, authentication, and rollback to maintain device stability and security.
- Device Fleet Analytics – Continuously tracks device health, performance, and connectivity to improve reliability, maintenance, and system optimization.

User Interface (UI) Development
- Eclipse hawkBit acts as a cloud-hosted OTA server to centrally manage firmware updates for Raspberry Pi edge devices.
- Each device securely registers with hawkBit using a unique Device ID and reports its current firmware version.
- New firmware is packaged as a deployment artifact and stored in hawkBit’s repository for controlled distribution.
- Update campaigns target specific device groups using distribution sets and staged rollout strategies.

UI Architecture & Data Flow
User Interaction Flow: User actions on the dashboard (toggles, buttons) are captured and sent securely to the backend.
Modern Web UI: React-based SPA with Tailwind CSS provides a responsive dashboard for monitoring temperature, humidity, and water flow.
Component-Based Design: Reusable UI components (cards, charts, toggles) ensure scalability and easy maintenance.
Cloud-to-UI Data Flow: The UI periodically fetches real-time data from the backend using REST APIs or WebSockets.
APIs, Control & Validation
Testing & Verification: API testing, live environment changes, and control response validation confirm end-to-end system reliability.
REST API Layer: Endpoints like GET /api/status and POST /api/device/* expose sensor data and device controls to the UI.
Device Control Logic: Backend translates UI commands into Digital Twin updates on Eclipse Ditto.
Real-Time Updates: Polling or WebSockets ensure the UI reflects the latest device and sensor states.

Delta Generator and Update Agent

Introduction
- This project develops a Delta Generator and Update Agent integrated with the AIoT FOTA stack for cloud-based delta generation and edge-level patch application.
- It focuses on open-source delta technologies, compression algorithms, and optimized data structures for efficient and reliable firmware updates
Overview
- The core objective is to develop a highly reliable, performant, and maintainable delta solution for Unix-compatible dual-boot systems. This involves:
- Generating optimized delta patches in the cloud.
- Transmitting these patches to edge devices.
- Verifying and applying the patches on edge devices to update system images efficiently.
Scope
- Delta Generation: Cloud-based service creates optimized patch files from old and new images using delta technologies like bsdiff and xdelta.
- Secure Transmission & Verification: Generated patches are securely delivered to edge devices with integrity and authenticity checks.
- Patch Application: The edge update agent applies the verified patch to reconstruct the updated system image.
- Embedded Optimization: Delta algorithms are optimized for low memory and high performance on resource-constrained embedded devices.

Technology Stack
- Delta Technologies: Open-source tools like bsdiff/bspatch and xdelta researched and enhanced into enterprise-grade solutions.
- Programming & Platforms: Implemented in C/C++ targeting Linux dual-boot systems with future support for Linux and QNX.
- Compression Algorithms: Uses efficient compression and decompression methods such as bzip, gzip, lzo, and lzf.
- Development Tools: Git for version control, GTest for unit testing, and Clang-Tidy with Parasoft for code quality and static analysis..

Goals
- Develop a robust delta update solution for Unix-compatible dual-boot systems.
- Optimize performance and reliability using efficient C/C++ compression algorithms and data structures.
Integration Goals
- Achieve seamless integration with the existing AIIOT FOTA stack.
- Provide comprehensive support for dual-boot systems and ensure future extensibility to other platforms.
Future Considerations
- Extend platform and hardware support beyond initial targets.
- Continuously enhance compression efficiency and patch application reliability.
