This guide will show you how to build a thermometer that solves both the problems above. By using an Arduino and Adafruit CC3000 WiFi breakout, you can build a probe thermometer that logs temperature data to Amazon's DynamoDB cloud database service. With the temperature data in the cloud, you can monitor it remotely over the web, and even use the history of measurements to predict when the food will be ready!
Before you start it will help to familiarize yourself with the following guides:
You will also want to download and extract the two Arduino sketches in the following download link. These sketches will be used later in the guide to calibrate and run the thermometer hardware.
The motivation to use Amazon's DynamoDB for the cloud thermometer is driven by a few reasons:
- Need a data store that supports appending new measurements to existing data. Because the Arduino only has a few kilobytes of memory, it's not feasible for the Arduino to download and update the entire history of temperature data. Unfortunately this rules out most file or blob storage services like Amazon S3, Google cloud storage, or Azure storage because they don't support appending to existing documents.
- Need a data store that can be accessed without HTTPS. With only about 30 kilobytes of program space available, it's not possible to support a cloud service that requires secure HTTPS communication. Unfortunately this rules out Dropbox's blob and structured storage services.
- Prefer a data store with simple APIs and authentication. DynamoDB has a somewhat complex signing process that requires multiple SHA256 hash computations. However this signing process is simpler than other data stores which require calling into separate authentication services or more to authenticate.
Continue on to learn about the hardware needed to build the cloud thermometer.