We have built a ‘box’ (hardware + embedded software) that is installed into some people homes (sorry to be so vague) in the French country. This box has an AirPrime MC8705 module that allows sending to a server the data ‘captured’ with the box (for example measurements).
In France we have three major carriers (Orange, SFR, and Bouygues Telecom) with different cellular coverage. So when we install a box somewhere, we don’t know which carrier will provide the better access to the Internet (for example, for a specific area, one will be barely able to provide 2G/GPRS accces while another one will be able to offer at least UMTS access).
As a direct consequence, we cannot configure our box in advance with a dedicated SIM card, but instead, when we install the box, we must try a SIM, check if it is working, and if not, try another one, etc.
So far we proceed as follows (we don’t sell too many boxes, so this is procedure is currently acceptable): At our company office, we Install one sim card at time. We launch AirCard watcher for each card so that the card profile is loaded into the card.
At someone home, the guy/girl that installs our box uses a very simple GUI (provided by our Python/Qt software) to select the carrier. Then our code, using some AT commands, selects the right profile and makes it start automatically (as the default profile). Thus After this configuration phase, the connection will start automatically and we don’t need to do anything else.
Now, if for example, a box breaks and the factory sends a new one, as a replacement, directly at someone home, then the box does not have any profile configured, and, as expected, we are not able to connect to the Internet.
My question is then: what is the best approach to handle this problem?
- Use of some additional AT commands? (for example to force the loading of a SIM data into a card profile ?)
- Use of the 3G SDK? (will it be able to start the connection ? Interface problem between python and C++ ?)
- Something else?
Thanks in advance for any answers