Skip to content
This repository has been archived by the owner on Mar 28, 2020. It is now read-only.

MrYsLab/pymata-aio

Repository files navigation

This repository has been archived.

The pymata-core API has been replaced with pymata-express, and the pymata3 API has been replaced with pymata4.

logo

pymata_aio is a high performance, non-blocking, Python asyncio client for the Firmata Protocol that supports the complete StandardFirmata protocol.

Join the chat at https://gitter.im/MrYsLab/pymata-aio

Major features

  • Python 3.5+ compatible for Linux and macOS.
    • Implements PEP 492
    • Applications developed with version 1.x of pymata_aio are backward compatible without modification.
  • Python 3.7+ compatible for Windows.
  • 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.
  • Implements 100% of the StandardFirmata Protocol (StandardFirmata 2.5.3).
  • Auto-detects Arduino COM ports.
  • FirmataPlus (enhanced StandardFirmata sketch) included with distribution. It adds support for:
    • HC-SR04 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 logo