树莓派gpio接口操作
- 基础知识介绍
General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。(摘自百度)
树莓派gpio接口示意图,图片来源。
- 使用python操作gpio接口
##安装python gpio库1
2
3
4
5
6
7mkdir gpio
cd gpio
wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.7.tar.gz
#或者到这里下载最新版本:https://pypi.python.org/pypi/RPi.GPIO
tar xvzf RPi.GPIO-*.tar.gz
cd RPi.GPIO-*/
sudo python setup.py install
安装的时候出现错误:1
source/py_gpio.c:23:20: fatal error: Python.h: No such file or directory
缺少Python.h文件,没安装python编译环境:1
sudo apt-get install python-dev
再次安装:1
sudo python setup.py install
点亮led灯
先测试下输出,新建个led.py文件:1
2
3
4
5
6
7
8
9
10
11#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
while True:
GPIO.output(11,True)
time.sleep(1)
GPIO.output(11,False)
time.sleep(1)
注意: 这里使用GPIO.BOARD模式,所以对于引脚号的排序,是按26个pin的顺序,不是gpio1这样的.也就是说pin1就是板子上的3V3. 把led的负极接到板子上的pin11.正极接一个3K3的电阻,在接到3V3上,防止烧坏. 特别注意python的缩进.
终端下运行:1
sudo python led.py
如果LED出现一闪一闪就表示成功了.