def demo3(): """ Laptop Motion Sensor Demonstrates how an external program can be invoked and monitored by Twisted. Motion is a program that writes samples of the accelerometer inside the MacBook to stdout. Twisted treats the stdin/out of a process just like any other transport. The twisted Process Protocol receives the write events on the outReceived method The MotionProcessProtocol will log the data samples when they occur. """ motionProcess = motion.MotionProcessProtocol() motion.spawnProcess(reactor, motionProcess, 250)
def demo4(): """ Integrate the motion sensor and the Arduino device light! This demo uses both an arduino.Device object and a motion process. The x, y, and z components of the accelerometer data are mapped to the r, g, and b components of the LED on the arduino device. The result is the ability to change the LED color by moving your laptop around. The MotionToLight extends the MotionProcessProtocol. The motionReceived event handler calls the set_color method of the arduino device every time it gets a new accelerometer sample. """ device = arduino.Device() motionProcess = MotionToLight(device) motion.spawnProcess(reactor, motionProcess, 250)