zoukankan      html  css  js  c++  java
  • 关于RPi.GPIO、BCM2835 c library、WiringPi、Gertboard

    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
    1. sudo aptitude install python-dev  
        b.安装RPi.GPIO
    1. # 下载  
    2. $ wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.5.tar.gz  
    3. # 解压缩  
    4. $ tar xvzf RPi.GPIO-0.5.3a.tar.gz  
    5. # 进入解压之后的目录  
    6. $ cd RPi.GPIO-0.5.3a  
    7. # 启动安装  
    8. $ 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实例

    安装:

    1. # 下载  
    2. $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.36.tar.gz   
    3. # 解压缩  
    4. $ tar xvzf bcm2835-1.35.tar.gz   
    5. # 进入解压之后的目录  
    6. $ cd bcm2835-1.35  
    7. # 配置  
    8. ./configure  
    9. # 从源代码生成安装包  
    10. make  
    11. # 执行检查  
    12. sudo make check  
    13. # 安装 bcm2835库  
    14. 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.硬件准备

        从淘宝上淘了一下,发现深圳有家店做的很不错,虽然东西有点贵但是品质上乘。光有树莓派其实用途有限,还需要合适的扩展板,下面是扩展板的图片:

    2.程序实现

    2.1 Python

        RPi.GPIO安装
        a.安装python-dev
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. sudo aptitude install python-dev  
        b.安装RPi.GPIO
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. # 下载  
    2. $ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz  
    3. # 解压缩  
    4. $ tar xvzf RPi.GPIO-0.5.3a.tar.gz  
    5. # 进入解压之后的目录  
    6. $ cd RPi.GPIO-0.5.3a  
    7. # 启动安装  
    8. $ sudo python setup.py install  
        新建名为led.py的程序,程序的具体内容如下:
    [python] view plaincopy在CODE上查看代码片派生到我的代码片
    1. #!/usr/bin/env python  
    2. # -*- coding: utf-8 -*-  
    3.   
    4. import RPi.GPIO as GPIO  
    5. import time  
    6.   
    7. GPIO.setmode(GPIO.BOARD)  
    8. # need to set up every channel which are using as an input or an output  
    9. GPIO.setup(11, GPIO.OUT)  
    10.   
    11. while True:  
    12.     GPIO.output(11, GPIO.HIGH)  
    13.     time.sleep(1)  
    14.     GPIO.output(11, GPIO.LOW)  
    15.     time.sleep(1)  
        使用cd命令进入文件所在目录,然后输入指令
       sudo python led.py
        使用这种方法实现LED闪烁的最容易的方法,网上的教程也非常多,是入门树莓派的好方法。

    2.2 wiringPi

        新建一个名为blink.c的程序,程序内容如下:【更多wiringPi介绍和安装指南】【blink代码的详细分析
    1. #include <wiringPi.h>  
    2. main ()  
    3. {  
    4.   wiringPiSetup () ;  
    5.   pinMode (0, OUTPUT) ;  
    6.   for (;;)  
    7.   {  
    8.     digitalWrite (0, HIGH) ; delay (500) ;  
    9.     digitalWrite (0,  LOW) ; delay (500) ;  
    10.   }  
    11. }  
        使用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 安装

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. # 下载  
    2. $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.35.tar.gz   
    3. # 解压缩  
    4. $ tar xvzf bcm2835-1.35.tar.gz   
    5. # 进入解压之后的目录  
    6. $ cd bcm2835-1.35  
    7. # 配置  
    8. ./configure  
    9. # 从源代码生成安装包  
    10. make  
    11. # 执行检查  
    12. sudo make check  
    13. # 安装 bcm2835库  
    14. sudo make install  
        新建一个名为blink.c的程序,程序的具体内容如下
    1. #include <bcm2835.h>  
    2.   
    3. // Blinks on RPi Plug P1 pin 11 (which is GPIO pin 17)  
    4. #define PIN RPI_GPIO_P1_11  
    5.   
    6. int main(int argc, char **argv)  
    7. {  
    8.   if (!bcm2835_init())  
    9.   return 1;  
    10.   
    11.   // Set the pin to be an output  
    12.   bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);  
    13.   
    14.   // Blink  
    15.   while (1)  
    16.   {  
    17.     bcm2835_gpio_write(PIN, HIGH);  
    18.     bcm2835_delay(100);  
    19.       
    20.     bcm2835_gpio_write(PIN, LOW);  
    21.     bcm2835_delay(100);  
    22.   }  
    23.   bcm2835_close();  
    24.   return 0;  
    25. }  
        使用cd指令进入文件所在目录,然后输入以下命令生成可执行文件
        gcc -o blink blink.c -lbcm2835
        最后执行该程序,输入以下指令
        sudo ./blink
        之后程序便会运行,运行的效果和前面两个效果相似,只是LED闪烁的时间略有不同。如果深入以上各种函数库,本质上依然是操作bcm2835的相关寄存器。

    3.未来想法

        实践GPIO输入功能,实践SPI功能,实践I2C功能等。最后综合以上若干内容和以太网功能做一个好玩的应用。

    4.树莓派博文链接

  • 相关阅读:
    【HDOJ】2267 How Many People Can Survive
    【HDOJ】2268 How To Use The Car
    【HDOJ】2266 How Many Equations Can You Find
    【POJ】2278 DNA Sequence
    【ZOJ】3430 Detect the Virus
    【HDOJ】2896 病毒侵袭
    求奇数的乘积
    平方和与立方和
    求数列的和
    水仙花数
  • 原文地址:https://www.cnblogs.com/cj2014/p/3848887.html
Copyright © 2011-2022 走看看