wpjscc / firmata
Firmata client library
Requires
- php: >=7.1
- carica/io: ^1.1
Provides
- carica/io-devices: 0.0.1
This package is not auto-updated.
Last update: 2024-12-22 04:27:28 UTC
README
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