1.RPi.GPIO//RPi.GPIO-0.5.5.tar.gz
开发者:python官网:https://www.python.org/
官网:https://pypi.python.org/pypi/RPi.GPIO
RPi.GPIO安装
a.安装python-dev
- sudo aptitude install python-dev
b.安装RPi.GPIO
- # 下载
- $ wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.5.tar.gz
- # 解压缩
- $ tar xvzf RPi.GPIO-0.5.3a.tar.gz
- # 进入解压之后的目录
- $ cd RPi.GPIO-0.5.3a
- # 启动安装
- $ sudo python setup.py install
python官网简介:Python Docs PyPI
python 文档 Python Package Index=python软件包目录
点开PyPI,然后再搜索框内搜索RPi.GPIO-0.5.5.tar.gz
2.BCM2835 c library
官网:http://www.airspayce.com/mikem/bcm2835/ //看看最新i2c实例
安装:
- # 下载
- $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.36.tar.gz
- # 解压缩
- $ tar xvzf bcm2835-1.35.tar.gz
- # 进入解压之后的目录
- $ cd bcm2835-1.35
- # 配置
- ./configure
- # 从源代码生成安装包
- make
- # 执行检查
- sudo make check
- # 安装 bcm2835库
- sudo make install
3.WiringPi
官网:http://wiringpi.com/
开发者:
安装:见另一篇博文
以下原文:http://blog.csdn.net/xukai871105/article/details/12684617
0.前言
树莓派现在越来越火,网上树莓派的资料也越来越多。
更多树莓派学习笔记请参考——【 树莓派学习笔记——索引博文】
树莓派来自国外,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个。
更多树莓派学习笔记请参考——【 树莓派学习笔记——索引博文】
树莓派来自国外,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个。
【 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和UART等,使用简单方便同样容易上手。
1.硬件准备
从淘宝上淘了一下,发现深圳有家店做的很不错,虽然东西有点贵但是品质上乘。光有树莓派其实用途有限,还需要合适的扩展板,下面是扩展板的图片:
![](http://img.e-com-net.com/image/info8/f31f29e7e110438a8b6028c0dc56a806.jpg)
![](http://img.e-com-net.com/image/info8/9c35ba1c0d9f43bf9cc3e33672ae924f.jpg)
2.程序实现
2.1 Python
RPi.GPIO安装
a.安装python-dev
- sudo aptitude install python-dev
b.安装RPi.GPIO
- # 下载
- $ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz
- # 解压缩
- $ tar xvzf RPi.GPIO-0.5.3a.tar.gz
- # 进入解压之后的目录
- $ cd RPi.GPIO-0.5.3a
- # 启动安装
- $ sudo python setup.py install
新建名为led.py的程序,程序的具体内容如下:
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import RPi.GPIO as GPIO
- import time
- GPIO.setmode(GPIO.BOARD)
- # need to set up every channel which are using as an input or an output
- GPIO.setup(11, GPIO.OUT)
- while True:
- GPIO.output(11, GPIO.HIGH)
- time.sleep(1)
- GPIO.output(11, GPIO.LOW)
- time.sleep(1)
使用cd命令进入文件所在目录,然后输入指令
sudo python led.py
使用这种方法实现LED闪烁的最容易的方法,网上的教程也非常多,是入门树莓派的好方法。
2.2 wiringPi
新建一个名为blink.c的程序,程序内容如下:【 更多wiringPi介绍和安装指南】【 blink代码的详细分析】
- #include
- main ()
- {
- wiringPiSetup () ;
- pinMode (0, OUTPUT) ;
- for (;;)
- {
- digitalWrite (0, HIGH) ; delay (500) ;
- digitalWrite (0, LOW) ; delay (500) ;
- }
- }
使用cd命令进入所在文件目录,然后输入以下命令生成可执行文件blink
gcc -Wall -o blink blink.c -lwiringPi
最后输入以下命令执行程序
sudo ./blink
之后程序便会运行,使用ctrl+c可以结束程序。这里会有一点小问题,由于程序停止的时间未知,所有LED可能为点亮状态也可能会熄灭状态。和python的程序相比,GPIO的端口编号似乎发生了变化,但是实际为同一个IO,只是IO的编辑顺序略有不同。
2.3 BCM2835 C Library
BCM2835 C Library 安装
- # 下载
- $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.35.tar.gz
- # 解压缩
- $ tar xvzf bcm2835-1.35.tar.gz
- # 进入解压之后的目录
- $ cd bcm2835-1.35
- # 配置
- ./configure
- # 从源代码生成安装包
- make
- # 执行检查
- sudo make check
- # 安装 bcm2835库
- sudo make install
新建一个名为blink.c的程序,程序的具体内容如下
- #include
- // Blinks on RPi Plug P1 pin 11 (which is GPIO pin 17)
- #define PIN RPI_GPIO_P1_11
- int main(int argc, char **argv)
- {
- if (!bcm2835_init())
- return 1;
- // Set the pin to be an output
- bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);
- // Blink
- while (1)
- {
- bcm2835_gpio_write(PIN, HIGH);
- bcm2835_delay(100);
- bcm2835_gpio_write(PIN, LOW);
- bcm2835_delay(100);
- }
- bcm2835_close();
- return 0;
- }
使用cd指令进入文件所在目录,然后输入以下命令生成可执行文件
gcc -o blink blink.c -lbcm2835
最后执行该程序,输入以下指令
sudo ./blink
之后程序便会运行,运行的效果和前面两个效果相似,只是LED闪烁的时间略有不同。如果深入以上各种函数库,本质上依然是操作bcm2835的相关寄存器。
3.未来想法
实践GPIO输入功能,实践SPI功能,实践I2C功能等。最后综合以上若干内容和以太网功能做一个好玩的应用。
4.树莓派博文链接
1.【 PCF8574 应用BCM2835 library】