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.