Какие библиотеки доступны для взаимодействия с GPIO?
Какие библиотеки доступны для взаимодействия с GPIO?
Ответы:
Я собираюсь истолковать то, что, как я думаю, вы можете спросить более широко, как «Как я могу контролировать GPIO из пользовательского пространства?»
Очень хороший способ начать использовать GPIO - это использовать /sys
файловую систему. Вы можете сделать все это из командной строки.
Например,
cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction
Дополнительная документация находится в linux / Documentation / gpio.txt .
Есть один, который я нашел здесь . У меня не было возможности проверить это, так как мой Пи не прибыл. Это, однако, выглядит уверенным. Там даже ветка форума здесь что исповедует перспективный выигрыш. Если вы хотите вниз-к-основам примера C с использованием стандартных библиотек, есть один здесь от eLinux.
RPi.GPIO - это пакет Python для управления GPIO.
В этом учебном видео показано основное использование пакета.
quick2wire может использоваться обычными пользователями (не root):
Quick2Wire Python API
Библиотека Python для управления оборудованием, подключенным к контактам заголовка Raspberry Pi, без запуска от имени пользователя root .
Я использую Wiring PI, и он отлично работает. Я использую его с языком C и до сих пор не было проблем. Это легко понять и просто в обращении.
Pi4J позволяет управлять выводами GPIO с помощью Java. Я не уверен, как это работает, но есть объяснение на http://pi4j.com/
Управлять портами GPIO на любом языке очень просто, как показано на http://elinux.org , поэтому я считаю, что на самом деле вам не нужна инфраструктура для прямого управления.
Вы должны знать, какие дополнительные функции вы ожидаете от фреймворка, например,
В итоге я написал для себя фреймворк: управление портами GPIO по HTTP и заданиями cron которые идеально соответствуют моим потребностям. Я хотел что-то для домашней автоматизации. Поэтому мне нужны были задания cron и веб-интерфейс JSON для запуска собственного приложения на моем iPhone. Поэтому я не написал интерфейс браузера. Я считаю, что это также было бы хорошо для системы сигнализации.
Я еще не нашел (полный) список фреймворков. Есть некоторые упомянутые на форуме raspberrypi.org.
Johny-Five довольно прост в использовании для тех, кто знаком с Node.js или JavaScript. Смотрите 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();
});
Особенно полезно для проектов Pi, управляющих GPIO через веб-сервер