原文:http://blog.csdn.net/xukai871105/article/details/12684617
 
树莓派来自国外,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个。
   
   【python GPIO】(该库更确切的名称应为raspberry-gpio-python)
    简单介绍:树莓派官方资料中推荐且容易上手。python GPIO是一个小型的python库,可以帮助用户完成raspberry相关IO口操作。但是python GPIO库还没有支持SPI、I2C或者1-wire等总线接口。除了python GPIO之外,还有众多的python扩展库(例如webiopi),毫无疑问的说python非常适合树莓派,树莓派也非常适合python。
 
    【wiringPi
    简单介绍:编程的方法兼容arduino,作者给出了大量的说明和示例代码,功能强大。这些示例代码也包括UART设备,I2C设备和SPI设备等。
 
    【BCM2835 C Library
    简单介绍:C Library可以理解为使用C语言实现的底层驱动,包括GPIO、SPI、I2C和UART等,使用简单方便同样容易上手。
 
raspi扩展板:
1.raspi通过i2c和PCF8574扩展8个I/O,1个i2c:8个PCF8574:64个I/O//bcm2835lib
 
三、wiringpi安装:(简介、管脚说明)原文地址:http://blog.csdn.net/xukai871105/article/details/17737005
1.WiringPi简介
    WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。
树莓派具有26个普通输入和输出引脚。在这26个引脚中具有8个普通输入和输出管脚,这8个引脚既可以作为输入管脚也可以作为输出管脚。除此之外,树莓派还有一个2线形式的I2C、一个4线形式的SPI和一个UART接口。树莓派上的I2C和SPI接口也可以作为普通端口使用。如果串口控制台被关闭便可以使用树莓派上的UART功能。如果不使用I2C,SPI和UART等复用接口,那么树莓派总共具有8+2+5+2 =17个普通IO。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文件夹,我安装在/home/pi/wiringPi/目录下
进入wiringPi目录并安装wiringPi
cd wiringPi/
./build
build脚本会帮助你编译和安装wiringPi
 
若需要更新wiringPi。
cd wiringPi
git pull origin
 
在shell输入gpio会输出gpio可用的命令选项
 
在/wiringPi/examples目录中有一些例子,例如test1,运行如下
sudo ./test1
方案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引脚的映射关系
 
4.参考资料

raspi集成库及安装的更多相关文章

  1. Windows系统下 Python(Anaconda)的 Dlib库 的安装

    0.引言 介绍 Windows 10 64位系统下,利用 Anaconda 开发环境,在python中安装 Dlib库 : windows下dlib的安装十分不友好,所以在这里分享下安装过程: win ...

  2. 1.sklearn库的安装

    sklearn库 sklearn是scikit-learn的简称,是一个基于Python的第三方模块.sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的 ...

  3. Python中第三方库的安装

    网上的帖子挺多的,教你如何安装,安装第三方工具库的方法总共分为三类:Dos系统下pip命令:安装包下载安装:IDE集成环境下安装(Pycharm,Spyder……) http://www.jiansh ...

  4. Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02

    1.      Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求, ...

  5. dev c++ Boost库的安装

    dev c++ 的boost库的安装步骤 然后点击“check for updates”按钮 最后点击“Download selected”按钮,下载完成后安装.... 给dev添加boost库文件, ...

  6. 机器学习库shark安装

    经过两天的折腾,一个对c++和机器学习库的安装都一知半解的人终于在反复安装中,成功的将shark库安装好了,小小纪念一下,多亏了卡门的热心帮忙. shark的安装主要分为以下几个部分: (1)下载 s ...

  7. WAMP集成环境的安装

    暑假已经正式开始,我的学习计划也开始有了初步的进展,今天学习的主要内容是PHP的基础知识,以及在电脑上面安装了集成的WAMP(Windows+Apache+MySQL+PHP). PHP的基础知识: ...

  8. Robot Framework中经常用的第三方库的安装方法

    pip升级:python -m pip install --upgrade pip 一.安装robotframework-selenium2library,相当于python中的selenium    ...

  9. Python库的安装方法

    Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...

随机推荐

  1. HTML防止重复提交

    1 在你的表单页里HEAD区加入这段代码: <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <ME ...

  2. apache 报413

    http://www.hostlift.com/apache/modsecurity-request-body-content-length-is-larger-than-the-configured ...

  3. CS193p Lecture 6 - UINavigation, UITabBar

    抽象类(Abstract):指的是这个类不能被实例化,只能被继承: OC中没有关键词来标明某个类是抽象类,只能在注释中标注一下: 抽象类中的抽象方法,必须是public的,使方法称为public的方法 ...

  4. 删除链表的倒数第N个节点(三种方法实现)

    删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒 ...

  5. 【数位dp】bzoj1833: [ZJOI2010]count 数字计数

    数位dp姿势一直很差啊:顺便庆祝一下1A Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a ...

  6. Centos7下安装iptables防火墙

    说明:centos7默认使用的firewalld防火墙,由于习惯使用iptables做防火墙,所以在安装好centos7系统后,会将默认的firewall关闭,并另安装iptables进行防火墙规则设 ...

  7. 浏览器中如何获取想要的offsetwidth、、、clientwidth、、offsetheight、、、clientheight。。。

    clientWidth是对象看到的宽度(不含边线,即border)scrollWidth是对象实际内容的宽度(若无padding,那就是边框之间距离,如有padding,就是左padding和右pad ...

  8. mat 和IPIImage之间的转换

    opencv2.3.1 Mat::operator IplImageCreates the IplImage header for the matrix.C++: Mat::operator IplI ...

  9. STM32L0开发——ADC多通道采集,IDE和IAR开发注意事项

    keil开发L0系列是免费的,官方提供许可的.因此建议Keil开发,L011F3由于flash只有8K,因此不建议HAL库,建议使用cubemx+LL(或snippets库).0.起初,可以参考官方库 ...

  10. PAT Basic 1052

    1052 卖个萌 萌萌哒表情符号通常由“手”.“眼”.“口”三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请 ...