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 audio packages
$ sudo apt-get install -y libasound2-dev libsndfile1-dev

Installation

$ pip3 install 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(string &sms)
    Sets 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(string &input, int length, string audioFile)
    (Optional) Plays audioFile to the active voice call.
    Receives keypad-input of length and stores it in input.

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.2.0.tar.gz (406.3 kB view hashes)

Uploaded Source

Built Distribution

rbIotModem-1.2.0-py3-none-any.whl (404.5 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