Реклама

Raspberry Pi - идеальный компьютер для обучения. В основанную на Linux ОС Raspbian встроен Python, что делает ее отличной первой системой для начинающих программистов. Его выводы ввода / вывода общего назначения (GPIO) позволяют начинающим производителям экспериментировать с электронными проектами.

Это особенно легко, когда вы используете библиотеки кода, которые управляют этими выводами, и популярный RPi. Библиотека GPIO Python является отличным примером такой библиотеки. Но лучший ли это путь для начинающих? Присоединяйтесь к нам, как мы расследуем.

Что такое GPIO Zero?

Библиотека GPIO Zero - это библиотека Python для работы с выводами GPIO. Это было написано Менеджер сообщества Raspberry Pi Бен Наттол. Направленный на то, чтобы быть интуитивно понятным и «дружественным», он оптимизирует код Python для большинства обычных случаев использования Raspberry Pi.

Сочетая простые методы именования и описательные функции, GPIO Zero более доступен для начинающих. Даже опытные пользователи RPi. Библиотека GPIO может предпочесть это - и чтобы понять почему, давайте посмотрим, как RPi. GPIO сравнивается с GPIO Zero.

Что не так с RPi. GPIO?

Ничего. Вообще ничего RPi. GPIO был выпущен в начале 2012 года разработчиком Беном Кростоном. Это надежная библиотека, позволяющая пользователям управлять выводами GPIO из кода. Особенности в почти каждый начинающий проект 11 лучших проектов Raspberry Pi для начинающихЭти проекты Raspberry Pi для начинающих отлично подходят для начала работы с возможностями любой модели Raspberry Pi. Прочитайте больше мы покрыты.

Несмотря на широкое использование, RPi. GPIO никогда не был предназначен для конечных пользователей. Это свидетельство RPI. Хороший дизайн GPIO, который, тем не менее, используют многие начинающие.

Что хорошего в GPIO Zero?

Когда вы изучение кода PythonВы узнаете, что оно должно быть легко читаемым и максимально коротким. GPIO Zero стремится охватить обе точки. Построен на вершине RPi. GPIO как интерфейсная языковая оболочка упрощает настройку и использование GPIO.

Рассмотрим следующий пример настройки и включения светодиода:

Код для настройки и светодиод для вывода с помощью RPi. Библиотека GPIO

Приведенный выше код должен быть довольно знаком всем, кто использовал их пи для управления светодиодами.

RPi. Библиотека GPIO импортирована, и объявлен вывод для светодиода. Установлен тип расположения выводов (режимы BCM и BOARD: объяснено в нашем руководстве GPIO Все, что нужно знать о выводах Raspberry Pi GPIORaspberry Pi - фантастический маленький компьютер, но что именно делают выводы GPIO (универсальный ввод / вывод)? Короче говоря, они открывают целый мир электронной работы и изобретательства. Прочитайте больше ), и вывод устанавливается как выход. Затем штифт включен.

Этот подход имеет смысл, но способ GPIO Zero сделать это гораздо проще:

Настройка светодиода с помощью GPIO Zero

GPIO Zero имеет модуль для светодиодов, импортируемый при запуске. Это означает, что вы можете объявить пин-код и позвонить led.on () метод.

Почему подход GPIO Zero лучше?

Есть несколько причин, почему этот метод работы является улучшением RPi. GPIO.

Во-первых, он отвечает требованию «легко читать, как можно меньше». Пока RPi. Инструкции по настройке GPIO достаточно просты для понимания, они не нужны. Светодиод всегда будет выходом, поэтому GPIO Zero устанавливает контакты за кулисами. Результат - всего три строки кода для настройки, а затем загорается светодиод.

Вы можете заметить, что в примере GPIO Zero нет настройки режима платы. Библиотека использует только номера Broadcom (BCM) для выводов. Дизайнер библиотеки Бен Наттолл объясняет, почему в 2015 году Интервью RasPi.tv:

«Нумерация BOARD может показаться более простой, но я бы сказал, что это заставляет новых пользователей думать, что все выводы являются универсальными, а они - нет. Подключите светодиод к контакту 11, почему бы не подключить еще несколько к контактам 1, 2, 3 и 4? Скважина 1 3V3. 2 и 4 5В. Недостаточная осведомленность о назначении контактов может быть опасной ».

Говоря таким образом, имеет смысл использовать цифры BCM. Учитывая, что GPIO Zero будет стандартом в документации Raspberry Pi, стоит учиться!

Действительно ли GPIO Zero лучше?

Хотя это кажется более простым на первый взгляд, есть ли у новой библиотеки какие-либо проблемы? Как и с любой новой библиотекой кодирования, это вопрос мнения. С одной стороны, удаление установочного кода отлично подходит как для начинающих, так и для опытных программистов. Написание кода проще и быстрее.

С другой стороны, знание того, что происходит, важно для обучения. Возьмите пример настройки кнопки из Документация GPIO Zero:

Пример кода нулевой кнопки GPIO

кнопка Модуль упрощает настройку кнопок. Он знает, что кнопки являются входными данными, поэтому использует заявленный номер контакта для настройки. Проверить нажатие кнопки также проще, с .is_pressed обнаруживать нажатия кнопок.

Мы использовали эту точную функциональность в Обучающая программа по кнопке Raspberry Pi 2 способа добавить кнопку в ваш проект Raspberry PiКак подключить кнопку к вашему Raspberry Pi? Вот два способа начать, продемонстрированные с использованием Python и светодиода. Прочитайте больше Это отличный способ ознакомиться с различиями в библиотеках.

Пользователи RPi. Библиотека GPIO заметит, что внутренние понижающие / понижающие резисторы Pi не заданы в коде. Это поднимает интересный вопрос. Обязательно ли для новичков знать резисторы с повышением / понижением? И снова у Бена Наттолла есть ответ на этот вопрос:

«Вы можете утверждать, что хорошо знать о подтягиваниях и опусканиях, и вы были бы правы, но почему я должен учить этому в первый день? […] Если Вы хотите научить электронику более глубоко, есть много возможностей для этого, но это не должно быть обязательным, если вы просто получаете началось."

В целом, простой подход GPIO Zero, вероятно, полезен как для начинающих, так и для ветеранов. Кроме того, RPi. GPIO никуда не денется. Он всегда будет там, чтобы переключиться обратно в случае необходимости.

Является ли Python единственным вариантом?

Python - это язык, которым известен Pi, но это не единственный вариант. Если вы уже знакомы с программированием на языке Си, то Проводка пи ты прикрыл.

Кроме того, если вы уже программируете на JavaScript, Node.js можно легко установить на Pi. Доступ к GPIO доступен через библиотека rpi-gpio npm. Рубин на рельсах также может быть установлен на Raspberry Pi, хотя Pi не может быть лучший способ выучить Rails!

Все эти альтернативы, а также многоязычные библиотеки, такие как отличные pigpio может сделать выбор библиотеки запутанным. Именно здесь GPIO Zero выделяется: для начинающих, задающихся вопросом, как и с чего начать.

Если вы находитесь в точке, где вам нужно что-то, чего она не предоставляет, вы будете более чем готовы погрузиться в эти другие библиотеки в своем собственном темпе.

Начало работы с GPIO Zero Yourself

GPIO Zero является новейшей библиотекой, созданной для Pi, и для этого есть все основания. Для большинства пользователей это делает кодирование для выводов GPIO более простым для чтения и более быстрым.

Учитывая использование Raspberry Pi в образовании, все, что делает обучение более естественным, является хорошей вещью. Пока RPi. GPIO до сих пор был идеальным, GPIO Zero берет хорошую идею и делает ее еще лучше.

Отличный способ начать работу с GPIO Zero - взять проект для начинающих, такой как Музыкальный датчик двери Сыграйте свою собственную мелодию, когда войдете в комнату с Raspberry PiВы когда-нибудь хотели приехать домой с личным приемом? В этом простом проекте Raspberry Pi мы будем использовать геркон, чтобы вызвать мелодию, когда дверь открыта. Прочитайте больше и перенести его в новую библиотеку.

Ян Бакли - независимый журналист, музыкант, исполнитель и продюсер, живущий в Берлине, Германия. Когда он не пишет или не играет на сцене, он возится с электроникой или кодом «сделай сам» в надежде стать безумным ученым.