Communicate Efficiently and Securely: How to Configure IoT Devices for Optimal Efficiency
More efficiency for your IoT-Devices. Symbolic: Adobe Stock
Network providers put a lot of hours and technology into ensuring that all devices connected to the Internet of Things are always reliably available. However, IoT developers and end users alike have additional tools available to optimize their devices and platforms so that they work reliably with communication networks.
Even the best networks and best devices have occasional connection problems due to a variety of complex technical issues. Sometimes it's the server. Sometimes it’s the hardware on the device. Sometimes it's external environmental influences. So what should IoT developers do to prepare their devices to communicate efficiently and securely?
Here are our top five recommendations:
Avoid synchronized behavior. Always configure IoT devices so that they don’t all communicate with their platform at the exact same time, which can cause network and server capacity to overload. When rolling out a deployment with thousands of devices, make sure they are activated with time delay. Minimal time deviations are usually sufficient, using previously defined grouping, such as by serial number. Companies that deliver their products preconfigured usually allow end users to adjust individual time settings, or make individual configuration mandatory.
Limit connection setup. Another way to significantly reduce energy consumption and communicate efficiently is to reduce the number of connections setup. If devices don’t always need to communicate every second, then the connection should be kept open -- not re-established every time data is transmitted at short intervals every few seconds or minutes. The same applies when using SMS triggers to "wake up" IoT devices. Again, don't send multiple messages in a row if there is no response within a certain period of time. Too many connection setups also drain the device battery, reduce the overall runtime, and put a strain on the networks.
Apply data aggregation, compression, and coding. When data is first aggregated on the device, it should be compressed, then encoded optimally for transmission - saving considerable data volume and significantly reducing energy consumption and communicating efficiently. Device runtimes are also increased, and servers and networks are relieved. Please also see our blog series on the topic of "Lean protocols for the IoT".
Select suitable energy-saving modes. If devices do not need to communicate for an extended period of time - usually more than 24 hours – put them into sleep mode. This shuts down the chipset of the communication module and significantly reduces energy consumption while extending battery runtimes. One exception: when using power-saving LPWAN technologies Narrowband-IoT (NB-IoT) or LTE-M (CAT-M1), the network-based 3GPP energy-saving modes should be selected whenever possible to avoid the energy-intensive search for a mobile cell after a complete shutdown and provide efficient communication process.
Run diagnostics before restarts. Communication problems can always occur. Sometimes the IoT platform is not available, the GPS connection is interrupted, a sensor is not working, the memory is full, or perhaps the SMS or data volume for the transmission has been used up. Regardless of the cause, IoT devices should always be configured to perform an internal diagnostic first, inform the server if possible, and only if needed, restart only the affected hardware on the device.
If there are connection problems, the resumption should initially always be attempted top-down, from the higher communication layers such as TCP/IP, UDP, etc. downwards. The time intervals must be extended continuously and the number of retries must be limited. Restarting the communication module is a last resort and should never be repeated. Restarts consume a lot of energy and place a significant load on the communication network.
These and other tips are also found in our Developer Hub.