We are building some devices that publish variety of data to our cloud based services. These devices connect to cloud services over mobile networks or WiFi depending on the configuration. We decided to program the cloud service URL in the firmware for reliability reasons.
I want to avoid the devices under test publishing data to production servers as much as possible. Its easy to achieve for WiFi devices as I can have an isolated test network with a local DNS server that points the device to our local test server.
I thought of the following options for the devices with mobile connectivity.
-
Have a proxy server before the production and test servers. This will inspect the packet and forward to appropriate test or production server depending on the deviceid. The disadvantages I see are performance and load on the proxy server over a period of time as the number of devices increase in the field. Also, change in the protocol in the future will warrant a proxy server upgrade while testing itself (which could be many times during testing) which will have an impact on the production deployments.
-
Maintain the server URL as a configurable parameter. Reconfigure the device once the device is certified for production deployment and store the production URL. While this works most times, a factory reset in the field might put back the device to testing mode. More over, its always reliable to have the URL in the firmware than storing it in a writable memory.
I'm wondering if there is a better model than the ones listed above. Appreciate any suggestions.
Aucun commentaire:
Enregistrer un commentaire