Metadata-Version: 2.4
Name: telegen-shims-serial
Version: 0.1.0.dev4
Summary: Shims for the PySerial library for the CounterFit virtual IoT device app
Home-page: https://github.com/CounterFit-IoT/CounterFit
Author: Jim Bennett
License: MIT
Keywords: iot pyserial serial virtual hardware
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Hardware
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: telegen-connection
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# CounterFit Shims - PySerial

![PySerial Shim](https://img.shields.io/badge/Platform-Python-green) [![PyPI](https://img.shields.io/pypi/v/telegen-shims-serial)](https://pypi.org/project/telegen-shims-serial)

Shims for the PySerial to read sensors that use a virtual serial port

See the [PySerial Docs](https://pyserial.readthedocs.io/en/latest/pyserial.html) for the API documentation.

## Getting started

To use these shims, you will need to install [CounterFit](https://github.com/CounterFit-IoT/CounterFit) and have it running, with the appropriate hardware created.

* Install this package from pip:

    ```sh
    pip install telegen-shims-serial
    ```

* Import PySerial using the `counterfit_shims_serial` package instead of the `serial` package, as well as importing the `TeleGenConnection` from the `counterfit_shims_grove.counterfit_connection` module:

    ```python
    from counterfit_connection import TeleGenConnection
    import counterfit_shims_serial
    ```

* Configure the connection to the CounterFit app. Change the hostname and port to where you are running it:

    ```python
    TeleGenConnection.init('127.0.0.1', 5000)
    ```

* Write your PySerial code as usual, setting the port to match the one you set in the CounterFit app.

    For example, create a UART sensor on port `/dev/ttyAMA0`:

    ```python
    serial = counterfit_shims_serial.Serial('/dev/ttyAMA0', 9600, timeout=1)
    ```

    The baud and timeout settings are ignored.
