10 проектов Raspberry Pi на Python

10 проектов Raspberry Pi на Python

Хочешь улучшить свой навык владения языком программирования Python? Посмотри на эти увлекательные проекты для Raspberry Pi с использованием Python!

Микрокомпьютер Raspberry Pi 5 На борту Raspberry Pi 5 уже есть четыре порта USB, беспроводные интерфейсы Wi-Fi/Bluetooth и полноценный гигабитный Ethernet, чтобы сразу приступить к работе.

Популярная во всем мире линейка плат Raspberry Pi поставляется со встроенным простым, но мощным языком программирования Python.

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

Как только вы освоитесь и настроите свой Pi, вы сможете приступить к проектам, которые работают с дополнительными производными Python, такими как MicroPython и CircuitPython.

В этом списке проектов для Raspberry Pi, работающих на Python, найдется много интригующих способов отточить свои навыки программирования. Умение программировать на Python — ценное преимущество, как для практического использования, так и просто для развлечения.

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

Sense HAT

Все светодиоды горят с помощью Sense HAT
Светодиоды на Sense HAT (Источник: RaspberryTips)

Из всех HAT на Raspberry Pi, Sense HAT (аппаратное обеспечение установленное сверху на Pi), пожалуй, самый популярный и не зря. Знаете ли вы, что он был установлен на борту Международной космической станции? Но сначала небольшое пояснение: Sense HAT — это плата расширения, которая включает в себя светодиодную матрицу, датчики и джойстик. Всеми этими элементами можно управлять с помощью Raspberry Pi и кода Python.

В этом руководстве RaspberryTips рассказывает пользователям о настройке Sense HAT и некоторых возможностях, которые можно с ней сделать. Например, один из входящих в комплект датчиков является магнитометром, что позволяет Raspberry Pi использовать его почти как компас. Будь то калибровка или выполнение базового теста с помощью сценария Python, чтобы убедиться, что все работает, — это превосходное руководство охватывает все основы того, что пользователи могут делать с Sense HAT.

Есть также инструкции, включающие использование Python (код приведен в руководстве) для вспышки «Hello world» на светодиодной матрице. Это может стать отличным способом как проверки правильности работы HAT, так и изучения основ Python (хотя на RaspberryTips есть еще один учебник на эту тему).

После того как первая часть руководства будет освоена, можно приступить к изучению второй части, которая включает в себя больше приключений с кодированием на Python и объяснения того, как можно использовать различные датчики. Снимаем шляпу в знак восхищения!

Воспроизведение звуков

Воспроизведение с помощью Pi и Python
Воспроизведение звука с помощью Pi и Python (Источник: Jeff Geerling)

Вот проект, который является абсолютным совершенством для начинающих пользователей Pi и Python: воспроизведение звука с помощью USB-устройства и Raspberry Pi. Это быстро, просто и требует только Raspberry Pi Zero и USB-устройства по вашему выбору.

Автор дает советы о том, как лучше использовать Python в этом проекте, поскольку предыдущие руководства по этой теме оказались недостаточно эффективными или не полностью учитывали его настройку. Звуковое устройство должно быть распознано Raspberry Pi, что является очень простым процессом. После выполнения команды, указанной создателем, USB-устройство должно появиться в списке результатов.

В зависимости от модели Raspberry Pi, на которой вы работаете, в списке может быть и встроенное устройство. Создатель проекта указывает, как обойти эту проблему в вашем случае.

После того как устройство подключено, с помощью Python-кода можно легко воспроизводить звуки (в виде уже сохраненных .wav-файлов). Для этого необходимо установить Pygame — библиотеку с открытым исходным кодом для разработки мультимедиа на Python.

  • Разработчик: Jeff Geerling
  • Основные компоненты: Raspberry Pi Zero, USB-аудиоустройство
  • Сложность: Новичок
  • Страница проекта: Jeff Geerling

Звонок

Звонок в действии
Звонок в действии (Источник: Alex Meub)

Этот звонок на основе Slack использует Raspberry Pi, чтобы звонить — вы уже догадались — в колокольчик через команду Slack. Хотя создатель проекта использовал его для своего офиса, возможности использования этого звонка безграничны: он может пригодиться и в школе, и дома.

Автор проекта использовал модуль Python GPIO для автоматического звонка и создал соответствующий скрипт на Python. Для этого потребуется 3D-печатная деталь, поэтому позаботьтесь о том, чтобы у вас был доступ к 3D-принтеру или сервису печати. В качестве альтернативы вы можете выбрать фрезерный станок с ЧПУ и сделать устройство из дерева.

Проект, включая интеграцию со Slack и аппаратное обеспечение, довольно прост, хотя автор отмечает, что во время интеграции была замечена одна проблема. Из-за общей установки необходимо постоянное подключение к Wi-Fi, что может стать потенциальной проблемой в случае плохого соединения или сбоя. Решением стало создание запланированной команды для проверки звонка и, если его нет, bash-скрипт запускает его.

По мнению автора, HAT может справиться с этой задачей лучше, так что если вы чувствуете в себе творческий потенциал и хотите продвинуть этот проект на шаг вперед, вы можете подумать о дальнейшем развитии своих навыков!

Программируемые лампочки

Подготовка к веселому празднику
Подготовка к празднику (Источник: Opensource)

Далее — фантастический проект на Raspberry Pi для создания настраиваемого светового дисплея для дома. Его можно использовать для проведения праздников или любых других особых случаев — небо не имеет границ.

В этом проекте используются световые гирлянды WS12811/2, которые представляют собой светодиодные лампочки, содержащие микросхему драйвера. Особенно важно то, что каждая лампочка программируется индивидуально, что открывает перед автором широкие возможности для настройки. Автор отмечает, что, хотя код, предоставленный Adafruit, является CircuitPython, он выбрал Python 3 — конкретные библиотеки, которые необходимо установить, подробно описаны, чтобы избежать каких-либо проблем.

Что касается самого кода, то, возможно, вам придется подправить его после того, как вы узнаете, сколько лампочек у вашей установки, поскольку он может отличаться от авторского. А благодаря тому, что библиотека и скрипт согласовывают освещение и цвета, вы можете менять освещение и выключать его, а также выполнять другие функции. Конечно, как только вы разберетесь с этим, вы сможете создавать свои собственные мерцающие узоры!

В дополнение к оборудованию приложение Flask предоставляет графический интерфейс браузера для управления светом.

Система отслеживания потребления кофе

Не позволяйте кофе закончиться
Не дайте кофе закончиться (Источник: baturayo на GitHub)

Этот продуманный счетчик расхода кофе слушает звук молотого кофе и фиксирует количество выпитого кофе за определенный промежуток времени. Убедитесь, что в кофемашине осталось достаточно кофе… это очень важно!

Используя Python 3, создатели проекта установили для кофемашины параметр обнаружения звука — односекундную запись процесса помола. При этом пользователи должны записать свои собственные звуки помола кофеварки, чтобы заменить звук по умолчанию. Внешний микрофон записывает звук, и следующим шагом в этом процессе является планирование «работы» по прослушиванию звука помола с помощью системной службы и таймера.

На удалённой машине установливаем базу данных PostgreSQL

(автор отмечает, что ее не следует устанавливать на Raspberry Pi). Наконец, когда приложение будет запущено, можно будет легко отслеживать, как часто используется машина, чтобы запасы не достигли трагического уровня в офисе.

  • Разработчик: baturayo
  • Основные компоненты: Raspberry Pi 3B, внешний микрофон, кофеварка
  • Сложность: Средняя
  • Страница проекта: GitHub

Пачинко

Приготовьтесь к игре в пачинко
Приготовьтесь к игре в пачинко (Источник: LinuxScrew)

Пачинко — это популярная японская механическая азартная аркадная игра. С помощью Raspberry Pi и Python вы можете сделать свою собственную игру пачинко для вашего дома!

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

В этом проекте используется Python 3 для выполнения таких задач, как мигание светодиодных лампочек и воспроизведение музыкальных звуков, а все команды объясняются так, что вы можете изучить их и внести любые изменения для создания своего собственного пачинко.

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

  • Разработчик: Brad Morton
  • Основные компоненты: Raspberry Pi Zero, медный лист, шарикоподшипники, препятствия, светодиоды, триггеры для счета (металлические), зуммер, омные резисторы
  • Сложность: Средняя
  • Страница проекта: LinuxScrew

Таймлапс камера

Когда всё будет готово, вы сможете распечатать симпатичный чехол
Когда всё будет готово, вы сможете распечатать симпатичный чехол (Источник: Adafruit на Printables)

Приготовьтесь сделать таймлапс-камеру, работающую с Raspberry Pi! Поскольку Pi Zero настолько компактен, существует множество способов создания носимой камеры. Авторы этого конкретного проекта выбрали очки, но вы с таким же успехом можете сделать корпус на ремешке.

Программирование таймлапса является ключевой частью проекта и все действия подробно описаны. Добавление светодиодных индикаторов Blinkt RGB было бы отличной функцией. Благодаря индивидуально управляемым пикселям они могут служить визуальными уведомлениями для Pi. Если вы хотите пойти по этому пути, вам нужно будет подключить панель к Raspberry Pi, а затем прописать код индикаторов.

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

Стоит также отметить, что фотографии, сделанные с помощью носимой камеры, хранятся на Pi в несколько низком разрешении. Автор проекта хотел избежать слишком больших изображений, но в зависимости от ваших целей разрешение изображения может быть изменено на этапе программирования.

Мониторинг теплицы

Убедитесь, что в вашей теплице все хорошо, используя Python и Pi
Убедитесь, что в вашей теплице все хорошо с помощью Python и Pi (Источник: Opensource)

Этот проект по мониторингу теплиц — отличная демонстрация того, как CircuitPython взаимодействует с Raspberry Pi. Когда проект полностью настроен, он будет публиковать статистику теплицы на MQTT-брокер. Как только брокер будет создан, можно подписаться на различные метрики, такие как температура и влажность. Они будут публиковать сообщения брокеру.

Пользователям, впервые познакомившимся с CircuitPython, автор проекта рекомендует ознакомиться с руководством Adafruit, чтобы разобраться и получить четкое представление обо всем, что с ним можно сделать. Что касается аппаратного обеспечения, то помимо Raspberry Pi 4 был выбран Adafruit Feather S2, учитывая его совместимость с CircuitPython. Feather S2 имеет встроенный датчик освещенности, поэтому вам потребуется приобрести дополнительные датчики (например температуры и влажности).

После программирования микроконтроллера и сбора данных настало время обработать информацию. Автор проекта предлагает различные варианты действий, например, настройку различных процессов для разных действий (например, если вы хотите получать уведомления по электронной почте, когда определенное значение становится слишком высоким или слишком низким). Он также объясняет, как он настроил веб-сервер, на случай, если это тот результат, который подойдет для ваших нужд.

Распознавание по лицу

Изображение: Распознавание по лицу
Распознавание за делом (Источник: YouTube)

С помощью этого увлекательного проекта вы можете обучить Raspberry Pi распознавать человеческие лица и успешно идентифицировать своего владельца по «взгляду». По сути, проект заключается в том, чтобы сделать фотографии человека, а затем использовать их для обучения установки, благодаря обучающей модели Python.

И если этот проект кажется достаточно простым, то на этом он не заканчивается. Pi не только распознает лица, но и может выполнять различные действия, например, формировать виртуальную рамку вокруг лица человека на экране с его именем. Можно сделать еще один шаг вперед, прикрепив к Raspberry Pi сервомотор и запрограммировав установку так, чтобы она поворачивалась, как только определенный человек «попадает» в поле зрения камеры.

Управляемая тыква для Хэллоуина

Изображение: Управляемая тыква для Хэллоуина
Оживите тыкву с помощью Pi (Источник: YouTube)

В этом креативном проекте на Pi с использованием Python оживите фонарь с помощью автоматизации и жутких звуков. Независимо от того, хотите ли вы использовать его для празднования Хэллоуина или потенциально использовать методы для другого проекта автоматизации, это фантастический выбор для опытных пользователей Pi, чтобы бросить себе вызов.

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

Создатель дает пояснения, почему были сделаны те или иные вызовы, например, чтобы получить эффект мерцания, как у свечи. Сама тыква требует довольно много ручной работы (которая объясняется полезными фотографиями), но как только все готово, вы можете включить все для пробного запуска. Соседи будут впечатлены!

Николай

Я всегда рад вашим комментариям, предложениям или новостям из первых уст.

Оцените автора
Добавить комментарий