It's Been Over A Year Since My Last Post

You may have been wondering where I've been ( but probably not ;-) ). It does not feel like so much time has gone by, but it has.

In that time, I've published , pymata-express, my latest attempt at an Arduino Firmata client, and have been working on some additional features for python-banyan.

The pymata-express project is a pure Python asyncio implementation that uses the latest asyncio features released with Python 3.7. Here are its main features:
  •  An improved and simplified API.
  • A full set of working examples has been supplied with the project.
  • A new Arduino sketch, called FirmataExpress, was developed to be used in conjunction with pymata-express.
  • When using FirmataExpress:
    • The Arduino serial link runs at 115200 
    • Arduino auto-discovery has been greatly improved by adding a handshake to the Arduino when the auto-discovery process takes place.
For python-banyan, I have improved the documentation, added a simplified set of examples to the tutorials and developed a concept I call OneGPIO. OneGPIO is a generalized GPIO specification in the form of a set of Banyan protocol messages. Essentially, you create a GPIO application by creating a Banyan component that publishes OneGPIO messages, and specialized Banyan components, called OneGPIO Gateways, subscribe to these messages and then translate the messages into specific target hardware native GPIO  API calls. You code your application once, and then you will be able to run your application on any of the supported platforms (Arduino, ESP-8266, and Raspberry Pi) without any additional code changes.

 The distribution includes a set of demonstrations:
  • A common simple LED blink example to control all 3 hardware platforms.
  • A  common tkinter remote control GUI for all 3 hardware platforms.
  • A Web Page for each hardware platform that provides Web based remote control for all 3 platforms.

All the demos take advantage of the Banyan Launcher, where from a single terminal window, all the Banyan components for a Banyan application are launched from a single command line.
Lastly, python-banyan is being used Palace Games in San Francisco, as its communictions back-bone. You can read about that here

Please take a look at python-banyan and pymata-express and let me know what you think.