I am working on a project where I have a sensor connected to a WIFI module. Whenever the sensor is triggered, it will send a message to the cloud via MQTT. Eventually I tens of thousands of these devices deployed everywhere. These sensors will rarely be triggered, maybe only once a week randomly.
What is the best method for provisioning these devices? Assuming I have 10K users each with 1 sensor. Do I need to setup 10K MQTT user accounts or just 1 account and have 10K topics? I will want to be able to know which device has been triggered and also send back information to the device.
Users will use a mobile app to setup the IOT device. From the app, they can set the WiFi SSID and password for the IOT device to connect to their home WiFi. I presume users will also need to register for an account with our platform after which a MQTT server address, port number, user id and password will be created for them on the app and forwarded to the IOT device for connecting to the MQTT server.
How can this process of creating MQTT accounts be automated? Is there a way to do this on any of the Cloud IOT services out there (eg. AWS, Google Cloud, Microsoft Azure, IBM etc etc).