Библиотеки для взаимодействия с GPIO


30

Какие библиотеки доступны для взаимодействия с GPIO?


не полный список, но вот некоторые из них - хотя я думаю, что этот вопрос будет закрыт, так как вопросы типа списка, как правило, не работают на стековых сайтах, поскольку будет бесконечный поток ответов
user2813274

Ответы:


14

Я собираюсь истолковать то, что, как я думаю, вы можете спросить более широко, как «Как я могу контролировать GPIO из пользовательского пространства?»

Очень хороший способ начать использовать GPIO - это использовать /sysфайловую систему. Вы можете сделать все это из командной строки.

Например,

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

Дополнительная документация находится в linux / Documentation / gpio.txt .


1
Это работает с каждой ОС?
Алекс Л

Это специфично для Linux.
blueshift

1
Есть ли учебники, которые используют этот метод? Я видел только библиотеки (в основном Python).
Шейн Хадсон

2
Это не обязательно библиотека в соответствии с запросом ОП.
Эндрю Ларссон

1
Другие ответы на этот вопрос намного лучше - этот ответ не отвечает на вопрос о библиотеках.
Recantha

12

Есть один, который я нашел здесь . У меня не было возможности проверить это, так как мой Пи не прибыл. Это, однако, выглядит уверенным. Там даже ветка форума здесь что исповедует перспективный выигрыш. Если вы хотите вниз-к-основам примера C с использованием стандартных библиотек, есть один здесь от eLinux.


Каков был ваш опыт этой библиотеки?
Питер Мортенсен


1

quick2wire может использоваться обычными пользователями (не root):

Quick2Wire Python API

Библиотека Python для управления оборудованием, подключенным к контактам заголовка Raspberry Pi, без запуска от имени пользователя root .


Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится.
Марк Бут

@MarkBooth: «основная часть ответа» - « может использоваться обычными пользователями » в отличие от других ответов.
Дугрес

1

Я использую Wiring PI, и он отлично работает. Я использую его с языком C и до сих пор не было проблем. Это легко понять и просто в обращении.


0

Pi4J позволяет управлять выводами GPIO с помощью Java. Я не уверен, как это работает, но есть объяснение на http://pi4j.com/


0

Управлять портами GPIO на любом языке очень просто, как показано на http://elinux.org , поэтому я считаю, что на самом деле вам не нужна инфраструктура для прямого управления.

Вы должны знать, какие дополнительные функции вы ожидаете от фреймворка, например,

  • Дистанционное управление через браузер
  • Симпатичный интерфейс браузера или, возможно, отдельная программа
  • Автоматическое управление по времени ( задания cron )

В итоге я написал для себя фреймворк: управление портами GPIO по HTTP и заданиями cron которые идеально соответствуют моим потребностям. Я хотел что-то для домашней автоматизации. Поэтому мне нужны были задания cron и веб-интерфейс JSON для запуска собственного приложения на моем iPhone. Поэтому я не написал интерфейс браузера. Я считаю, что это также было бы хорошо для системы сигнализации.

Я еще не нашел (полный) список фреймворков. Есть некоторые упомянутые на форуме raspberrypi.org.


0

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 через веб-сервер

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.