We are going to develop a WiFi LED that can be controlled by an Alexa Skill. We plan to use the AWS IoT platform for this, but there are some things that we find quite hard to understand.
Our first step would be to create an Alexa Skill that could turn the LED on/off. So, we first added an AWS Lambda function for that, and set Alexa Skill as the trigger of the function. But we haven't really start to code for the function part yet. Just did some "Hello World" testing.
Next we were ask to register a "Thing" in AWS IoT platform. So, we registered a "Thing" called WiFiLightBulb. After that we tested the "Thing" we just registered by downloading test package generated from the AWS IoT platform and executed it on our computer. The connection seems to be working because we can see that the messages keep popping out in the terminal. So now, our current test device (which is our computer, pretending to be the WiFi LED) is now connected to our "Thing" (WiFiLightBulb) in the AWS IoT Platform.
Based on what we researched, we would be able to control it by sending commands to it through the REST Api endpoint URL provided under the "Thing". It looks something like this:
a2n7fouzuqbojc.iot.us-east-1.amazonaws.com
So, by looking at this we guess we could do the control in the coding of the Lambda function that we just created earlier.
However, there is one things that we really don't understand until now.
If that "Thing" we just created only allows one device to connect to it, then how will our clients that bought our product connect their device to the AWS IoT platform? Plus, we created that "Thing" under our developer account. We thought that if there are thousands of our devices out there, then there would be thousands of our "Things". But, no matter what, it's still under our account.
So, does it mean that if a user wants to use our device, he would need to register his device, as a "Thing" in HIS Amazon account? if so, how can we provide a function for registering that device? We don't see any documentation about that.
And what if the user has multiple units of our device, how can we link those device under his Amazon account?
We've been reading a lot in the documentation, but weren't able to find any solution to our problem.