Proposed Architecture of the CAT-M Module
Use cases where temperature needs to be monitored continuously while the device is in transit and alerts need to be generated immediately are addressed by the CATM based sensor. To achieve this an LTE CAT-M module that supports band-14 is chosen. The chosen HL78xx CAT-M module from Sierra Wireless has support for band 14 and band 42. This module is PTCRB certified and is available today for deployment in Verizon, Rogers, Vodafone, T-Mobile and Sierra Wireless network. The module is pre-certified, and no software/firmware change is necessary. The HL78 module will be interfaced to our existing STM32 processor via a UART interface.
There are two approaches we considered:
Approach #1) Use the on-module LwM2M stack
An LwM2M client is already implemented on the L78xx CAT-M module. One can leverage Sierra’s LwM2M stack and send data to Airvantage Cloud just using a few simple AT commands on the STM32L03X MCU. This is the simplest approach.
Approach #2) Implement your own stack on our MCU
The other approach is to implement our own stack on STM32. One can implement LwM2M, MQTT, some other protocol, or define your own protocol and deal with raw TCP or UDP packets.
We settled on implementing MQTT on the STM32 (Approach #2) because we wanted a simpler protocol that is more comparable to LoRaWAN and that is about providing transport for publishing sensor data to the cloud. We didn’t need the security framework of LwM2M nor the device management feature.
Telit has a great article on the differences between MQTT and LwM2M which we won’t cover here.
In this case, we are still leveraging the TCP/IP stack on the Sierra Module, but we are not using the Airvantage specific AT commands. We are only using the AT commands to open a port and establish a tcp/ip socket connection to our server. MQTT is implemented on the STM32.