Bibliotecas para interactuar con el GPIO


30

¿Qué bibliotecas están disponibles para interactuar con el GPIO?


no es una lista completa, pero aquí hay algunas, aunque creo que esta pregunta se cerrará, ya que las preguntas de tipo de lista tienden a no funcionar bien en los sitios de pila, ya que habrá un flujo interminable de respuestas
user2813274

Respuestas:


14

Voy a interpretar lo que creo que podría estar preguntando más ampliamente como "¿Cómo puedo controlar GPIO desde el país de usuario?"

Una manera muy agradable de comenzar a usar GPIO es usar el sistema de /sysarchivos. Puedes hacerlo todo desde la línea de comandos.

Por ejemplo,

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

Hay más documentación en linux / Documentation / gpio.txt .


1
¿Funciona esto con todos los sistemas operativos?
Alex L

Esto es específico de Linux.
blueshift

1
¿Hay algún tutorial que use este método? Solo he visto bibliotecas (principalmente la de Python).
Shane Hudson

2
Esto no es necesariamente una biblioteca según la solicitud del OP.
Andrew Larsson

1
Las otras respuestas para esta pregunta son mucho mejores: esta respuesta no responde la pregunta sobre las bibliotecas.
Recantha

12

Hay uno que he encontrado aquí . No he tenido la oportunidad de probarlo, ya que mi Pi no ha llegado. Sin embargo, parece tranquilizador. Incluso hay un hilo de foro aquí que profesa una recompensa prometedora. Si quieres un ejemplo con los pies en los fundamentos-C utilizando librerías estándar, hay uno aquí desde eLinux.


¿Cuál fue su experiencia con esta biblioteca, entonces?
Peter Mortensen


1

quick2wire puede ser utilizado por usuarios normales (no root):

Quick2Wire Python API

Una biblioteca de Python para controlar el hardware conectado a los pines del encabezado de la Raspberry Pi, sin ejecutarse como usuario root .


Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
Mark Booth

@ MarkBooth: "la parte esencial de la respuesta" es " puede ser utilizada por usuarios habituales " a diferencia de otras respuestas.
Dugres

1

Uso Wiring PI y funciona muy bien. Lo uso con el lenguaje C y no tuve problemas hasta ahora. Es fácil de entender y simple de manejar.


0

Pi4J le permite controlar los pines GPIO usando Java. No estoy seguro de cómo funciona, pero hay una explicación en http://pi4j.com/


0

Es realmente sencillo controlar los puertos GPIO en cualquier idioma como se muestra en http://elinux.org , por lo que creo que en realidad no necesita un marco para el control directo.

Necesita saber qué características adicionales espera de un marco, como

  • Control remoto a través de un navegador.
  • Una bonita interfaz de usuario del navegador o tal vez un programa independiente
  • Control automático basado en el tiempo ( trabajos cron )

Terminé escribiendo un marco para mí: controlar los puertos GPIO a través de HTTP y con trabajos cron que se ajustan perfectamente a mis necesidades. Quería tener algo para domótica. Así que necesitaba trabajos cron y una interfaz web JSON para ejecutar una aplicación nativa en mi iPhone. Por lo tanto, no escribí una interfaz de usuario del navegador. Creo que también sería bueno para un sistema de alarma.

Todavía no encontré una lista (completa) de marcos. Hay algunos mencionados en el foro de raspberrypi.org.


0

Johny-Five es bastante fácil de usar para aquellos familiarizados con Node.js o JavaScript. Ver 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();
});

Especialmente útil para proyectos de Pi que controlan GPIO a través de un servidor web

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.