Welke bibliotheken zijn beschikbaar om te communiceren met de GPIO?
Welke bibliotheken zijn beschikbaar om te communiceren met de GPIO?
Ik ga wat ik denk dat je zou vragen in bredere zin interpreteren als "Hoe kan ik GPIO bedienen vanuit gebruikersland?".
Een erg leuke manier om aan de slag te gaan met GPIO is het gebruik van de / sys
filesytem. U kunt het allemaal vanaf de opdrachtregel doen.
Bijvoorbeeld,
cd sys / class / gpioecho 0 > exportcd gpio0echo high > direction
Meer documentatie is te vinden in linux / Documentation / gpio.txt.
Ik heb er een gevonden hier. Ik heb niet de kans gehad om het te testen, omdat mijn Pi niet is aangekomen. Het ziet er echter zeker uit. Er is zelfs een forumthread hier die belooft veelbelovend te zijn. Als je een eenvoudig C-voorbeeld wilt met standaardbibliotheken, dan is er hier van eLinux.
RPi.GPIO is een Python-pakket voor GPIO-besturing.
Deze instructievideo toont het basisgebruik van het pakket.
quick2wire kan worden gebruikt door gewone gebruikers (niet root):
Quick2Wire Python API
Een Python-bibliotheek voor het besturen van de aangesloten hardware naar de header-pinnen van de Raspberry Pi, zonder te draaien als de root-gebruiker.
Ik gebruik Wiring PI en het werkt echt geweldig. Ik gebruik het met taal C en had tot dusver geen problemen. Het is gemakkelijk te begrijpen en eenvoudig te hanteren.
Ik realiseer me dat ik een vraag beantwoord die al jaren oud is, maar er is er een die nog niet genoemd is: gpiozero. https://gpiozero.readthedocs.io/en/stable/
Het zou al geïnstalleerd moeten zijn op nieuwe versies van Raspbian. Je kunt het ook op andere versies van Linux installeren. https://gpiozero.readthedocs.io/en/stable/installing.html
Het is heel eenvoudig om de GPIO-poorten in elke taal te besturen, zoals weergegeven op http://elinux.org, dus ik denk dat je eigenlijk geen raamwerk nodig hebt voor de directe besturing.
U moet weten welke extra functies u van een framework verwacht, zoals
Ik heb uiteindelijk een framework voor mezelf geschreven: GPIO-poorten beheren via HTTP en met cron-taken die perfect bij mijn behoeften passen. Ik wilde iets hebben voor domotica. Dus ik had cron-taken en een JSON-webinterface nodig om een native app op mijn iPhone te draaien. Daarom heb ik geen browser-UI geschreven. Ik denk dat het ook goed zou zijn voor een alarmsysteem.
Ik heb nog geen (volledige) lijst met frameworks gevonden. Er worden er enkele genoemd op het forum van raspberrypi.org.
Met Pi4J kun je de GPIO-pinnen bedienen met Java. Ik weet niet zeker hoe het werkt, maar er is een uitleg op http://pi4j.com/
Johny-Five is vrij eenvoudig te gebruiken voor mensen die bekend zijn met Node.js of JavaScript. Zie http://johnny-five.io/examples / raspi-io /
npm install johnny-five raspi-io
var five = vereisen (" johnny-five "); var Raspi = vereisen (" raspi-io "). RaspiIO; var board = new five.Board ({io: new Raspi ()}); board.on ("ready", function () {var led = new five.Led ("P1-13"); led.blink ();});
Vooral handig voor Pi-projecten die GPIO besturen via een webserver