Firmata ist ein Protokoll um mit Mikrocontrollern zu kommunizieren:
http://firmata.org/wiki/Main_Page
Damit kann man mit dem Arduino über einen Raspberry kommunizieren.
http://playground.arduino.cc/Interfacing/Firmata
# pyFirmata installieren https://github.com/tino/pyFirmata sudo apt-get update && sudo apt-get install python-serial git-core git clone git://github.com/tino/pyFirmata cd pyFirmata sudo python setup.py install
Alternativer Python-Install:
sudo apt-get update && sudo apt-get install python-pip sudo pip install pyfirmata
PyFirmata unterstützt Firmata 2.1 (Aktuelle Firmata-Version = 2.2)
Beispiel für Aufruf in Python (auf dem Raspberry):
from pyfirmata import Arduino, util
board = Arduino('/dev/ttyUSB0')
# Schreiben und Lesen digitaler Pin
board.digital[2].write(1)
print board.digital[2].read()
# mit get_pin()
pin2 = board.getpin('d:2:o')
pin2.write(1)
# Analoge Daten mit Iterator lesen, damit Serielle Schnittstelle nicht blockiert wird
iter = util.Iterator(board)
iter.start()
board.analog[0].enable_reporting()
board.analog[0].read()
#iter.stop()
# um Datenstrom zu stoppen:
board.analog[0].disable_reporting()