This project demonstrates a straightforward approach to uploading temperature and humidity data from a SeedStudio Xiao ESP32S3 to AWS IoT SiteWise. AWS IoT SiteWise is a managed service that simplifies collecting, organizing, and analyzing industrial equipment data.
For RTOS solution, unlike traditional methods that rely on AWS IoT Device Shadow for data storage and require redirection to AWS IoT SiteWise for historical data analysis, this approach offers several advantages:
- Efficient Data Upload: Using AWS IoT SiteWise, we can batch-upload multiple data points, allowing the device to enter a sleep state after each data reading. This strategy minimizes network data usage and power consumption, making it ideal for resource-efficient operation.
- Precise Timestamps: When data is uploaded to AWS IoT SiteWise, an accurate timestamp can accompany each data point. In contrast, AWS IoT Device Shadow timestamps data based on the upload time to AWS IoT Core, introducing potential time gaps ranging from milliseconds to seconds.
In this POC, I use the SeedStudio Xiao ESP32S3 to read temperature and humidity data from DHT11 sensors. The collected data is then uploaded to AWS IoT SiteWise, allowing us to access and monitor the historical dataset using Grafana conveniently.
By implementing this approach, we streamline the process of data acquisition and analysis, offering improved resource efficiency and more accurate historical data records for better decision-making and monitoring purposes. The following diagram shows the idea.
The whole setup flow is on the GitHub repository SiteWise Uploader. Please check the repo for details.
The results are shown on a Grafana dashboard, as the following diagram shows.