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.树莓派博文链接

  • 相关阅读:
    Linux命令大全之关机重启命令
    Linux命令大全之帮助命令及压缩命令
    Linux命令大全之搜索命令
    Linux命令大全之基本命令
    Linux安装界面简介
    Linux 的ftp服务未启用怎么办
    创建分区表
    Linux分区,格式化概念理解
    VMware简介
    Linux简介
  • 原文地址:https://www.cnblogs.com/cj2014/p/3848887.html
Copyright © 2011-2022 走看看