Программа для программирования raspberry pi

Обновлено: 07.07.2024

В 2012 году организация Raspberry Pi Foundation представила миру свой одноплатный компьютер Raspberry Pi, который первоначально предназначался для обучения детей основам компьютерной техники и программирования, но позже для него нашлось и множество других применений. Спустя 9 лет после этого, в 2021 году, свет увидела микроконтроллерная плата Raspberry Pi Pico. По сути, это достаточно бюджетный микроконтроллер, цены на который начинаются от $4. Однако несмотря на низкую цену он содержит в своем составе двухъядерный ARM процессор и цифровые/аналоговые контакты ввода/вывода, способные выполнять еще и ряд специальных функций. Поэтому данный микроконтроллер отлично подходит для применения во встраиваемых системах.

Внешний вид проекта программирования платы Raspberry Pi Pico с помощью C/C++ SDK

В данной статье мы рассмотрим основы программирования платы Raspberry Pi Pico с помощью C/C++ SDK (Software Development Kit – набор инструментальных средств разработки программного обеспечения). Также на нашем сайте вы можете посмотреть всю серию обучающих статей по Raspberry Pi Pico.

Краткое введение в Raspberry Pi Pico

Сердцем платы Raspberry Pi Pico является двухъядерный ARM процессор на ядре Cortex M0+, который может быть разогнан до частоты 133MHz. Плата содержит 264 Кб ОЗУ (SRAM) и 2 Мб встроенной флеш-памяти, которую можно увеличить до 16 Мб с помощью внешнего модуля памяти, подключаемой через шину Quad-SPI.

Плата Raspberry Pi Pico содержит 26 многофункциональных контактов ввода/вывода (GPIOs), которые работают с цифровыми уровнями напряжения 3.3v, три из этих контактов могут работать в качестве аналоговых входов, то есть выполнять функции АЦП в плате. Плата может получать питание через разъем micro-USB, внешних источников питания или батареек. Также важным достоинством платы является то, что не требуется никакого внешнего программатора для ее программирования поскольку она поддерживает технологию “Drag-and-Drop” и автоматически определяется компьютером при ее подключении по USB (технология mass storage).

Внешний вид платы Raspberry Pi Pico с обозначением элементов на ней показан на следующем рисунке.
Как мы видим из представленного рисунка, плата Raspberry Pi Pico имеет 40 контактов, 26 из которых являются многофункциональными контактами ввода/вывода (GPIOs). Также плата содержит встроенный светодиод, подключенный к контакту GPIO25. Одним из недостатков платы является отсутствие у нее кнопки сброса, но зато у нее есть контакт RUN, который выполняет функцию контакта сброса если мы замыкаем его на землю (Ground).

Внешний вид платы Raspberry Pi Pico с обозначением элементов на ней

Назначение контактов (распиновка) платы Raspberry Pi Pico представлено на следующем рисунке.

Назначение контактов (распиновка) платы Raspberry Pi Pico

Установка C/C++ SDK для Raspberry Pi Pico на Linux систему

Для установки C/C++ SDK для программирования платы Raspberry Pi Pico автор данного проекта (ссылка на оригинал приведена в конце статьи) использовал операционную систему Ubuntu 20.04 LTS.

Организация Raspberry Pi Foundation поставляет скрипт установки для операционных систем Linux и Raspberry Pi OS, который автоматически создает и устанавливает все необходимые компоненты для C/C++ SDK и кросс-платформенной IDE Visual Studio Code. Для скачивания скрипта установки (setup script) C/C++ SDK выполните следующую последовательность команд:

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

Но этот мини-компьютер способен выполнять и другие задачи. Мы рассмотрим несколько сценариев использования Raspberry Pi на примере дистрибутива Raspberry Pi OS. В этой подборке собраны лучшие программы для Raspberry Pi, которые хорошо подходят для этого миникомпьютера.

Программы для Raspberry Pi

Мы подобрали одиннадцать наиболее интересных, на наш взгляд, приложений. Рассмотрим эти программы подробнее.

1. Synaptic

O0gAAAABJRU5ErkJggg==

Начиная работу с новой операционной системой, хочется иметь возможность быстро и удобно управлять пакетами. Дистрибутив Raspberry Pi OS имеет для этого собственный инструмент, но будем честны: пользоваться им не очень приятно.

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

Для установки Synaptic используйте команду:

sudo apt install synaptic

2. Vivaldi

KyAAAAAASUVORK5CYII=

По умолчанию в Raspberry Pi OS установлен браузер Chromium, но он имеет ряд недостатков. Например, плохо справляется с проигрыванием роликов на YouTube. Вместо него вы можете установить браузер Vivaldi.

Он гораздо лучше справляется с воспроизведением видео. К его достоинствам также можно отнести отсутствие слежки и блокировку рекламы одним кликом. К сожалению, проблемы с производительностью также имеются, их частично решает установка 64-битной версии дистрибутива. Остаётся надеяться, что с выходом Raspberry Pi 5 этот дистрибутив получит стабильную версию, а также большее количество 64-битных программ.

3. Kodi

8Ogz1EcXKFDS8AAAAASUVORK5CYII=

Мини-компьютер имеет неплохие аппаратные кодеки, поэтому может выступать в роли медиапроигрывателя. Одно из лучших приложений для этого — Kodi. Для него было написано большое количество расширений для работы с потоковыми сервисами — как видео, так и аудио. Есть YouTube, Netflix, Ivi, Kinopoisk, Yandex и многие другие платформы.

Конечно, уместнее будет использовать отдельный дистрибутив вроде LibreElec, если перед вами стоит только одна цель: создание медиацентра. Но в любом случае приложение Kodi не будет лишним, если вы планируете выполнять и другие задачи.

Для установки Kodi используйте команду:

sudo apt install kodi

4. Clementine

f8BNDAGRQ5rnKEAAAAASUVORK5CYII=

Среди музыкальных плееров стоит выделить Clementine. Он интересен по нескольким причинам. Удобный интерфейс позволит освоиться в программе даже новичку, а фонотека и списки дадут возможность организовать доступ к любимым трекам.

Стоит также выделить поддержку нескольких стриминговых сервисов и библиотеку интернет-радиостанций. К несомненным достоинствам можно также отнести удалённое управление со смартфона.

Для установки Clementine используйте команду:

sudo apt install clementine

5. Remmina

YNG5DC9v8BerSuSSha3J4AAAAASUVORK5CYII=

Рассматривая мини-компьютер, нельзя не затронуть тему тонких клиентов и удалённого рабочего стола. Производительность процессора Raspberry Pi не позволит запускать тяжёлые программы, да их практически и нет для архитектуры ARM. Другое дело — получить доступ к основному компьютеру или серверу и работать уже на нём.

Для одноплатного компьютера есть несколько утилит для подключения к удалённому рабочему столу, но большая их часть не имеет графического интерфейса, поэтому Remmina выгодно выделяется на их фоне. Программа поддерживает три протокола: RDP, VNC и SSH.

Для установки Remmina используйте команду:

sudo apt install remmina

6. Steam Link

0nLkpFoMw6YAAAAASUVORK5CYII=

Протокол RDP и стандартный удалённый рабочий стол неплохо подходят для рабочих задач, но ряд ограничений, вроде низкой частоты кадров, не позволят насладиться играми. На помощь может прийти Steam Link. Это простое приложение, позволяющее подключиться к компьютеру с запущенным клиентом Steam. С его помощью вы получите доступ к режиму Big Picture и своей библиотеке игр.

Для работы Steam Link не будет лишним установить драйвер для контроллера Xbox, всё же протокол XInput практически стал стандартом.

Для установки Steam Link используйте команду:

sudo apt install xboxdrv steamlink

7. Parsec

dRZcNHgA4YQPW3i0DuJzp1UUJ6OfNEl4fQz4YB5x3UqmQ1bBPLXSYxQGPqcEQB2tpR2P4PYAz4WugbQ6oAAAAASUVORK5CYII=

Steam Link позволяет запускать игры Steam, но не более того, доступ к рабочему столу и сторонним приложениям останется закрытым. Выходом из этой ситуации может стать Parsec. С его помощью вы получите полноценный удалённый рабочий стол Windows (Linux не может выступать в качестве хоста) с 60 FPS и адекватным управлением в играх. К сожалению, программу поддерживают только Raspberry Pi 3B и 3B+. Установочный пакет, а также инструкция по настройке есть на официальном сайте. На Raspberry Pi 4 можно воспользоваться веб-приложением, но в браузере наблюдается не только потеря кадров, но и задержка в управлении.

8. RetroArch

okAAAAASUVORK5CYII=

Если же рассматривать игровые возможности самого Raspberry Pi, то его производительности хватит для запуска эмуляторов PlayStation 1 и Nintendo 64. А если использовать последнюю, 4-ю версию мини-ПК, — то и PlayStation Portable.

Для запуска эмуляторов есть несколько решений, но непосредственно в дистрибутиве Raspberry Pi OS проще всего использовать оболочку RetroArch. Для установки следует выбрать Snap — он содержит актуальную версию программы, к тому же с ним возникает гораздо меньше проблем.

Подробнее о настройке RetroArch можете узнать из нашей статьи. А если по какой-то причине вам больше нравится оболочка EmulationStation, то обратите своё внимание на отдельные дистрибутивы вроде RetroPie.

Для установки RetroArch используйте команды:

sudo apt install xboxdrv

sudo apt install snapd

sudo snap install core

sudo snap install retroarch

9. USB/IP

Awa3vFxYVipKAAAAAElFTkSuQmCC

Raspberry Pi может использоваться и в качестве сервера. Одно из направлений — это расшаривание USB по сети. Для этого подойдёт бесплатная консольная утилита USB/IP. Она позволит использовать один принтер, сканер или кассу на нескольких компьютерах. Мы уже рассматривали то, как настраивается эта утилита. Стоит отметить лишь то, что для Windows потребуется свой клиент.

Для установки USB/IP используйте команду:

sudo apt install usbip

Если же вы планируете подключить только принтер, то проверьте совместимость вашей модели с Cups. Эта утилита для создания сетевого принтера настраивается проще и имеет незамысловатый веб-интерфейс.

10. Nextcloud

B5bmOVN7DFPBAAAAAElFTkSuQmCC

Raspberry Pi может стать и файловым сервером. Одно из самых продвинутых решений — это облачное хранилище Nextcloud. Если открыть доступ к накопителю, оно станет доступно практически на любом устройстве — клиенты есть как для настольных компьютеров, так и мобильных устройств.

Установка возможна несколькими способами, но проще всего использовать Snap — таким образом, вы получите практически готовый сервер.

Для установки Nextcloud используйте команды:

sudo apt install snapd

sudo snap install core

sudo snap install nextcloud

11. KDE Connect

Cqs1+uCqDQIAAAAASUVORK5CYII=

Закончим подборку программ утилитами для управления самим Raspberry Pi. KDE Connect позволит использовать устройства на Android для управления мини-компьютером, а также получать и отправлять файлы.

Для установки используйте команду:

sudo apt install kdeconnect

Для получения доступа к GPIO со смартфона также имеется приложение RaspСontroller. Если же у вас iOS, то используйте приложение Remote Pi, которое скоро станет доступно и на Android.

Выводы

Это основные лучшие программы для Raspberry Pi. Мы не стали рассматривать предустановленные приложения — их не так много. Стоит отметить медиапроигрыватель VLC, офисный пакет LibreOffice, несколько IDE для разработки программ и утилиту для клонирования SD-карты. Среду разработки вы можете выбрать сами. Если вам интересна тема использования GPIO и управления различными устройствами, для мини-ПК доступно немало редакторов кода, в том числе VS Code.

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

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

Программирование Raspberry Pi – это легко, особенно на Python

43295

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

Python – это основной язык Raspberry Pi

Почти все владельцы Raspberry Pi понимают, что означает первое слово в названии одноплатника – "малина". Однако второе многие интерпретируют неверно.

Некоторые считают, что оно означает "Пи" (3,14…), другие думают, что это первые две буквы слова Pie (пирог, и в этом есть смысл – "малиновый пирог"). Однако на деле все иначе.

Pi – это сокращение от Python, только с заменой y на i. Так часто делают в программировании. Взять, например, хотя бы KDE, где во многих программах вместо С написано K (в угоду стилю): Konsole (правильно – Console), Konqueror (Conqueror) и т. д.

Python Raspberry Pi

То есть, как не трудно догадаться, в Raspberry основным языком является "Пайтон". Поэтому владельцу "Малины", который пока не знает никакого ЯП, рекомендуется изучать именно этот. Причин, почему Raspberry Pi 3 программирование на Python наиболее лучшее решение, существует множество.

Вот лишь некоторые из них:

  • работа из коробки в Raspbian;
  • наличие обширной, хорошо документированной официальной библиотеки, которая уже включена в пакет;
  • простота языка и т. д.

Примеры кода на Python для Raspberry

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

Примеры кода на Python для Raspberry

Вместо этого будет рассмотрено, насколько легко можно программировать "Малину". Для примера возьмем Raspberry Pi 3 GPIO программирование. Сделаем предположение, что в наличии имеется все необходимое: провода, светодиод, резистор и прочее, а также присутствует понимание распиновки – нумерации пинов. Также предположим, что светодиод подключен к 11 порту.

Написанный ниже код включает лампочку на 5 секунд, а затем выключает ее:

import RPi.GPIO as GPIO

Указанный код можно скопировать, вставить в документ и сохранить его с расширением .py, расположив, например, в домашней директории. Затем его нужно запустить командой: python

Если все работает, то оборудование исправно.

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

Управление электроприборами через Raspberry Pi

Программирование на других языках под Raspberry

Программирование на C для Raspberry Pi или на других языках программирования почти ничем не отличается от того, что предполагает написание кода под другими платформами. Единственное – необходимы специальные библиотеки.

Библиотека WiringPi для работы с GPIO

Если интересует Raspberry Pi программирование на C/С++ и работа с GPIO, то требуется установить в систему непосредственно сам gcc, а затем библиотеку wiringPi – ее можно найти на GitHub. В описании к ней присутствует мануал по использованию.

Следует отметить, что для установки библиотек из GitHub, требуется утилита GIT. Если в системе ее нет, понадобится поставить из репозитория (полное имя: git-core).

Программирование "Малины" при помощи Java

Желающие программировать Raspberry Pi на Java, должны обратить внимание на Pi4J – библиотеку, которая предназначена специально для работы с "Малиной". Загрузить и узнать о ее особенностях можно на официальном сайте проекта.

Программирование Raspberry Pi для детей

Интересно то, что изначально "Малина" разрабатывалась непосредственно для обучения детей программированию. Создатель этого устройства заметил, что уровень понимания функционирования компьютеров у современных студентов значительно ниже, чем у тех, кто учился в 90-х. Он связал это с тем, что вычислительные устройства стали предельно просты: если раньше увлеченным электроникой детям и подросткам приходилось разбираться в командах терминала и даже самостоятельно писать код, теперь все делается посредством нажатия на пару кнопок.

Программирование Raspberry Pi для детей

Поэтому, естественно, предусмотрено визуальное программирование Raspberry Pi. В частности, для этого применяется язык Scratch со специальным сервером – GPIOSERVER. В Сети существует множество мануалов, которые помогают освоиться с соответствующими программами, поэтому рассматривать их смысла нет.

Перечисленными языками не ограничиваются возможности "Малинки". С ней можно взаимодействовать в том числе и при помощи PHP, Ruby, Perl и прочих ЯП. Почти под каждый популярный язык существуют хоть и не официальные, но зато рабочие и достаточно функциональные библиотеки. Однако опять следует упомянуть, что лучше для программирования Raspberry использовать именно "Пайтон".

Петя 2020-09-08 10:53:43

А Дмитрий не понимает рофлов ;)

Дмитрий 2020-04-17 20:47:34

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

Егор 2020-02-02 14:12:12

ваще классна! научился програмировать и взломал пинтагон! рибята саветую этат сайт!11

На Raspberry Pi установлена операционная система Linux (Debian), рекомендации по разработке на C++ для Raspberry будут применимы к любой другой машине на базе Linux и наоборот.

Для разработки кода C++ на Raspberry Pi мы выбрали IDE Geany. Это легкое IDE с открытым исходным кодом , которое при этом установлено в операционной системе Raspbian (Raspberry OS) по умолчанию.

В качестве IDE можно использовать любые редакторы текста и кода Linux: VIM, Nano и т.п. Однако, тогда придется вручную компилировать и выполнять код в терминале (тема отдельной инструкции)

Установка Geany на Raspberry Pi

По умолчанию на Raspberry OS установлен Geany, но возможна ситуация когда его удалили вручную или была установлена обрезаная версия операционной системы Raspberry OS.

Geany можно легко установить через терминал из репозитория следующей командой.

установка geany через терминал

Рис. 1 Установка Geany через терминал

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

Запуск Geany

После установки запустить Geany можно через меню или через терминал.

geany в меню raspberry os

Рис. 2 Geany в меню Raspberry OS

Написание кода, компиляция и запуск программы

Написание кода в Geany

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

Когда вы укажите расширение файла и сохраните его Geany автоматически подсветит синтаксис (функции, строки, методы) языка C++.

работа с С++ в Geany

Рис. 3 Работа с C++ в Geany

Компиляция

Запуск

Рис. 4 Кнопки компиляции и запуска кода в Geany

В качестве теста мы запустили игру крестики-нолики, написанную на C++. Как видно, все работает без ошибок.

Читайте также: