This is a basic system design question, and I’m sure its been done hundreds of times… but since this is my first big IoT project, I figured I’d get some feedback before setting out.
I have an IoT device that has some parameters that need to be set and data that needs to be saved. I want the parameters to be changed on a smart phone and for the data to be viewable on the smart phone.
The simplest way would be for the IoT device to just save the data locally and then offload it to the smart phone whenever the device and the phone are on the same WiFi network. But the issue is that the data won’t be backed up and there isn’t much onboard memory on the IoT device. So if the user loses his phone, the data will be gone. Also, user’s might not want the data taking up so much space on their smart phone.
So I’m thinking to have the IoT device upload the data to AWS, and then for the smartphone to download the data at some interval (once per day, maybe). The parameters that can be changed on the phone will also be sent up to the cloud and passed on to the IoT device.
– I’m planning to use AWS, because I think it can scale well for whatever I end up doing. But I also don’t know what is out there. Is there a better tool?
– Assuming I use AWS, its tough to navigate which AWS tools are best for a given role. I need something to connect the cloud to the smart phone (maybe Amazon Mobile Services?) and something else to connect the cloud to the IoT device (maybe Amazon IoT?). And I’m assuming I need some database saved on the cloud… so probably S3?
– Is there any reason for the IoT Device to connect directly to the smart phone? (besides for an initial provisioning process to get the IoT device onto the Wifi network)
– Is there a standard guide for how to structure IoT systems like this? Any white papers or blog posts that I can read? What about open source projects?