Git Product home page Git Product logo

a6lib's Introduction

A6lib

An ESP8266/Arduino library for communicating with the AI-Thinker A6 GSM module. It will probably also work with other GSM modules that use the AT command set, like the SIM900.

Details

This library is an adaptation of this sample module. It is still very incomplete, but at least it works somewhat. Please feel free to issue pull requests to improve it.

Usage

If you have the A6 breakout board, connect the Tx and Rx pins to your ESP8266. The example assumes the TX pin is connected to D5 and the RX to D6. A6lib can power-cycle the module if you connect a MOSFET to a pin and control the A6's power supply with it.

For a sample circuit that uses this library, have a look at the A6/ESP8266 breakout board I designed.

The A6's PWR pin should be permanently connected to Vcc (if you think that's wrong or know a better way, please open an issue).

The code looks something like this:

// Instantiate the class with Tx, Rx (remember to swap them when connecting to
the A6, i.e. connect the A6's Rx pin to D6).
A6lib A6c(D6, D5);

// Initialize the modem, rebooting it if it fails to become ready.
do {
    // Power-cycle the module to reset it.
    A6c.powerCycle(D0);
} while (A6c.blockUntilReady(9600) != A6_OK);

// Start and place a call.
A6c.dial("1234567890");
delay(8000);

A6c.hangUp();
delay(8000);

A6c.redial();
delay(8000);

// Send a message.
A6c.sendSMS("+1234567890", "Hello there!");

// Get an SMS message from memory.
SMSmessage sms = A6c.readSMS(3);

// Delete an SMS message.
A6c.deleteSMS(3);

callInfo cinfo = A6c.checkCallStatus();
// This will be the calling number, "1234567890".
cinfo.number;

This library doesn't currently include any code to connect to the internet, but a PR adding that would be very welcome.

a6lib's People

Contributors

beyondszine avatar skorokithakis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.