Raspberry Pi. Работаем с GPIO на С - Часть 2

Это продолжение предыдущей статьи о работе с GPIO Raspberry Pi. В данной статье речь пойдет о том, как работать с GPIO на языке C, и как добиться от GPIO максимальной скорости работы.

Максимальная частота GPIO, которую удалось получить в предыдущей статье с помощью Python составила ~27 кГц. Надо сказать, такого быстродействия вполне достаточно для большинства задач, требующих частого переключения управляющего сигнала (например, управление  динамической индикацией, вроде бегущих строк). Тем не менее, не исключены ситуации, когда от логических выводов Raspberry Pi может потребоваться большее быстродействие (ну например, чтобы принимать сигналы от пульта дистанционного управления нужно регистрировать сигналы с фото-датчика, несущая частота которого составляет 30-56 кГц). Как бы там ни было, интересно узнать предельные возможности GPIO и увидеть, насколько большой прирост производительности может дать C. Забегая вперед, скажу, что полученные результаты меня приятно удивили. Черновая редакция.

Raspberry Pi. Работаем с GPIO на Python - Часть 1

Как-то я писал о том, что планирую использовать Raspberry Pi в качестве веб-сервера, управляющего моим устройством. Пришло время задуматься над интерфейсом подключения. У разработчика, желающего подключить свое железо к Raspberry есть два пути: использовать для этого USB или выводы общего назначения (GPIO). С возможностями USB все приблизительно понятно (в будущем постараюсь написать пост о работе с внешним железом через USB). О GPIO же информации не так много, да и опыта его использования нет. В общем я заинтересовался GPIO и его возможностями. В статье речь пойдет о выводах общего назначения Raspberry Pi - GPIO:
  • возможности GPIO
  • распиновка GPIO
  • как работать с GPIO на Python
  • характеристики GPIO (прежде всего показатели скорости)
  • пример использования GPIO Raspberry

Управление Raspberry Pi через SSH в Linux

В большинстве проектов Raspberry Pi используется не в качестве полноценного настольного ПК, а в качестве сетевого мини-компьютера или устройства для управления различной электроникой (веб-камеры, wi-fi модули, 3G-модемы, системы "умный дом" и пр.).  Например, я в будущем планирую использовать его как веб-сервер, взаимодействующий с моим USB-устройством. Для подобной работы Raspberry Pi не требуется ни монитор, ни клавиатура. А подключать их каждый раз для программирования и настройки неудобно и хлопотно. Гораздо удобнее использовать для этих целей монитор и клавиатуру основного компьютера и работать с Raspberry Pi по локальной сети. Такое взаимодействие двух компьютеров реализуется с помощью специального сетевого протокола SSH.

Итак, наша цель - получить возможность полноценной работы с Raspberry Pi через локальную сеть, причем так, как будто мы работаем непосредственно с самим мини-компьютером. Под катом - как управлять Raspberry Pi через SSH в Linux.

Одноплатный мини-компьютер Raspberry Pi

В канун Нового года получил одноплатный мини-компьютер Raspberry Pi. Что это такое и какая у него начинка описано тут. Несмотря на то, что этот компьютер очень маленький и очень дешевый, он имеет большие перспективы и приятно удивляет своими возможностями. Для меня лично Raspberry Pi - лакомый кусок. значимое звено, объединяющее в себе аккурат круг моих интересов:

  • Электроника. На борту находится ARM-процессор, есть возможность подключения разрабатываемых USB-гаджетов, есть отдельные выводы для подключения чего-угодно.
  • Linux и веб-программирование. Программное ядро Raspberry Pi - ОС Linux (Debian).  Задействовав сетевой разъем, можно вылепить из этого компьютера полноценный веб-сервер (что я и планирую сделать). 
  • Прикладное программирование. И конечно же можно писать программы практически на любом языке программирования (в том числе и прежде всего на Python), которые, к примеру, будут работать с подключенной электроникой.

Одним словом, возможностей тьма, хватило бы фантазии. Перейду к делу - в статье речь пойдет о том, где купить Raspberry Pi, что "в коробке", подробные фотографии и процесс его включения.