How to Design Low-Power IoT Applications
Low power IoT applications
Most IoT devices are battery-driven making optimizing for power the top design challenge. This challenge is even growing harder with AI inferencing moving from the data centre to the edge. Sensors are increasingly being required to pre-process data to extract valuable data before sending it to the cloud. This further pushes the emphasis on power and reduction.
Designing for low-power IoT applications
Understand the KPIs
Understand the Key Performance Indicators. It is important to note that the KPIs for cellular IoT are quite different from those of smartphones with regards to networks, applications, and designing chipsets. Smartphone apps focus on uploading and downloading large files, performing voice calla, browsing, and synchronizing with social media platforms. On the other hand, typical IoT applications are considered “lazy” since they spend long periods in sleep mode. They only wake up when they have to transmit data or when they are pinged by the network. As such, they can minimize power consumption during sleep stages. When they have to transmit data, they do so efficiently.
Steps to follow in designing low-powered IoT applications
- Select a cellular module that best meets the parameters of your application
- Let device to choose the ideal network and connectivity technology
- Select the right LTE network configuration
- Consider cloud servers location and latency
- Select the application protocol according to application needs
- Utilize power-optimal security scheme and certificates
- Use optimal transport layer
- Design power-game applications
There are two technologies to consider when selecting a network configuration for low-power IoT applications. They are:
- Extended discontinuous reception (eDRX) is ideal for devices that are required to network requests. A good example of such devices is wearables.
- Power Saving Mode (PSM), is ideal for applications that embody device originated traffic. In PSM the devices are not reachable by the network. If you need to reconfigure the device, it first has to signal the cloud that it is ready for an update. Examples of such devices include Smart meters, smoke detectors, and IoT buttons.
An IoT button is a good example of PSM devices. It’s also an example of an application that periodically sends data often less than once daily. When pressed, the IoT button powers up and boots thus loading any relevant software and synchronizes with the network. When it establishes a connection, it sends the payload and then waits for some time for it to be released from the network before it slides into idling and then powering down. If the IoT button is not designed carefully, it will draw excess power because of:
- The DNS lookup. This requires a lot of data exchange.
- Establishment of security session. This requires a data exchange as well.
- Use of MQTT or HTTP to send data
There are several ways which can be used to optimize the data exchange
- DNS Lookup time can be reduced by using static IP or even by extending the time TTL.
- Protocol selection can be switched from TCP to UDP.
- Using abbreviated TLS to re-establish the connection.
- Use of MQTT-SN instead of MQTT and HTTP.