티스토리 뷰
728x90
출처 : rpi_HC-SR501/src/main/java/org/jboss/summit2015/hcsr501/MotionSensor.java
pi4j 다운로드
$ mkdir pi4j $ cd pi4j $ wget http://get.pi4j.com/download/pi4j-1.0.zip --2016-07-09 16:59:31-- http://get.pi4j.com/download/pi4j-1.0.zip Resolving get.pi4j.com (get.pi4j.com)... 54.231.114.185 Connecting to get.pi4j.com (get.pi4j.com)|54.231.114.185|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3807428 (3.6M) [application/zip] Saving to: ‘pi4j-1.0.zip.1’ pi4j-1.0.zip.1 100%[=====================>] 3.63M 544KB/s in 6.4s 2016-07-09 16:59:38 (581 KB/s) - ‘pi4j-1.0.zip.1’ saved [3807428/3807428] $ unzip pi4j-1.0.zip
핀 배치
MotionSensor.java
import com.pi4j.io.gpio.*; import com.pi4j.io.gpio.trigger.GpioCallbackTrigger; import java.util.concurrent.Callable; /** * Use the pi4j classes to watch a gpio trigger. This uses the pin number scheme as outlined in: * http://pi4j.com/pins/model-2b-rev1.html */ public class MotionSensor { public static void main(String[] args) throws InterruptedException { System.out.printf("PIR Module Test (CTRL+C to exit)\n"); // create gpio controller final GpioController gpio = GpioFactory.getInstance(); // provision gpio pin #29, (header pin 40) as an input pin with its internal pull down resistor enabled final GpioPinDigitalInput pir = gpio.provisionDigitalInputPin(RaspiPin.GPIO_29); System.out.printf("Ready\n"); // create a gpio callback trigger on the gpio pin Callable<Void> callback = () -> { System.out.println(" --> GPIO TRIGGER CALLBACK RECEIVED "); return null; }; // create a gpio callback trigger on the PIR device pin for when it's state goes high pir.addTrigger(new GpioCallbackTrigger(PinState.HIGH, callback)); // stop all GPIO activity/threads by shutting down the GPIO controller Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { System.out.println("Interrupted, stopping...\n"); gpio.shutdown(); } }); // keep program running until user aborts (CTRL-C) for (;;) { Thread.sleep(100); } } }
컴파일
$ javac -cp pi4j-1.0/lib/pi4j-core.jar MotionSensor.java
실행
$ sudo java -cp .:pi4j-1.0/lib/pi4j-core.jar MotionSensor PIR Module Test (CTRL+C to exit) Ready --> GPIO TRIGGER CALLBACK RECEIVED --> GPIO TRIGGER CALLBACK RECEIVED ^CInterrupted, stopping...
GPIO 핀 배열
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Xcode
- 지스타2007
- android
- 동경
- NDK
- BPI-M4
- Mac
- KOBA
- ubuntu
- JavaScript
- Spring MVC
- ffmpeg
- sas2009
- ble
- SAS
- 송주경
- koba2010
- 서울오토살롱
- oracle
- 튜닝쇼 2008
- Java
- 일본여행
- MySQL
- Delphi Tip
- 전예희
- 레이싱모델 익스트림 포토 페스티벌
- Spring
- flex
- Delphi
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함