Cellular Interface
On this page:
Introduction
The Cellular Interface library implements a simple unified
API that hides the complexity of cellular
modem-specific AT commands and exposes a socket-like interface to C programmers.
Most cellular modems implement more or less of the AT commands defined by the
3GPP TS v27.007 standard. This project provides an
implementation
of such standard AT commands in a reusable common component.
The three Cellular Interface libraries in this project all take advantage of that common code. The library for each modem only implements the
vendor-specific AT commands, then exposes the complete Cellular Interface API.
The common component that implements the 3GPP TS v27.007 standard has been written in compliance with the following code quality criteria:
- GNU Complexity scores are not over 8
- MISRA C:2012 coding standard. Any deviations from the standard are documented in source code comments marked by "coverity".
Getting Started
Download the source code
The source code can be downloaded from the FreeRTOS libraries or by itself.
To clone from Github using HTTPS:
git clone https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface.git
Using SSH:
git clone git@github.com:FreeRTOS/FreeRTOS-Cellular-Interface.git
Folder structure
At the root of this repository are these folders:
- source: reusable common code that implements the standard AT commands defined by 3GPP TS v27.007
- docs : documentation
- test: unit test and cbmc
- tools: tools for Coverity static analysis and CMock
Configure and build the Library
The Cellular Interface library should be built as part of an application. In order to do so, certain configurations must be provided. The
FreeRTOS Cellular Demo project provides an
example of how to configure the build. More information can be found in the Cellular Interface API Reference.
Please refer to the Cellular Interface Demo (Mutual Authentication) for more information.
Integrate the Cellular Interface Library with MCU platforms
The Cellular Interface library runs on MCUs that use an abstracted interface, the Comm Interface, to communicate with cellular modems. A Comm Interface must be implemented on the MCU platform as well. The most common implementations of the Comm Interface work over UART hardware, but they can be implemented over other physical interfaces, such as SPI, as well. The documentation for the Comm Interface can be found in the Cellular API Reference. These are example implementations of the Comm Interface:
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.