GPIO와 인터페이스하기위한 라이브러리


30

GPIO와 인터페이스 할 수있는 라이브러리는 무엇입니까?


완전한 목록은 아니지만 여기 에 몇 가지가 있습니다. 목록 유형 질문은 끝이없는 답변 스트림이 있기 때문에 목록 유형 질문이 스택 사이트에서 제대로 작동하지 않는 경향이 있기 때문에이 질문은 끝날 것이라고 생각합니다.
user2813274

답변:


14

"사용자 영역에서 GPIO를 어떻게 제어 할 수 있습니까?"

GPIO를 시작하는 가장 좋은 방법은 /sysfilesytem을 사용하는 것 입니다. 명령 행에서 모두 수행 할 수 있습니다.

예를 들어

cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction

더 많은 문서는 linux / Documentation / gpio.txt에 있습니다.


1
이것은 모든 OS에서 작동합니까?
Alex L

이것은 리눅스마다 다릅니다.
blueshift

1
이 방법을 사용하는 자습서가 있습니까? 라이브러리 (주로 파이썬) 만 보았습니다.
셰인 허드슨

2
OP의 요청에 따라 반드시 라이브러리 일 필요는 없습니다.
Andrew Larsson

1
이 질문에 대한 다른 답변이 훨씬 낫습니다.이 답변은 라이브러리에 관한 질문에는 대답하지 않습니다.
recantha

12

내가 찾은 것이 하나 있습니다 . Pi가 도착하지 않아 테스트 할 기회가 없었습니다. 그러나 그것은 확실해 보입니다. 유망한 성과를 공언 하는 포럼 스레드도 있습니다 . 표준 라이브러리를 사용하는 기본 C 예제를 원한다면 여기에 eLinux의 예제가 있습니다.


그렇다면이 도서관의 경험은 무엇입니까?
피터 Mortensen


1

quick2wire 는 루트가 아닌 일반 사용자가 사용할 수 있습니다.

Quick2Wire Python API

루트 사용자로 실행하지 않고 Raspberry Pi의 헤더 핀에 연결된 하드웨어를 제어하기위한 Python 라이브러리 .


이 링크가 질문에 대한 답변을 제공 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다.
Mark Booth

@MarkBooth : "답변의 필수 부분"은 " 다른 대답과 달리 일반 사용자가 사용할 수 있습니다 "입니다 .
dugres

1

Wiring PI를 사용하는데 정말 효과적입니다. 나는 언어 C와 함께 사용하고 지금까지 아무런 문제가 없었습니다. 이해하기 쉽고 다루기가 쉽습니다.


0

Pi4J를 사용하면 Java를 사용하여 GPIO 핀을 제어 할 수 있습니다. 어떻게 작동하는지 잘 모르겠지만 http://pi4j.com/에 설명이 있습니다 .


0

http://elinux.org에 표시된 것처럼 모든 언어로 GPIO 포트를 제어하는 ​​것은 실제로 간단 하므로 직접 제어를위한 프레임 워크가 필요하지 않다고 생각합니다.

프레임 워크에 필요한 추가 기능을 알아야합니다.

  • 브라우저를 통한 원격 제어
  • 예쁜 브라우저 UI 또는 독립형 프로그램
  • 자동 시간 기반 제어 ( 크론 작업)

나는 스스로 프레임 워크를 작성했다 : HTTP를 통해 GPIO 포트를 제어하고 내 요구에 완벽하게 맞는 cron 작업 을 사용하십시오. 나는 가정 자동화를 위해 무언가를 갖고 싶었다. 그래서 iPhone에서 기본 앱을 실행하려면 cron 작업과 JSON 웹 인터페이스가 필요했습니다. 따라서 브라우저 UI를 작성하지 않았습니다. 알람 시스템에도 좋을 것이라고 생각합니다.

아직 (완전한) 프레임 워크 목록을 찾지 못했습니다. raspberrypi.org의 포럼에서 언급 된 내용이 있습니다.


0

Johny-FiveNode.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 프로젝트에 특히 유용

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.