This project implements an automated, end-to-end data ingestion pipeline designed for Edge Computing. Using a Raspberry Pi 3 Model B, the system captures visual data through a USB camera and securely transmits it to OCI Object Storage.
The solution focus on scalability and security, utilizing professional cloud authentication methods to manage non-structured data (images) in a production-ready environment.
The architecture is divided into two main layers:
- Gateway: Raspberry Pi 3 Model B.
- Capture: USB UVC Camera.
- Environment: Linux (Raspberry Pi OS) with Python-based automation.
- Key Features: Automated frame capture, local buffer management, and secure request signing.
- Object Storage: Secure Buckets for high-availability image storage.
- IAM (Identity and Access Management): Strict policy enforcement for device-to-cloud communication.
- Authentication: Industry-standard API Key Pair (RSA Private/Public keys) to sign requests via OCI SDK.
- Languages: Python 3.x
- Cloud Provider: Oracle Cloud Infrastructure (OCI)
- Tools/SDKs: OCI Python SDK, OpenCV (for image capture).
- Security: RSA Key Pair Authentication, IAM Policies.
- Capture: A Python service manages the USB camera interface to trigger image captures.
- Authentication: The system retrieves the local Private Key to generate a signed header for the OCI API.
- Ingestion: The file is uploaded to the designated OCI Bucket using the
oci.object_storage.ObjectStorageClient. - Logging: Every transaction is logged locally and verified against the cloud response to ensure data integrity.
- Raspberry Pi 3B with Python installed.
- An active Oracle Cloud account.
- OCI CLI/SDK configured with a valid
configfile and Private Key (.pem).
- Integration with OCI Vision AI for real-time object detection.
- Implementation of a local SQLite buffer for offline-first capabilities.
- Dashboard visualization for uploaded metadata.
Developed by: [Wellington Carlos / UNIVESP] Focusing on Data Engineering, IoT, and Cloud Solutions.


