树莓派实用教程 > 树莓派GPIO教学
树莓派GPIO 编程

1.WiringPi简介

    WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。

    wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。用户可以利用gpio命令通过shell脚本控制或查询GPIO管脚。wiringPi是可以扩展的,可以利用wiringPi的内部模块扩展模拟量输入芯片,可以使用MCP23x17/MCP23x08(I2C 或者SPI)扩展GPIO接口。另外可通过树莓派上的串口和Atmega(例如arduino等)扩展更多的GPIO功能。另外,用户可以自己编写扩展模块并把自定义的扩展模块集成到wiringPi中。WiringPi支持模拟量的读取和设置功能,不过在树莓派上并没有模拟量设备。但是使用WiringPi中的软件模块却可以轻松地应用AD或DA芯片。


2.wiringPi安装

wiringPi的安装存在方案A和方案B。wiringPi使用GIT工具维护个更新代码,但是如果处于一些其他原因不能使用GIT,那么也可以使用方案B下载和安装wiringPi。

方案A——使用GIT工具

如果在你的平台上还没有安装GIT工具,可以输入以下命令:

sudo apt-get install git-core

如果在这个过程中出现错误,尝试更新软件,例如输入以下指令:

sudo apt-get update

sudo apt-get upgrade

紧接着可以通过GIT获得wiringPi的源代码

git clone git://git.drogon.net/wiringPi

若需要更新wiringPi。

cd wiringPi

git pull origin

进入wiringPi目录并安装wiringPi

cd wiringPi

./build

build脚本会帮助你编译和安装wiringPi


方案B——直接下载和解压

简单的输入以下网址:

https://git.drogon.net/?p=wiringPi;a=summary

    图1 下载wiringPi最新版本源代码


点击图中的snapshot便可下载最新版本。

你可能下载到一个名为wiringPi-98bcb20.tar.gz的压缩包,需要助于的是98bcb20只是一个版本号,当你下载wiringPi的时候该版本号可能会发生改变。

你需要解压wiringPi源代码并进行安装,可输入以下指令:

tar xfz wiringPi-98bcb20.tar.gz

cd wiringPi-98bcb20

./build

再次说明,wiringPi压缩包的名称很可能不是98bcb20,请根据实际情况改变。


测试wiringPi是否安装成功

wiringPi包括一套gpio命令,使用gpio命令可以控制树莓派上的各种接口,通过以下指令可以测试wiringPi是否安装成功。

gpio -v

gpio readall

图2 测试wiringPi是否安装成功

3.引脚说明

下图是wiringPi的引脚说明,这里需要说明两点。第一树莓派存在版本A和版本B,版本A和版本B的GPIO管脚存在差异;第二,wiringPi对树莓派的管脚重新进行了封装,例如wiringPi的GPIO0意味着BCM2835的GPIO17,这仅仅是一种封装映射关系,不会对开发和使用产生较大的影响。



图3 wiringPi引脚和BCM引脚的映射关系