ESP32-S3 IoT Device Cloud Communication

Job ID: 38755266

Budget: ₹1,500 – ₹12,500 INR

I’m seeking an experienced IoT developer who can assist in programming an ESP32-S3 to communicate with a cloud server. The device should be able to send structured sensor data to a RESTful API endpoint using secure and precise HMAC-based authentication. Below are the main requirements for the project:

Key Project Requirements
Device Setup and Communication:

Platform: ESP32-S3 (programming with Arduino IDE or PlatformIO preferred)
NTP Synchronization: Accurate time synchronization with an NTP server to ensure correct timestamping
API Integration and Secure Communication:

API Method: POST requests with JSON payload to send sensor data
HMAC-SHA256 Authentication:
Generate signing keys based on deviceSigningKey and current date
Create a canonical request and compute final signatures as per provided API documentation
Headers:
Include essential headers (Content-Type, x-cg-timestamp, x-cg-signature) in the correct format
RFC3986 Encoding:

Ensure URL path and parameters are encoded according to RFC3986 standards
Debugging and Validation:

Verify the payload structure and signature match the server’s expectations
Output debug logs for request components (body hash, canonical request, signature, etc.)
Code Quality and Documentation:

Clean, well-documented code with explanations of signature creation and request structure