Hi there! I recently got a job to create a solar metric dashboard for a company utilizing Arduinos to manage their solar systems. I'm using Grafana as the dashboard tool, but transferring the data from the Arduino to Grafana has been a hassle since I currently have to manually copy and paste the CSV files generated by the Arduino. To automate this process, I'm exploring options to send data directly to Grafana, and I've come across AWS as a potential solution. My coworker, who's working on the Arduino side, agrees with this direction.
I'm considering a data flow that involves Arduino -> IoT Core -> S3 -> Athena -> Grafana. Does that sound like a solid plan? The company has around 100 clients, so I'm also looking for an efficient cost setup. Also, I should mention that Grafana is hosted through a VPS service provided by Hostinger. Let me know if you need more information!
4 Answers
While S3 and Athena are viable options, there are more optimized solutions for your scenario. Look into time-series databases like Amazon Timestream or InfluxDB, which are designed specifically for handling time series data efficiently.
Using AWS IoT Core for data transmission sounds like a good plan, and S3 is perfect for storage. Athena can help with querying your data. Just remember to monitor costs as they can add up quickly.
To get started, think about how many CSV files you're generating and which data source Grafana is using. A good idea could be to set up an AWS Lambda function that processes the CSV files as they're created. Just keep in mind that Athena can get pretty pricey depending on how much you use it.
You might want to think about some alternatives to AWS for your solution. If possible, try to have the Arduinos publish data using MQTT instead. You could use a local MQTT broker and then set up the Grafana MQTT data source. It’s a lightweight alternative and could potentially save you some overhead.

Related Questions
Google Nest Doorbell Not Alerting Google Hub Or Google Mini
Can't Rename Google Nest Doorbell