顯示具有 Raspberry Pi 標籤的文章。 顯示所有文章
顯示具有 Raspberry Pi 標籤的文章。 顯示所有文章

2015年2月26日 星期四

[How To Raspberry Pi] Use Raspberry Pi Read BMP180


Purpose
利用Raspberry Pi I2C(Inter-Integrated Circuit)
讀取BMP180(Temp、Pressure、Altitude、Sealevel Pressure)

Material:
Raspberry Pi主板 x 1
BMP180模組 x 1

Pin

Method:
如果是第一次執行I2C時, 需要先設定如下:
Configuring I2C
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

更新
 sudo apt-get update

安裝套件
> sudo apt-get install git build-essential python-dev python-smbus

下載Adafruit_Python_BMP專案
>git clone https://github.com/adafruit/Adafruit_Python_BMP.git

進入專案
> cd Adafruit_Python_BMP

安裝
> sudo python setup.py install

進入範例程式
> cd examples

執行程式 > sudo python simpletest.py


Reference:
https://learn.adafruit.com/using-the-bmp085-with-raspberry-pi/using-the-adafruit-bmp-python-library

2015年2月21日 星期六

[How To Raspberry Pi] 使用Java語言控制GPIO


Pi4J 主要提供Java程式透過C語言來存取GPIO


  • 下載Pi4J

> sudo wget http://get.pi4j.com/download/pi4j-0.0.5.deb


  • 安裝Pi4J

> sudo sudo dpkg -i pi4j-0.0.5.deb


  • 套件路徑為

> cd ../opt/pi4j/lib

GPIO_P1_12腳位接VCC
GPIO_P1_6腳位接GND


  • 切換目錄

cd /opt/pi4j/examples


  • 編譯

> javac -classpath .:classes:/opt/pi4j/lib/'*' -d . ControlGpioExample.java


  • 執行

> sudo java -classpath .:classes:/opt/pi4j/lib/'*' ControlGpioExample


Demo:







Reference:
http://www.codedata.com.tw/java/java-embedded-7-raspberry-pi-gpio-implementation-1
http://pi4j.com/example/control.html

[How To Raspberry Pi] 使用C語言控制GPIO


BCM2835為Raspberry Pi ARM架構處理器名稱

安裝BCM2835套件
sudo wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.25.tar.gz

解壓縮BCM2835套件
>  sudo tar zxvf bcm2835-1.25.tar.gz

進入BCM2835資料夾
>  cd bcm2835-1.25

設定連結
>  ./configure

編譯資料夾
>  make

編譯前檢查(非必要)
>  sudo make check

編譯並進行安裝
>  sudo make install

切換至blink資料夾
> cd ..//bcm2835-1.25/examples/blink

GPIO_P1_22腳位接VCC
GPIO_P1_6腳位接GND
LED閃爍10次, 1秒一次

#include <bcm2835.h>

// Blinks on RPi Plug P1 pin 11 (which is GPIO pin 17)
#define PIN RPI_GPIO_P1_22

int main(int argc, char **argv)
{
    // If you call this, it will not actually access the GPIO
    // Use for testing
//    bcm2835_set_debug(1);

    if (!bcm2835_init())
        return 1;

    // Set the pin to be an output
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);

    // Count
    int Count;

    // Blink
    for(Count=1; Count<=10; Count++)
    {
        // Turn it on
        bcm2835_gpio_write(PIN, HIGH);

        // wait a bit
        bcm2835_delay(1000);

        // turn it off
        bcm2835_gpio_write(PIN, LOW);

        // wait a bit
        bcm2835_delay(1000);
    }
    bcm2835_close();
    return 0;

}


編譯C程式
> gcc -o blink -l rt blink.c -l bcm2835

執行
> sudo ./blink


Demo:


Reference:
http://jimmyeestudio.blogspot.tw/2013/04/raspberry-picgpio-blink.html


[How To Raspberry Pi] 安裝 GCC

樹莓派環境中, 編譯C/C++需安裝GCC

安裝g++編譯器
> sudo apt-get install g++

相容性套件
> sudo apt-get install build-essential

撰寫C
> sudo nano Hello.c

#include <stdio.h>
void main(void) {  
  printf("Hello First world!\n");  
  return;
}


編譯C
> gcc hello.c -o hello

修改hello檔權限
> chmod +x hello

執行C
./hello