The Breakout SDK for Massive IoT enables developers to exchange data between low-powered devices and their services running in the cloud. The SDK abstracts complex elements of Narrowband IoT deployment and removes development barriers by handling tasks such as network registration on your behalf.
The SDK is built to be cross-platform. It currently supports three modems: SARA-R410, SARA-N410 and Quectel BG96. The SDK supports sending data over TCP and UDP, and using the modems' internal MQTT and TLS implementations.
First, a few platform-specific functions need to be implemented as is described in the porting section of the Readme. After that you can write the code in either blocking or non-blocking style (see the example).
When working in multithreaded environment, not that Massive SDK is not thread-safe, so it should either be owned by a single thread, or protected by a mutex.