I am wondering the best way to manage storing light customer specific-data (Phone number etc), on each of my “Product” devices. Currently my product fleet is < 10 devices.
Each device needs to be able to text it’s customer for certain events. The customer phone number must be stored on the device to be used properly with my text web hook.
Before I created a Particle “Product” to manage these devices as a fleet, I would hard code the client phone number as a constant value in the code before flashing the device. Obviously, that is not ideal or built to scale.
It is not possible however, when managing the product as a fleet, as each device is updated & managed running the same code version.
My current work around is exposing a cloud function that allows me to specify the client specific phone number, then it stores the number in the EEPROM and persists until I change it again or flash new code / update my fleet. I think this current method can carry the fleet for a while, but I’m looking for the best long term solution.
My long term idea, is to use a simple database that can accept some key stored in the device hardware (likely device ID) and return the associated client data.Then anytime I create a new field device, I simply would add the device ID and customer phone number into the database. On start up, the particle fleet-wide code would make a call to this database with its own unique device ID and receive the customer data, then store it in the EEPROM as it currently does.
Does this sound like an appropriate solution? If so, do you have any recommendations for which database would best fit this application? I was thinking Firebase, but haven’t put much thought into it.
I would appreciate hearing all of your input on this topic, if you have dealt with something similar, or what you suggest is the best course of action.
Thank you in advance!