pyfirmata Documentation

Similar documents
All Yarns Are Beautiful Documentation

8:1 Serial Port Expander

Index. Jeff Cicolani 2018 J. Cicolani, Beginning Robotics with Raspberry Pi and Arduino,

Arduino Prof. Dr. Magdy M. Abdelhameed

RiotWatcher Documentation

YouTube API Wrapper Documentation

SHIELD-MD10 Cytron 10A Motor Driver Shield

dicompyler-core Documentation

Python 3 Interface for the Robotics Cape on the Beaglebone Black and the Beaglebone Blue

Arduino 02: Using the Arduino with Python. Jeffrey A. Meunier University of Connecticut

FIQL Parser. Release 0.15

IDUINO for maker s life. User Manual. For IDUINO Mega2560 Board(ST1026)

bottle-rest Release 0.5.0

Circuit Playground Firmata

Electronics Single Board Computers

py-opc Documentation David H Hagan

redis-lua Documentation

Computer Science 121. Scientific Computing Prof. Levy Chapter 13 Sensors and Data Acquisition

WordEmbeddingLoader Documentation

picrawler Documentation

IDUINO for maker s life. User Manual. For IDUINO development Board.

tolerance Documentation

mpv Documentation Release Cory Parsons

Physical Computing Self-Quiz

arduino mega D4F69C4DABCA73DE7282FD2C4B5B8 Arduino Mega / 6

Physics 120/220. Microcontrollers Extras. Prof. Anyes Taffard

keyestudio Keyestudio MEGA 2560 R3 Board

Lab 8: Sensor Characterization Lab (Analog)

AtomGen Documentation

ITESM CEM Cuauhtemoc Carbajal. Reference:

GUIDE TO SP STARTER SHIELD (V3.0)

ARDUINO. By Kiran Tiwari BCT 2072 CoTS.

pybdg Documentation Release 1.0.dev2 Outernet Inc

nptdms Documentation Release Adam Reeve

Django-CSP Documentation

AlaMode User Manual Revision

PyQ Documentation. Release 3.8. Enlightenment Research, LLC.

django-embed-video Documentation

The Arduino Briefing. The Arduino Briefing

ARDUINO MEGA 2560 REV3 Code: A000067

Easy-select2 Documentation

streamio Documentation

MCU: Interrupts and Timers. Ganesh Pitchiah

python-periphery Documentation

MicroPython Development Documentation Documentation

Bitdock. Release 0.1.0

micawber Documentation

Internet of Things: Using MRAA to Abstract Platform I/O Capabilities

Sherlock Documentation

python-tds Documentation

ARDUINO MEGA ADK REV3 Code: A000069

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO

ds1054z Documentation

Uranium Documentation

USER MANUAL ARDUINO I/O EXPANSION SHIELD

django-embed-video Documentation

Clique. Release 1.3.1

ARTIFICIAL INTELLIGENCE AND PYTHON

prompt Documentation Release Stefan Fischer

driver Documentation

django-embed-video Documentation

petfinder-api Documentation

CSV Importer Documentation

pymodbustcp Documentation

W5100 Layout Guide version 1.0

Linux Kernel Hacking Free Course, 3rd edition. HWMPS: Hardware Monitor & Protection System

Exen Mini. Setup Guide - V1. nerdonic.com

Introduction To Arduino

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Arduino 04: Python Arduino reference. Jeffrey A. Meunier University of Connecticut

Sanguino TSB. Introduction: Features:

Avpy Documentation. Release sydh

Electricity. The only difference between a bolt of lightning and the spark between you finger and a doorknob pm a dry. Both are electricity

Multicorn Documentation

Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S

django-redis-cache Documentation

IoT Relay Documentation

analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin.

ESPino - Specifications

python-anyvcs Documentation

Introduction to Arduino. Wilson Wingston Sharon

sptrans Documentation

Pridgen Vermeer Robotics ATmega128 Revision 0

Redis Timeseries Documentation

ESPWiFi Shield SHIELD ESP WIFI Rev2.0

e24paymentpipe Documentation

Slither.io-bot Documentation

csdesign Documentation

Arduino ADK Rev.3 Board A000069

pglib Documentation Release Michael Kleehammer

Torndb Release 0.3 Aug 30, 2017

FUNCTIONS For controlling the Arduino board and performing computations.

Station Automation --W3SZ

Pocket Science Lab Powerful and Portable Mini Open Hardware Device for Open Science. Mario

URM06 UART Ultrasonic SKU:SEN0150

Welcome to Apollo. For more information, please visit the website and select Apollo. Default Code

spacetrack Documentation

pysharedutils Documentation

pescador Documentation

INTRODUCTION. Product summary. Tempo modification. Serial I/O Port

Transcription:

pyfirmata Documentation Release 1.0.0 Tino de Bruijn Sep 23, 2017

Contents 1 pyfirmata 3 2 Installation 5 3 Usage 7 4 Board layout 9 5 Indices and tables 11 Python Module Index 13 i

ii

pyfirmata Documentation, Release 1.0.0 Module reference: Contents 1

pyfirmata Documentation, Release 1.0.0 2 Contents

CHAPTER 1 pyfirmata class pyfirmata.pyfirmata.board(port, layout=none, baudrate=57600, name=none, timeout=none) The Base class for any board. add_cmd_handler(cmd, func) Adds a command handler for a command. auto_setup() Automatic setup based on Firmata s Capability Query exit() Call this to exit cleanly. get_firmata_version() Returns a version tuple (major, minor) for the firmata firmware on the board. get_pin(pin_def ) Returns the activated pin given by the pin definition. PinAlreadyTakenError. May raise an InvalidPinDefError or a Parameters pin_def Pin definition as described below, but without the arduino name. So for example a:1:i. a analog pin Pin number i for input d digital pin Pin number o for output p for pwm (Pulse-width modulation) All seperated by :. iterate() Reads and handles data from the microcontroller over the serial port. This method should be called in a main loop or in an Iterator instance to keep this boards pin values up to date. pass_time(t) Non-blocking time-out for t seconds. send_sysex(sysex_cmd, data) Sends a SysEx msg. 3

pyfirmata Documentation, Release 1.0.0 Parameters sysex_cmd A sysex command byte : arg data: a bytearray of 7-bit bytes of arbitrary data servo_config(pin, min_pulse=544, max_pulse=2400, angle=0) Configure a pin as servo with min_pulse, max_pulse and first angle. min_pulse and max_pulse default to the arduino defaults. setup_layout(board_layout) Setup the Pin instances based on the given board layout. class pyfirmata.pyfirmata.pin(board, pin_number, type=2, port=none) A Pin representation disable_reporting() Disable the reporting of an input pin. enable_reporting() Set an input pin to report values. mode Mode of operation for the pin. Can be one of the pin modes: INPUT, OUTPUT, ANALOG, PWM. or SERVO (or UNAVAILABLE). read() Returns the output value of the pin. This value is updated by the boards Board.iterate() method. Value is always in the range from 0.0 to 1.0. write(value) Output a voltage from the pin Parameters value Uses value as a boolean if the pin is in output mode, or expects a float from 0 to 1 if the pin is in PWM mode. If the pin is in SERVO the value should be in degrees. class pyfirmata.pyfirmata.port(board, port_number, num_pins=8) An 8-bit port on the board. disable_reporting() Disable the reporting of the port. enable_reporting() Enable reporting of values for the whole port. write() Set the output pins of the port to the correct state. 4 Chapter 1. pyfirmata

CHAPTER 2 Installation The preferred way to install is with pip: pip install pyfirmata If you install from source with python setup.py install, don t forget to install pyserial as well. 5

pyfirmata Documentation, Release 1.0.0 6 Chapter 2. Installation

CHAPTER 3 Usage Basic usage: >>> from pyfirmata import Arduino, util >>> board = Arduino('/dev/tty.usbserial-A6008rIF') >>> board.digital[13].write(1) To use analog ports, it is probably handy to start an iterator thread. Otherwise the board will keep sending data to your serial, until it overflows: >>> it = util.iterator(board) >>> it.start() >>> board.analog[0].enable_reporting() >>> board.analog[0].read() 0.661440304938 If you use a pin more often, it can be worth it to use the get_pin method of the board. It let s you specify what pin you need by a string, composed of a or d (depending on wether you need an analog or digital pin), the pin number, and the mode ( i for input, o for output, p for pwm). All seperated by :. Eg. a:0:i for analog 0 as input, or d:3:p for digital pin 3 as pwm.: >>> analog_0 = board.get_pin('a:0:i') >>> analog_0.read() 0.661440304938 >>> pin3 = board.get_pin('d:3:p') >>> pin3.write(0.6) 7

pyfirmata Documentation, Release 1.0.0 8 Chapter 3. Usage

CHAPTER 4 Board layout If you want to use a board with a different layout than the standard Arduino, or the Arduino Mega (for wich there exist the shortcut classes pyfirmata.arduino and pyfirmata.arduinomega), instantiate the Board class with a dictionary as the layout argument. This is the layout dict for the Mega for example: >>> mega = {... 'digital' : tuple(x for x in range(54)),... 'analog' : tuple(x for x in range(16)),... 'pwm' : tuple(x for x in range(2,14)),... 'use_ports' : True,... 'disabled' : (0, 1, 14, 15) # Rx, Tx, Crystal... } 9

pyfirmata Documentation, Release 1.0.0 10 Chapter 4. Board layout

CHAPTER 5 Indices and tables genindex modindex search 11

pyfirmata Documentation, Release 1.0.0 12 Chapter 5. Indices and tables

Python Module Index p pyfirmata.pyfirmata, 3 13

pyfirmata Documentation, Release 1.0.0 14 Python Module Index

Index A add_cmd_handler() (pyfirmata.pyfirmata.board method), 3 auto_setup() (pyfirmata.pyfirmata.board method), 3 B Board (class in pyfirmata.pyfirmata), 3 D disable_reporting() (pyfirmata.pyfirmata.pin method), 4 disable_reporting() (pyfirmata.pyfirmata.port method), 4 E enable_reporting() (pyfirmata.pyfirmata.pin method), 4 enable_reporting() (pyfirmata.pyfirmata.port method), 4 exit() (pyfirmata.pyfirmata.board method), 3 G get_firmata_version() (pyfirmata.pyfirmata.board method), 3 get_pin() (pyfirmata.pyfirmata.board method), 3 I iterate() (pyfirmata.pyfirmata.board method), 3 M mode (pyfirmata.pyfirmata.pin attribute), 4 P pass_time() (pyfirmata.pyfirmata.board method), 3 Pin (class in pyfirmata.pyfirmata), 4 Port (class in pyfirmata.pyfirmata), 4 pyfirmata.pyfirmata (module), 3 R read() (pyfirmata.pyfirmata.pin method), 4 S send_sysex() (pyfirmata.pyfirmata.board method), 3 servo_config() (pyfirmata.pyfirmata.board method), 4 setup_layout() (pyfirmata.pyfirmata.board method), 4 W write() (pyfirmata.pyfirmata.pin method), 4 write() (pyfirmata.pyfirmata.port method), 4 15