Quelles bibliothèques sont disponibles pour l'interfaçage avec le GPIO?
Quelles bibliothèques sont disponibles pour l'interfaçage avec le GPIO?
Réponses:
Je vais interpréter ce que je pense que vous pourriez demander plus largement comme "Comment puis-je contrôler GPIO depuis l'espace utilisateur?"
Une très bonne façon de commencer à utiliser GPIO est d'utiliser le système de /sys
fichiers. Vous pouvez tout faire à partir de la ligne de commande.
Par exemple,
cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction
Plus de documentation se trouve dans linux / Documentation / gpio.txt .
Il y en a un que j'ai trouvé ici . Je n'ai pas eu la chance de le tester, car mon Pi n'est pas arrivé. Cela semble toutefois rassurant. Il y a même un fil de discussion ici qui professe des bénéfices prometteurs. Si vous voulez un exemple C basique avec des bibliothèques standard, il y en a un ici d'eLinux.
RPi.GPIO est un package Python pour le contrôle GPIO.
Cette vidéo de didacticiel montre l'utilisation de base du package.
quick2wire peut être utilisé par des utilisateurs réguliers (pas root):
API Quick2Wire Python
Une bibliothèque Python pour contrôler le matériel connecté aux broches d'en-tête du Raspberry Pi, sans s'exécuter en tant qu'utilisateur root .
Pi4J vous permet de contrôler les broches GPIO à l'aide de Java. Je ne sais pas comment cela fonctionne, mais il y a une explication sur http://pi4j.com/
Il est vraiment simple de contrôler les ports GPIO dans n'importe quelle langue comme indiqué sur http://elinux.org , donc je pense que vous n'avez en fait pas besoin d'un cadre pour le contrôle direct.
Vous devez savoir quelles fonctionnalités supplémentaires vous attendez d'un framework, comme
J'ai fini par écrire un cadre pour moi: contrôler les ports GPIO sur HTTP et avec des tâches cron qui correspondent parfaitement à mes besoins. Je voulais avoir quelque chose pour la domotique. J'avais donc besoin de tâches cron et d'une interface Web JSON pour exécuter une application native sur mon iPhone. Par conséquent, je n'ai pas écrit d'interface utilisateur de navigateur. Je pense que ce serait également bon pour un système d'alarme.
Je n'ai pas encore trouvé de liste (complète) de frameworks. Il y en a certains mentionnés sur le forum de raspberrypi.org.
Johny-Five est assez facile à utiliser pour ceux qui connaissent Node.js ou JavaScript. Voir 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();
});
Particulièrement utile pour les projets Pi contrôlant GPIO via un serveur Web