IoT Device Implementation Guide
IoT Device Implementation Checklist
Last Updated: July 3rd, 2024
Implementing IoT devices involves a multitude of factors to ensure successful deployment and operation. From regulatory compliance to network connectivity and data management, each aspect requires careful consideration.
To help streamline this process, we’ve compiled a comprehensive checklist covering critical areas of IoT device implementation. This checklist serves as a guide to ensure that all necessary steps are taken for a seamless and efficient deployment of IoT devices.
Below, you will find detailed recommendations across key categories essential for a successful IoT implementation.
Category | Recommendations for implementation |
---|---|
Compliance & Interoperability | (Required) Check with regional regulations and ensure that the device has obtained all necessary certifications (PTCRB, FCC, CE, etc.). Depending on the region, additional certifications may be strongly recommended even if not strictly required. |
(Strongly recommended) Check with vendors to ensure that the device or communications module complies with 3GPP and GSMA standards. | |
(Strongly recommended) Choose IoT devices or communications modules where network interoperability has been tested and validated. Check if the MNO has additional certification requirements, and ensure that the device or communications module has appropriate carrier certification. | |
When using a Soracom SIM that provides coverage with multiple networks, select an appropriate IoT device or communications module that is compatible with the supported networks. | |
Network connection behavior | Avoid excessive connections and disconnections. If network connections will occur at regular intervals, implement a mechanism to distribute or vary the timing of the connections. |
Avoid synchronous connections of large numbers of devices. Implement a mechanism to distribute the timing at which each device connects to a network so that a large number of devices will not attempt to connect at the same time. | |
Understand wireless access technology and the behavior of the communications module with regards to network search. Ensure that an IoT device allows its communication module sufficient time (at least 2-3 minutes; longer if using radio technologies such as NB-IoT, a mix of radio technologies, or multiple frequency bands) to perform a network search procedure. Do not implement a mechanism that restarts the device or module during a network search procedure. | |
Understand the behavior of the communications module with regards to network selection. When possible, allow a module to utilize its default automatic network selection behavior (such as AT+COPS=0). Do not implement a mechanism that forces a module to connect to a specific network as it may result in unwanted side effects. | |
In case of a network connection failure, avoid continuous reconnection attempts. Implement a mechanism that exponentially increases the time between reconnection attempts, or ceases attempts after a threshold number of attempts. | |
Ensure that a device will only connect to a network when its SIM is in the Active status. If the SIM status is to be changed to Suspended or Terminated, ensure that the device will not continuously attempt to reconnect, or power off the device completely. | |
Network connection management & data transfer behavior | Reduce the number of network connections per device. Avoid connecting to a network unless required, and implement a mechanism to minimize the number of network connections needed to transfer data. |
Select a data protocol that is appropriate for both the application or use case as well as the network technology. When using a heartbeat or keep-alive function, ensure that the duration is set just below the network connection timeout threshold. Do not implement a heartbeat or keep-alive function with a high frequency as it counteracts the network connection timeout behavior and may result in unwanted side effects. When using NB-IoT, try to prevent the use of TCP or other protocols based on TCP. | |
Where possible, reduce the amount of data transfer required. Implement a mechanism that transfers only the portion of data that has changed since a previous transfer, rather than repeating the same data. Utilize data formats such as binary, and consider leveraging features such as Soracom Binary Parser to maintain interoperability with IoT platforms or services. | |
Avoid synchronous data transfer of large numbers of devices. Implement a mechanism to distribute the timing at which each device transfers data (or data is transferred to each device) so that a large number of devices will not transfer data at the same time. | |
When devices need to be powered off, ensure that they shutdown gracefully by first disconnecting from a network in order to reduce network resource usage. | |
Device recoverability | Implement a mechanism that enables FOTA update functionality. Ensure that both the IoT Device Application firmware and Communications Module firmware are able to receive FOTA updates. Ensure that the FOTA functionality incorporates data compression, differential updates, and other techniques for minimizing data usage. When performing FOTA updates, implement a mechanism that distributes the timing at which each device receives the FOTA update so that a large number of devices are not updated at the same time. |
Implement a mechanism that allows the SIM to receive OTA updates (including but not limited to Subscription Containers). Ensure that the device will maintain a network connection of suitable duration so that an OTA procedure can be completed. | |
Understand the behavior of the communications module with regards to Forbidden PLMN (FPLMN) and its effect on connecting to a network. Implement a mechanism to allow the FPLMN to be manually or automatically cleared, such as a user-accessible reset button or based on a suitable timer. Do not rely solely on a mechanism for remotely clearing the FPLMN, as when a device is unable to connect to any network, a remote procedure cannot be used. |
Next Chapter
Soracom Device Implementation Guidelines