Bibliotheken zur Anbindung an das GPIO


30

Welche Bibliotheken stehen für die Anbindung an das GPIO zur Verfügung?


Keine vollständige Liste, aber hier sind ein paar - obwohl ich denke, dass diese Frage geschlossen sein wird, da Fragen vom Typ Liste auf den Stack-Sites in der Regel nicht gut funktionieren, da es einen
endlosen

Antworten:


14

Ich werde interpretieren, was ich denke, dass Sie allgemeiner fragen, als "Wie kann ich GPIO vom Benutzerland aus steuern?".

Ein sehr /sysguter Einstieg in die Verwendung von GPIO ist die Verwendung des Dateisystems. Sie können alles über die Befehlszeile ausführen.

Beispielsweise,

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

Weitere Dokumentation finden Sie unter linux / Documentation / gpio.txt .


1
Funktioniert das mit jedem Betriebssystem?
Alex L

Dies ist linuxspezifisch.
Blueshift

1
Gibt es Tutorials, die diese Methode verwenden? Ich habe nur Bibliotheken gesehen (hauptsächlich die Python-Bibliothek).
Shane Hudson

2
Dies ist nicht unbedingt eine Bibliothek gemäß der Anforderung des OP.
Andrew Larsson

1
Die anderen Antworten auf diese Frage sind viel besser - diese Antwort beantwortet nicht die Frage nach Bibliotheken.
Wiederholung

12

Es gibt einen, den ich hier gefunden habe . Ich hatte keine Gelegenheit, es zu testen, da mein Pi noch nicht angekommen ist. Es sieht jedoch beruhigend aus. Es gibt sogar einen Forenthread hier , dass bekennt Auszahlung vielversprechend. Wenn Sie ein grundlegendes C-Beispiel mit Standardbibliotheken wünschen , finden Sie hier eines von eLinux.


Was war Ihre Erfahrung mit dieser Bibliothek?
Peter Mortensen


1

quick2wire kann von normalen Benutzern (nicht root) verwendet werden:

Quick2Wire Python API

Eine Python-Bibliothek zur Steuerung der an die Header-Pins des Raspberry Pi angeschlossenen Hardware, ohne als Root-Benutzer ausgeführt zu werden .


Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier einzuschließen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verlinkte Seite ändert.
Mark Booth

@ MarkBooth: "Der wesentliche Teil der Antwort" ist " kann von regulären Benutzern verwendet werden " im Gegensatz zu anderen Antworten.
Dugres

1

Ich benutze Wiring PI und es funktioniert wirklich toll. Ich benutze es mit Sprache C und hatte bisher keine Probleme. Es ist leicht zu verstehen und einfach zu handhaben.


0

Mit Pi4J können Sie die GPIO-Pins mit Java steuern. Ich bin nicht sicher, wie es funktioniert, aber es gibt eine Erklärung unter http://pi4j.com/


0

Es ist wirklich einfach, die GPIO-Ports in einer beliebigen Sprache zu steuern, wie auf http://elinux.org gezeigt Ich glaube also, dass Sie kein Framework für die direkte Steuerung benötigen.

Sie müssen wissen, welche zusätzlichen Funktionen Sie von einem Framework erwarten, z

  • Fernbedienung über einen Browser
  • Eine hübsche Browser-Benutzeroberfläche oder ein eigenständiges Programm
  • Automatische zeitbasierte Steuerung ( Cronjobs )

Am Ende habe ich ein Framework für mich geschrieben: GPIO-Ports über HTTP und mit Cron-Jobs steuern die genau meinen Anforderungen entsprechen. Ich wollte etwas für die Heimautomation haben. Ich brauchte also Cron-Jobs und eine JSON-Weboberfläche, um eine native App auf meinem iPhone auszuführen. Daher habe ich kein Browser-UI geschrieben. Ich glaube, es wäre auch gut für ein Alarmsystem.

Ich habe noch keine (vollständige) Liste von Frameworks gefunden. Es sind einige im Forum von raspberrypi.org erwähnt.


0

Johny-Five ist für Benutzer, die mit Node.js oder JavaScript vertraut sind, recht einfach zu verwenden . Siehe 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();
});

Besonders nützlich für Pi-Projekte, die GPIO über einen Webserver steuern

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.