Skip to content

Python module to control a GSM modem attached to the system: send/receive SMS messages, handle calls, etc

License

Notifications You must be signed in to change notification settings

Cyril-Roques/python-gsmmodem

This branch is 2 commits ahead of faucamp/python-gsmmodem:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7f6e089 · Jan 19, 2016
Aug 26, 2013
May 21, 2013
Jan 19, 2016
May 28, 2014
Jul 10, 2013
Apr 29, 2013
Aug 26, 2013
Apr 29, 2013
Mar 4, 2014
Feb 13, 2013
Jul 18, 2013
Feb 15, 2013
Aug 26, 2013
Feb 15, 2013
Mar 4, 2014

Repository files navigation

python-gsmmodem

GSM modem module for Python

python-gsmmodem is a module that allows easy control of a GSM modem attached to the system. It also includes a couple of useful commandline utilities for interacting with a GSM modem.

Its features include:

  • simple methods for sending SMS messages, checking signal level, etc
  • easy-to-use API for starting and responding to USSD sessions and making voice calls
  • handling incoming phone calls and received SMS messages via callback methods
  • support for SMS PDU and text mode
  • support for tracking SMS status reports
  • wraps AT command errors into Python exceptions by default
  • modular design; you easily issue your own AT commands to the modem (with error checking), or read/write directly from/to the modem if you prefer
  • comprehensive test suite

Bundled utilities:

  • GSMTerm: an easy-to-use serial terminal for communicating with an attached GSM modem. It features command completion, built-in help for many AT commands, history, context-aware prompt, etc.
  • sendsms.py: a simple command line script to send SMS messages
  • identify-modem.py: simple utility to identify attached modem. Can also be used to provide debug information used for development of python-gsmmodem.

Requirements

  • Python 2.6 or later
  • pyserial

How to install this package

There are two ways to install python-gsmmodem:

Automatic installation

pip install python-gsmmodem

pip will automatically download and install all dependencies, as required. You can also utilise easy_install in the same manner as using pip above.

If you are utilising python-gsmmodem as part of another project, add it to your install_requires section of your setup.py file and upon your project's installation, it will be pulled in automatically.

Manual installation

Download and extract the python-gsmmodem archive from PyPI for the current release version, or clone from GitHub. Next, do this:

python setup.py install

Note that python-gsmmodem relies on pyserial for serial communications: http://pyserial.sourceforge.net

Testing the package

Build Status Coverage Status

To run all unit tests, do:

python setup.py test

Unit test code coverage information may be generated by using coverage. You can execute it directly from setup.py by doing:

python setup.py coverage

This will run all unit tests and report on code coverage statistics.

Building documentation

This package contains Sphinx-based documentation. To manually build or test the documentation locally, do the following:

git clone https://github.com/faucamp/python-gsmmodem.git
cd python-gsmmodem
pip install .[doc]
cd doc
make html

For true isolation, you may wish to run the above commands within a virtualenv, which will help you manage this development installation.

License information

Copyright (C) 2013 Francois Aucamp See AUTHORS for all authors and contact information.

License: GNU Lesser General Public License, version 3 or later; see COPYING
included in this archive for details.

About

Python module to control a GSM modem attached to the system: send/receive SMS messages, handle calls, etc

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%