Wiring-x86 is a Python module that lets you use Arduino like functionality on Intel® Arduino capable boards such as:
It provides a simple and unified API (similar to the WiringPi module) to talk to the GPIO pins on the board.
At the moment the Wiring-x86 library provides support to:
- Writing to a GPIO pin configured as output.
- Reading from a GPIO pin configured as high impedance input.
- Reading from a GPIO pin configured as pullup input.
- Reading from a GPIO pin configured as pulldown input.
- Reading from a GPIO pin configured as analog input (ADC).
- Writing to a GPIO pin configured as analog output (PWM).
Here is a simple example:
# Import the time module enable sleeps between turning the led on and off. import time # Import the GPIOEdison class from the wiringx86 module. # In case you want to use a different board, simply the import right class # below. The API is unified for all supported boards. from wiringx86 import GPIOEdison as GPIO # Create a new instance of the GPIOEdison class. # Setting debug=True gives information about the interaction with sysfs. gpio = GPIO(debug=False) pin = 13 state = gpio.HIGH # Set pin 13 to be used as an output GPIO pin. print 'Setting up pin %d' % pin gpio.pinMode(pin, gpio.OUTPUT) print 'Blinking pin %d now...' % pin try: while(True): # Write a state to the pin. ON or OFF. gpio.digitalWrite(pin, state) # Toggle the state. state = gpio.LOW if state == gpio.HIGH else gpio.HIGH # Sleep for a while. time.sleep(0.5) # When you get tired of seeing the led blinking kill the loop with Ctrl-C. except KeyboardInterrupt: # Leave the led turned off. print '\nCleaning up...' gpio.digitalWrite(pin, gpio.LOW) # Do a general cleanup. Calling this function is not mandatory. gpio.cleanup()
Full documentation can be found at wiring-x86 site on Read the Docs.
The original YOCTO Linux OS provided by Intel® must be used. For more information on how to get this software go to Intel® Makers site. This module will only work with that combination of boards and OS since it uses specific Intel® GPIO driver sysfs interface.