Librerie per l'interfacciamento con GPIO


30

Quali librerie sono disponibili per l'interfacciamento con GPIO?


non un elenco completo, ma qui ce ne sono alcuni - anche se penso che questa domanda sarà chiusa, poiché le domande di tipo elenco tendono a non funzionare bene sui siti dello stack, poiché ci sarà un flusso infinito di risposte
user2813274

Risposte:


14

Ho intenzione di interpretare ciò che penso che potresti chiedere in modo più ampio come "Come posso controllare GPIO da userland?"

Un modo molto carino per iniziare a usare GPIO è usare il /sysfilesystem. Puoi fare tutto dalla riga di comando.

Per esempio,

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

Più documentazione è disponibile in linux / Documentation / gpio.txt .


1
Funziona con tutti i sistemi operativi?
Alex L

Questo è specifico per Linux.
blueshift,

1
Ci sono tutorial che usano questo metodo? Ho visto solo librerie (principalmente quella di Python).
Shane Hudson,

2
Questa non è necessariamente una libreria come da richiesta dell'OP.
Andrew Larsson,

1
Le altre risposte a questa domanda sono molto migliori: questa risposta non risponde alla domanda sulle biblioteche.
recantha,

12

Ce n'è uno che ho trovato qui . Non ho avuto la possibilità di provarlo, poiché il mio Pi non è arrivato. Tuttavia, sembra rassicurante. C'è anche un thread del forum qui che professa promettenti guadagni. Se vuoi un esempio C fino alle basi usando librerie standard, ce n'è uno qui da eLinux.


Qual è stata la tua esperienza di questa biblioteca, allora?
Peter Mortensen,


1

quick2wire può essere utilizzato da utenti regolari (non root):

API Python Quick2Wire

Una libreria Python per il controllo dell'hardware collegato ai pin di intestazione del Raspberry Pi, senza essere eseguito come utente root .


Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.
Mark Booth,

@MarkBooth: "la parte essenziale della risposta" è " può essere utilizzata dagli utenti regolari " a differenza di altre risposte.
Dugres,

1

Uso Wiring PI e funziona davvero alla grande. Lo uso con il linguaggio C e finora non ho avuto problemi. È facile da capire e semplice da gestire.


0

Pi4J ti consente di controllare i pin GPIO usando Java. Non sono sicuro di come funzioni ma c'è una spiegazione su http://pi4j.com/


0

È davvero semplice controllare le porte GPIO in qualsiasi lingua come mostrato su http://elinux.org , quindi credo che in realtà non sia necessario un framework per il controllo diretto.

Devi sapere quali funzionalità aggiuntive ti aspetti da un framework, come

  • Controllo remoto tramite browser
  • Una bella interfaccia utente del browser o forse un programma autonomo
  • Controllo automatico basato sul tempo ( cron job)

Ho finito per scrivere un framework per me stesso: controllare le porte GPIO su HTTP e con cron lavori che si adattano perfettamente alle mie esigenze. Volevo avere qualcosa per l'automazione domestica. Quindi avevo bisogno di cron job e di un'interfaccia web JSON per eseguire un'app nativa sul mio iPhone. Pertanto non ho scritto un'interfaccia utente del browser. Credo che sarebbe utile anche per un sistema di allarme.

Non ho ancora trovato un elenco (completo) di framework. Ce ne sono alcuni menzionati sul forum di raspberrypi.org.


0

Johny-Five è abbastanza facile da usare per chi ha familiarità con Node.js o JavaScript. Vedi 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();
});

Utile specialmente per i progetti Pi che controllano GPIO attraverso un server Web

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.