pymata_aio is a high performance, non-blocking, Python asyncio client for the Firmata Protocol that supports the complete StandardFirmata protocol.
- Python 3.5+ compatible.
- Implements PEP 492
- Applications developed with version 1.x of pymata_aio are backward compatible without modification.
- Implemented using the high efficiency Python asyncio library.
- Choose From 3 Included APIs
- pymata_core - a pure asyncio method call API.
- pymata3 - a pymata_aio plugin implementing a method call API that acts as a proxy for pymata_core. It shields the user from the details of the asyncio library.
- pymata_iot - a pymata_aio plugin API that implements Websocket server, and uses JSON messaging for application communication.
- After downloading and invoking pymata_iot, control your Arduino from a webpage!
- Implements 100% of the StandardFirmata Protocol (StandardFirmata 2.5.3).
- Auto-detects Arduino COM ports.
- FirmataPlus (enhanced StandaradFirmata sketch) included with distribution. It adds support for:
- HC-SRO4 Ultrasonic Distance Sensors using a single pin.
- Stepper Motors.
- Piezo Tone Generation.
- 2 Pin Rotary Encoder Support.
- FirmataPlusRB (enhanced StandardFirmata sketch to control a SparkFun Redbot) is included with the distribution. It adds support for:
- Piezo Tone Generation.
- Wheel encoders.
- RedBot Accelerometer.
- Check out rbDashBoard for a web interface to the RedBot.
- Check out rb4s, a Scratch Program to control the RedBot.
- Ability to automatically capture and time-stamp user specified analog and digital transient input events on a per-pin basis.
- All 3 APIs support callback as well as a polled interface.
Detailed package information can be found on the pymata_aio wiki.
Change log can be found here.
This project was developed with Pycharm