Serverless Raspberry Pi Hot Water Cylinder Temperature Graph
Using a Raspberry Pi and a few Serverless AWS Components the graph below is created.
A Raspberry Pi collects temperature data from 4 sensors on the hot water cylinder pipes. These sensors are electrically isolated from the mains via optical couplers.
A few small Python programs run on the Pi to POST the data to a Lambda Python function URL (API Gateway is not used) which writes the data to DynamoDB.
The graph is drawn locally using Plotly.js with data extracted from DynamoDB via a Query using a Global Secondary Index on unix_time for efficient date range selection.
The site is stored in GitHub and deployed to S3 on a Push with GitHub Actions.