Charts for IOT data


Hi Guys, I am collecting IOT data during the day from many devices, I am trying to build static and live charts from these data. I need to do multiple calculation for hourly, daily for some period of time and some other time interval, need to calculate lot of average values of data. What is the best way to approach this. Should I just do raw calculation on tables and prepare data for charts, or calculate everything ahead of time? Or any AWS service I can use for this? I will build chart on UI and need data for them. Thanks

asked a year ago424 views
3 Answers
  1. Use IoT Core to trigger a rule action: Invoke Lambda or direct putItem on DynamoDB.
  2. Lambda will save data into DynamoDB or Keyspaces (Apache Cassandra).
  3. Use API Gateway and Lambda to query your data. If you use Keyspaces as a DB, you can use aggregation functions.
answered a year ago

For the use case you are describing you can get all the required functionality out-of-the-box by using AWS IoT SiteWise. AWS IoT SiteWise is a fully managed service providing aggregation of the streamed data and visualization components, either via the managed monitor or via the IoT AppKit components that can be embedded in your own application.

You can ingest data into Sitewise from IoT Core using IoT Rules, or if you have industrial data sources you can use a SiteWise Gateway.

To learn-by-doing you can run this workshop

If you would nevertheless prefer building your own solution, I would suggest the following services:

  • AWS IoT Core for data ingestion
  • Amazon Timestream for data storage and data aggregation. You can run adhoc queries on Timestream so that you do not have to define the aggregations ahead of time. You can also define scheduled query for the most commonly used aggregation to reduce cost.
  • Managed Grafana for data visualization or any charting library if you want to build your own (CloudScape provide pretty nice components)
answered a year ago
  • Use AWS IoT Core to collect data from your IoT devices.
  • Use AWS IoT Rules Engine to process and forward the data to other AWS services like Amazon Kinesis Data Streams for real-time processing or Amazon S3 for storage.
  • Use Amazon DynamoDB for storing time-series data, which is suitable for IoT data.

For data visualization, you can use Amazon QuickSight or a custom web application using popular JavaScript charting libraries like Chart.js, D3.js, or Highcharts. You can query the pre-aggregated data from the chosen data store to display it on the charts.

profile picture
answered a year ago
  • Thanks for the suggestion, I will use Highcharts. Only challange is, it is hard to prepare data ahead of time. Let say for this want to see average value between 8 AM to 10 AM or other interval dynamically, so I need to act on raw data. trying to find best way to query data and do average calculation.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions