1、安装RPi.GPIO
下载RPi.GPIO库:https://pypi.python.org/pypi/RPi.GPIO
下载SPI控制spidev库: https://pypi.python.org/pypi/spidev
下载解压:
先安装python-dev,
sudo apt-get install python-dev
如果出现依赖项无法安装的问题
需要先进行更新软件源和更新安装包:
一般更新后可以正常安装好python-dev。
然后 cd到相应的文件夹安装 RPi .GPIO 和 spidev。
cd 到 RPi.GPIO内安装
sudo python setup.py install
cd 到 spidev内安装
sudo python setup.py install
安装smbus库,I2C接口库函数 和 serial库,UART接口库函数:
安装完这几个库,就可以使用基于pyhon的GPIO的操作了。
GPIO.setmode(GPIO.BOARD),采用插座引脚编号方式
可以使用下列代码(强制的)指定一种编号规则:
GPIO.setmode(GPIO.BOARD)
# or
GPIO.setmode(GPIO.BCM)
下面代码将返回被设置的编号规则
mode = GPIO.getmode()
如果RPi.GRIO检测到一个引脚已经被设置成了非默认值,那么你将看到一个警告信息。你可以通过下列代码禁用警告:
GPIO.setwarnings(False)
在使用一个引脚前,你需要设置这些引脚作为输入还是输出。配置一个引脚的代码如下:
# 将引脚设置为输入模式
GPIO.setup(channel, GPIO.IN)
# 将引脚设置为输出模式
GPIO.setup(channel, GPIO.OUT)
# 为输出的引脚设置默认值
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
一般来说,程序到达最后都需要释放资源,这个好习惯可以避免偶然损坏树莓派。释放脚本中的使用的引脚:
GPIO.cleanup()
要想点亮一个LED灯,或者驱动某个设备,都需要给电流和电压他们,这个步骤也很简单,设置引脚的输出状态就可以了,代码如下:
GPIO.output(channel, state)
状态可以设置为0 / GPIO.LOW / False / 1 / GPIO.HIGH / True。如果编码规则为,GPIO.BOARD,那么channel就是对应引脚的数字。
我们也常常需要读取引脚的输入状态,获取引脚输入状态如下代码:
GPIO.input(channel)
低电平返回0 / GPIO.LOW / False,高电平返回1 / GPIO.HIGH / True。
如果输入引脚处于悬空状态,引脚的值将是漂动的。换句话说,读取到的值是未知的,因为它并没有被连接到任何的信号上,直到按下一个按钮或开关。由于干扰的影响,输入的值可能会反复的变化。
使用如下代码可以解决问题:
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# or
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
需要注意的是,上面的读取代码只是获取当前一瞬间的引脚输入信号。
参考: http://blog.csdn.net/xmm1981/article/details/53156992
http://www.waveshare.net/study/article-742-1.html
http://www.runoob.com/python/python-tutorial.html
http://www.waveshare.net/study/article-601-1.html