Originally posted on our Medium blog.
It’s possible that there are more IoT platforms out there than there are actual connected product companies. Most of these offer variations on a theme; you install something on the device, it provides a web interface for you to interact with connected devices, and probably a few niceties such as data/log visualisation and a firmware swap.
Most big projects, however, end up on the big cloud provider offerings, like AWS’ IoT Core, Azure’ IoT Hub or Google’s Cloud IoT. Instead of all-in-one platforms, these providers give you a whole ecosystem of tools and toys to build and deliver your connected offering at massive scale.
While it might not provide the easiest developer experience, however, I would even recommend the likes of AWS IoT for hobby projects. There are a few reasons for this: for a start, getting AWS on your CV isn’t going to hurt anyone. But, more importantly, since it hosts 31% of the internet, you know that should your smart fish defibrillator take off, you’ll be a good position.
Perhaps the most important question any hobby developer will ask is, “So what can you do for free?”. Well. A lot of AWS includes a somewhat generous free tier to get you started, and AWS IoT is no exception, and for every month over the first year you’ll get:
- 2,250,000 minutes of connections
- 500,000 messages
- 225,000 Registry or Device Shadow* operations
- 250,000 rules triggered and 250,000 actions executed
The Device Shadow is a queryable ‘state’, which is two-way bound between the cloud and the device.
What about the next year?
The astute would have noticed that the free tier for IoT only lasts for 12 months. At which point you need to start forking out your own cash. However, AWS isn’t exactly breaking the bank with it’s free offering, in fact- the price of maintaining the free tier yourself is:
- $0.18 for 2,250,000 minutes connected
- $0.50 for 500,000 messages
- $0.29 for 225,000 shadow updates
- $0.08 for 250,000 rules and actions triggered
Which brings the total cost of AWS’ generosity to $1.05 a month. Which, I hope, is unlikely to break the bank.
What can I do with that?
Of course, just because it’s cheap, that doesn’t mean it’s not valuable. The real worth in the free tier is what you can achieve with it.
- Enough minutes for 51 devices to be connected 24 hours a day
- 680 messages an hour to/from the broker
- 300 updates to the device shadow an hour
- 340 rules evaluated, and actions triggered, an hour
Which should be more than enough for your average hobby product, and even support a modest bit of cooperate prototyping.
It should be appreciated that the AWS free tier includes a lot of other services, some of which, like Lambda and Dynamo, continue beyond the first 12 months. These offerings are fairly well balanced, so it would be possible to augment your IoT Core free project with some lambda actions, cloudwatch inspection for the logs and dynamo to save the data without breaking out of the free tier.
And even if you do, AWS is pretty cheap…