/carica-firmata

Firmata client library for PHP.

Primary LanguagePHP

Carica Firmata

Build Status License Total Downloads Latest Stable Version Latest Unstable Version

License: The MIT License

Copyright: 2013-2018 Thomas Weinert thomas@weinert.info

Carica Firmata is a PHP client library for the Firmata protocol.

It's a learning project not a product. Use it at your own risk.

![Gitter](https://badges.gitter.im/Join Chat.svg)

Basics

The repository provides a library to control an Arduino using the Firmata server sketch.

It was originally based on the Javascript implementation by Julian Gautier.

Dependencies

Carica Firmata uses Carica Io a non blocking I/O library for PHP. At least PHP 5.4 is needed. On Windows, Serproxy should be used to map serial ports to tcp.

Installation

Carica Firmata is available on Packagist. Use Composer to add it as an dependency into your own projects.

Carica\Firmata\Pin

Carica Firmata provides an OOP abstraction for the pins on an Arduino. Values are stored and only send to the board if changed. The values can be changed using different properties.

  • $pin->value is the original, internal value, the maximum value depends on the resolution of the mode.
  • $pin->digital is a boolean value and sets the pin to low/high
  • $pin->analog is a float between 0 and 1, the need value is calculated internally using the resolution of the current mode.

It is suggested to use the digital/analog properties to support different resolutions.

Carica Chip

Carica Chip uses this project and provides device objects like a led or a motor. Take a look at: https://github.com/ThomasWeinert/carica-chip