Metadata-Version: 2.1
Name: idppnpdongle
Version: 0.1.6
Summary: Module for interfacing with Inmarsat's IDP Plug-N-Play device.
Home-page: https://github.com/inmarsat-enterprise/idp-pnpdongle
License: Apache-2.0
Keywords: satellite,iot,idp,isatdata pro
Author: G.Bruce-Payne
Author-email: geoff.bruce-payne@inmarsat.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: gpiozero (>=1.5.1,<2.0.0)
Requires-Dist: idpmodem (>=1.1.2,<2.0.0)
Requires-Dist: pigpio (>=1.78,<2.0)
Project-URL: Repository, https://github.com/inmarsat-enterprise/idp-pnpdongle
Description-Content-Type: text/markdown

# Inmarsat IDP Plug-N-Play Dongle

The Plug-N-Play dongle is a small programmable single board computer in a
black box intended to be able to quickly demonstrate and prototype 
Internet-of-Things use cases enabled by satellite messaging connectivity.

The dongle connects directly to an [**ST2100**]()
satellite modem manufactured by
[ORBCOMM](https://www.orbcomm.com/)
and provides access to:

  * Serial communications using **AT commands**
  * Modem **event notification** via discrete output pin to a callback function
  * Modem reset via **modem reset** input pin
  * Microcontroller reset event via **external reset** output pin
  * 1 pulse-per-second (**PPS**) from GNSS timing via discrete output pin

The dongle supports connection to an external customer-supplied microcontroller
using RS-232 via the **developer breakout cable**.

The dongle `mode` can be configured as:

1. `transparent` pass through serial commands to a separate third party 
microcontroller (default hardware configuration)
2. `master` act as the application microcontroller 
*(default when using this Python module)*
3. `proxy` act as a proxy intercepting responses from the modem to a third 
party microcontroller

## Installation

```
pip install idppnpdongle
```

## Example Usage

```
import asyncio

from idppnpdongle import PnpDongle

dongle = PnpDongle()
modem = dongle.modem
response = asyncio.run(modem.command('AT'))
```
