답변:
"사용자 영역에서 GPIO를 어떻게 제어 할 수 있습니까?"
GPIO를 시작하는 가장 좋은 방법은 /sys
filesytem을 사용하는 것 입니다. 명령 행에서 모두 수행 할 수 있습니다.
예를 들어
cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction
더 많은 문서는 linux / Documentation / gpio.txt에 있습니다.
RPi.GPIO 는 GPIO 제어를위한 Python 패키지입니다.
이 튜토리얼 비디오 는 패키지의 기본 사용법을 보여줍니다.
quick2wire 는 루트가 아닌 일반 사용자가 사용할 수 있습니다.
Quick2Wire Python API
루트 사용자로 실행하지 않고 Raspberry Pi의 헤더 핀에 연결된 하드웨어를 제어하기위한 Python 라이브러리 .
Wiring PI를 사용하는데 정말 효과적입니다. 나는 언어 C와 함께 사용하고 지금까지 아무런 문제가 없었습니다. 이해하기 쉽고 다루기가 쉽습니다.
Pi4J를 사용하면 Java를 사용하여 GPIO 핀을 제어 할 수 있습니다. 어떻게 작동하는지 잘 모르겠지만 http://pi4j.com/에 설명이 있습니다 .
http://elinux.org에 표시된 것처럼 모든 언어로 GPIO 포트를 제어하는 것은 실제로 간단 하므로 직접 제어를위한 프레임 워크가 필요하지 않다고 생각합니다.
프레임 워크에 필요한 추가 기능을 알아야합니다.
나는 스스로 프레임 워크를 작성했다 : HTTP를 통해 GPIO 포트를 제어하고 내 요구에 완벽하게 맞는 cron 작업 을 사용하십시오. 나는 가정 자동화를 위해 무언가를 갖고 싶었다. 그래서 iPhone에서 기본 앱을 실행하려면 cron 작업과 JSON 웹 인터페이스가 필요했습니다. 따라서 브라우저 UI를 작성하지 않았습니다. 알람 시스템에도 좋을 것이라고 생각합니다.
아직 (완전한) 프레임 워크 목록을 찾지 못했습니다. raspberrypi.org의 포럼에서 언급 된 내용이 있습니다.
Johny-Five 는 Node.js 또는 JavaScript에 익숙한 사람들이 사용하기 매우 쉽습니다 . http://johnny-five.io/examples/raspi-io/를 참조하십시오
npm install johnny-five raspi-io
var five = require("johnny-five");
var Raspi = require("raspi-io").RaspiIO;
var board = new five.Board({
io: new Raspi()
});
board.on("ready", function() {
var led = new five.Led("P1-13");
led.blink();
});
웹 서버를 통해 GPIO를 제어하는 Pi 프로젝트에 특히 유용