Skip to content

[WIP not suitable for production] A Python library that implements a cashless MDB peripheral over UART.

License

Notifications You must be signed in to change notification settings

membermatters/pymultidropbus

Repository files navigation

pymultidropbus

A Python library that implements a cashless MDB peripheral over UART. This is for integrating an external payment system with an MDB enabled vending machine. This library will not talk to an MDB enabled credit card reader - it pretends to be one.

This library is not production ready, and is a continual work in progress. Contributions are welcome, but we will not be accepting feature requests at this time.

Software Requirements

This library should be compatible with most Linux Python environments that support the pyserial library, and any serial hardware that supports setting a sticky parity bit.

However, this library is currently only developed for and supported on a Raspberry Pi.

Install Dependencies

Install the required Python dependencies by running the following command:

pip3 install -r requirements.txt

Hardware Requirements

Please note that a multicore raspberry pi with an entire core dedicated to your MDB application is highly recommended. Linux is not a realtime operating system, and the MDB protocol has strict timing requirements which occasionally causes issues. If your use case is not public facing or doesn't need high reliability, you may not need to worry about this.

Read more about dedicating one of your cores to a single process here, here and here.

Usage

Please check the example.py script for an example of how to use this library. Below is some documentation on each event that this library raises and the format of the associated data objects.

About

[WIP not suitable for production] A Python library that implements a cashless MDB peripheral over UART.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages