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()