Understand the operation of the communication module
While it’s important to understand how different connectivity technologies behave and how to design your IoT Device Application to work with the IoT Communications Module and adapt accordingly, the application should also be designed to avoid imposing too much manual control over the module.
For example, all communications modules include an AT+COPS command which can be used to instruct the module to connect to a specific network, bypassing the need to search for other networks in the area.
While the device application can leverage this command to significantly speed up the network connection procedure, this command also overrides the module’s default ability to search for and switch to a different network that may have a stronger signal and better performance.
When the IoT Device is located in an area where the pre-selected network’s signal is low, forcing the communications module to connect to this network anyway not only jeopardizes the application’s ability to transmit data successfully but risks stressing the network due to communication failures all while other more capable networks are available but ignored.
This also applies to situations where a network has a temporary outage. If the module is forced to connect to that particular network, the device will not be able to switch to other available networks and will lose connectivity during that time. Worse, if the device is no longer allowed to connect to that network (due to blacklisting or loss of coverage), the connectivity loss will become permanent.
Some modules support a hybrid version of the AT+COPS command, allowing you to manually specify a particular network to connect to, but automatically falling back to the normal network search process in case the specific network is not available or suitable.
Knowing the capabilities and behaviors of your communications module becomes even more important for use cases where devices will be deployed globally, as devices will have to contend with a much wider range of connectivity technologies, available frequency bands, network scan conditions where each device is located, and so on.