Biblioteki do współpracy z GPIO

30

Jakie biblioteki są dostępne do współpracy z GPIO?

ramblinjan
źródło
lista nie jest pełna, ale oto kilka - chociaż myślę, że to pytanie zostanie zamknięte, ponieważ pytania typu listy zwykle nie działają dobrze na stronach stosu, ponieważ będzie niekończący się strumień odpowiedzi
2813274

Odpowiedzi:

14

Mam zamiar zinterpretować to, o czym myślę, że pytasz szerzej: „Jak mogę kontrolować GPIO z przestrzeni użytkownika?”

Bardzo dobrym sposobem na rozpoczęcie korzystania z GPIO jest użycie systemu /sysplików. Możesz to wszystko zrobić z wiersza poleceń.

Na przykład,

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

Więcej dokumentacji znajduje się w linux / Documentation / gpio.txt .

przesunięcie bluesa
źródło
1
Czy to działa z każdym systemem operacyjnym?
Alex L
Jest to specyficzne dla systemu Linux.
blueshift
1
Czy są jakieś samouczki, które wykorzystują tę metodę? Widziałem tylko biblioteki (głównie pythonową).
Shane Hudson,
2
Niekoniecznie jest to biblioteka na żądanie PO.
Andrew Larsson,
1
Inne odpowiedzi na to pytanie są znacznie lepsze - ta odpowiedź nie odpowiada na pytanie o biblioteki.
recantha
12

Jest taki, który tu znalazłem . Nie miałem okazji go przetestować, ponieważ moje Pi nie dotarło. Wygląda to jednak pewnie. Jest nawet wątek na forum , który głosi obiecującą wypłatę. Jeśli chcesz najprostszego przykładu C przy użyciu standardowych bibliotek, jest tutaj jeden z eLinux.

Andrew Larsson
źródło
Jakie były zatem twoje doświadczenia dotyczące tej biblioteki?
Peter Mortensen
1

quick2wire może być używany przez zwykłych użytkowników (nie root):

Interfejs API Python Quick2Wire

Biblioteka Python do sterowania sprzętem podłączonym do pinów nagłówka Raspberry Pi, bez uruchamiania jako użytkownik root .

dugres
źródło
Chociaż ten link może odpowiedzieć na pytanie, lepiej jest dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
Mark Booth,
@MarkBooth: „zasadniczą częścią odpowiedzi” jest „ może być używany przez zwykłych użytkowników ” w przeciwieństwie do innych odpowiedzi.
dugres
1

Używam Wiring PI i działa naprawdę świetnie. Używam go w języku C i do tej pory nie miałem problemów. Jest łatwy do zrozumienia i prosty w obsłudze.

Franzi
źródło
0

Pi4J pozwala kontrolować piny GPIO za pomocą Java. Nie jestem pewien, jak to działa, ale wyjaśnienie znajduje się na stronie http://pi4j.com/

Mateusz
źródło
0

Sterowanie portami GPIO w dowolnym języku jest bardzo proste, jak pokazano na http://elinux.org , więc uważam, że tak naprawdę nie potrzebujesz ram do bezpośredniego sterowania.

Musisz wiedzieć, jakich dodatkowych funkcji oczekuje się od frameworka, takich jak

  • Zdalne sterowanie za pomocą przeglądarki
  • Ładny interfejs użytkownika przeglądarki lub może samodzielny program
  • Automatyczne sterowanie oparte na czasie ( zadania CRON )

Skończyłem pisać dla siebie strukturę: Kontroluj porty GPIO przez HTTP i zadania cron, które idealnie pasują do moich potrzeb. Chciałem mieć coś do automatyki domowej. Potrzebowałem więc zadań crona i interfejsu internetowego JSON, aby uruchomić natywną aplikację na moim iPhonie. Dlatego nie napisałem interfejsu użytkownika przeglądarki. Uważam, że byłoby to również dobre dla systemu alarmowego.

Nie znalazłem (kompletnej) listy ram. Niektóre są wymienione na forum raspberrypi.org.

facet
źródło
0

Johny-Five jest dość łatwy w użyciu dla osób znających Node.js lub JavaScript. Zobacz 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();
});

Szczególnie przydatny w projektach Pi kontrolujących GPIO za pośrednictwem serwera WWW

Yves M.
źródło