Skip to main content

Ringbeller IoT Modem Library

Project description

Ringbeller IoT - Python bindings

Python Logo

Prerequisites

Requirements:

  1. Raspberry Pi OS (Buster)
  2. Python3.7

Install dependencies

# Install SWIG and dependencies
$ sudo apt-get install -y swig python3.7 python3.7-dev
# Install python dependencies
$ python3.7 -m pip install --user --upgrade pip setuptools wheel twine

# Install audio packages
$ sudo apt-get install -y libasound2-dev libsndfile1-dev

Installation

# Local installation
$ make install

# Installation via PyPI
$ pip3 install --upgrade rbIotModem

Usage

# Import modem library.
from rbIotModem import rbIotModem

# Instantiate modem library.
ec25 = rbIotModem.EC25()

API

This module exposes the following functions

  • ec25.initialize(int verbose, bool debug, string serialPort, string audioDevice)
    Set verbose logging level.
    Set debug simulation value.
    Set serialPort name.
    (Optional) Set input/output audioDevice name.

  • ec25.on()
    Turns on and connects to the modem.

  • ec25.off()
    Turns off modem.

  • ec25.restart()
    Restarts modem.

  • ec25.connect()
    Connects to the modem.

  • ec25.disconnect()
    Disconnects from the modem.

  • ec25.configure()
    Turns on modem.
    Connects to the modem.
    Configures modem.

  • ec25.sendSMS(string number, string message)
    Sends an SMS containing message to number.

  • ec25.receiveSMS()
    Returns sms with unread SMS.

  • ec25.placeVoiceCall(string number)
    Places an outgoing voice call to number.

  • ec25.receiveVoiceCall()
    Receives an incoming voice call.

  • ec25.getCallStatus()
    Returns True when call is ongoing.

  • ec25.endCall()
    Ends an active voice call.

  • ec25.beginAudioPlayback(string playbackFile)
    Plays playbackFile to the active voice call.

  • ec25.waitForAudioPlayback()
    Waits until audio stops playing (blocking function).

  • ec25.endAudioPlayback()
    Stops playing audio to the active voice call.

  • ec25.beginAudioRecording(string recordFile)
    Records audio from the active voice call to recordFile.

  • ec25.endAudioRecording()
    Stops recording audio from the active voice call.

  • ec25.sendMMS(MmsConfiguration mmsConfig, string recipient, string cc, string bcc, string title, string attachment)
    Sets MMS configuration settings to mmsConfig.
    Sends an MMS with title and attachment to recipient, cc & bcc.

  • ec25.getKeypadInput(int length, string audioFile)
    (Optional) Plays audioFile to the active voice call.
    Returns keypad input of length.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rbIotModem-1.3.1.tar.gz (508.9 kB view hashes)

Uploaded Source

Built Distribution

rbIotModem-1.3.1-py3-none-any.whl (506.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page