關於RPi.GPIO、BCM2835 c library、WiringPi、Gertboard

1.RPi.GPIO//RPi.GPIO-0.5.5.tar.gzpython

開發者:python官網:https://www.python.org/git

官網:https://pypi.python.org/pypi/RPi.GPIOweb

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           PyPIapp

                          python      文檔            Python Package Index=python軟件包目錄函數

                          點開PyPI,而後再搜索框內搜索RPi.GPIO-0.5.5.tar.gzoop

2.BCM2835 c library學習

官網:http://www.airspayce.com/mikem/bcm2835/    //看看最新i2c實例ui

安裝:google

  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 plain copy 在CODE上查看代碼片 派生到個人代碼片
  1. sudo aptitude install python-dev  
    b.安裝RPi.GPIO
[plain]  view plain copy 在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 plain copy 在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代碼的詳細分析
[cpp]  view plain copy 在CODE上查看代碼片 派生到個人代碼片
  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 plain copy 在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的程序,程序的具體內容以下
[cpp]  view plain copy 在CODE上查看代碼片 派生到個人代碼片
  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.樹莓派博文連接

相關文章
相關標籤/搜索