IoTReady / a9_gsm_gps_library

Libraries for the AI Thinker A9/A9G GSM/GPS modems.
39 stars 10 forks source link
a9 a9g gps gsm iot

Ai-Thinker GPRS modules- A9/A9G Libraries using [Ai-Thinker GPRS C SDK]

Overview

This SDK provides a wrapper over the most used functionalities for the Ai-Thinker GPRS SoC modules A9/A9G making for simpler setup and faster deployability.

The A9/A9G can be used in a wide variety of IoT applications. This low-cost, effective module can be the go-to product for quick development and deployment of IoT solutions around the world. Okay okay, I'm going to stop bragging about stuff you already know and get to the point of all this conversation.

What are we doing here? This is an effort to share the knowledge and experience we gained in our process of using this module with the open-source community hoping it saves time and effort for as many IoTers out there as possible.

This brings me to talk about the drawbacks about trying to use the A9/A9G modules:

What does this SDK do to solve these?

Please do keep reading to know more. And since we rely on your inputs and feedback to grow and improve this project and hence the open-source community in general, please feel free to [give us feedback](## Feedback)[create issues, suggest edits and add functionalities](## Participate in the development). Dont forget to Star us on the top right corner of this project if you like what we are trying to achieve!

With increasing traffic, we will come up with rigid procedures to maintain process in the same. Until then, HAVE FUN AND KEEP IoTing!

Features

Hardware

1. A9: GPRS Module

(http://www.ai-thinker.com/pro_view-9.html)


Datasheet of the A9 module here

Features:

2. A9G: GPRS + GPS + BDS Module

(http://www.ai-thinker.com/pro_view-28.html)


Datasheet of the A9G module here

Features:

3. A9

(http://www.ai-thinker.com/pro_view-78.html)/

A9G GPRS (+GPS+BDS) Development Board( pudding)

(http://www.ai-thinker.com/pro_view-77.html)


A9/A9G development board for easy development and debugging

Schematics of the pudding development boards here: A9 | A9G

Features:

Or you can use other RDA8955 chip modules or board

4. USB to Serial Module


It should be noted that the USB interface on the development board does not implement a USB serial port, but is a standard USB1.1 interface, Therefore, in order to download or debug, you need at least one USB to serial port translator module to connect to the board's HST_TX andHST_RX pins

5. Power Supply

Power can be supplied by a lithium battery or a fixed external supply (3.8v ~ 4.2v) to the VBAT pin. Alternatively, it can also be powered by 5v power connected to the 5v input pin or USB input. However, it should be noted that if using alithium battery as power supply POWER KEY needs to be pressed for about 3 seconds to power on the module. This is not required when powered through USB.

Hardware connection

Module Debugging and Firmware Download

The download interface to the device is the HST interface. Depending upon how the power is being supplied to the board(pudding), the following connections are required at the minimum to provision firmware download into the device or to debug the logs.

USB to TTL module Dev Board(pudding)
TX HST_RX
RX HST_TX
GND GND

Power Supply

Setting up the build environment

Windows

Download the SDK:

Download and install the toolchain:

Compile a demo app:

Linux

Download the SDK:

Download and install the toolchain:

Compile a demo app:

Flash and Debug:

Additional Steps for Linux: (not required for Windows)

Project structure and developing applications

Each folder contains the C library and corresponding header files. To use the library files follow the steps below:

Further Detailed Doumentation here: GPRS C SDK DOC

Including environment installation, burn & debug, api docs etc.

Generating the Documentation

This SDK comes with a convenient, browsable set of documentation. The documentation is available in HTML format in the doc/doxy/html directory of the repository.

You can update this documentation by running the command doxygen Doxyfile in the base directory of the repository. You will need to have previously installed the Doxygen package.

Feedback

Participate in the development

Fork -> Modify -> Submit PR