Программы для Raspberry Pi. Установка ОС Rasbian

Бытовая техника 02.05.2019
Бытовая техника

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


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




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


2. Сделай свой собственный корпус для Pi




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

3. Смотрим видео с Raspberry Pi




Теперь, когда ваш Pi находится в красивом корпусе, самое время подключить его к телевизору и смотреть медиа-контент с помощью ОС OpenELEC. Изучив инструкцию , вы сможете настроить всё в кратчайшие сроки.


4. Мини веб-браузер




Поскольку ваш Raspberry Pi подключен к телевизору, то почему бы не посерфить в сети на большом экране? Для этих целей вам нужно что-нибудь получше Midori, поэтому попробуйте Chromium. Просто зайдите в терминал, наберите sudo apt- get install chromium-browser и нажмите Enter.


5. ZX Spectrum Pi




ZX Spectrum получил вторую жизнь внутри Raspberry Pi. Для эмуляции этой 8-битной прелести напечатайте в терминале sudo apt-get install fuse-emulator-common и нажмите Enter. Введите «y» для подстверждения скачивания и установки.


После того, как Fuse будет установлен, и вы вернетесь к командной строке, напишите sudo apt-get install spectrum-roms fuse-emulator-utils и нажмите Enter. И затем, снова вернувшись к командной строке, напечатайте sudo amixer cset numid=3 2 и щелкнитеEnter.





Если Spectrum пробудил ваш аппетит к олдскулу, то оцените проект RetroPie. С помощью него вы можете эмулировать сокровища таких старых консолей, как SNES, Mega Drive и других подобных. Установка выполняется не слишком быстро, но результат того стоит. Следуйте этим инструкциям , и у вас все получится. можно бесплатно скачать классические игры.






8. Windows 3.0 на Pi




Раз уж мы начали говорить о ретро, то можно попробовать запустить DOS 6.22 и Windows 3.0 с помощью QEMU. Для начала посетите Kirsle и извлеките образ VirtualBox (VDI), затем, воспользовавшись VirtualBox, конвертируйте VDI в IMG, напечатав vboxmanage clonehd "image.vdi" "image.img" --format RAW (вместо image введите название вашего образа).


Далее инсталлируйте QEMU, прописав sudo apt-get install qemu . Затем конвертируйте исходный образ в образ QEMU qcow, напечатав qemu- img convert -f raw image.img -O qcow2 image.qcow . Наконец запустите образ, введя qemu image.qcow . Все это, конечно, далеко от совершенства и имеет тенденцию к подвисанию, но все же забавная штука!


9. Робототехника



Роботы — это прикольно, за исключением, наверно, тех, которые пытаются убить всех человеков. Существует множество проектов, связанных с робототехникой. В электронном журнале MagPi (со стр. 9) приводится описание, как сделать роборуку, приводимую в движение с помощью Raspberry Pi.


10. Еще про роботов



Поскольку мы затронули тему про роботов, то есть еще один замечательный проект , предполагающий совместное использование платформы Big Track и Raspberry Pi.


11. Обучение программированию


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





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





Хотя вы с помощью эмулятора можете играть в игры, предназначенные для Spectrum, программирование на языке BASIC через эмулятор не представляет собой то же самое. В таком случае воспользуйтесь SpecBAS , являющегося ремейком Sinclair BASIC.





Raspberry Pi мал да удал! Он представляет собой превосходный хакерский инструмент. Попробуйте запустить на нем проверочную систему обхода безопасности .


15. Firefox OS на Pi





16. RISC OS для Pi




Если вы тоскуете по прошлому, тогда попробуйте запустить RISC OS на своемRaspberry Pi. Файлы и полная инструкция находятся .


17. Клавиатура из алюминиевых банок




Клавиатура из пивных банок? Есть и такая! Команда Robofun подключила плату Arduinoвместе 40 алюминиевыми банками к Raspberry Pi. Посмотреть на это можно .


18. Сервер BitTorrent




Если вы частый гость различных торрент-сайтов, так почему бы не создать специальную торрент-машину? Просто подключите ее к своему роутеру и оставьте ее делать свое дело. Документацию, скрипты и файлы можно найти на snapdragon:IT blog .


19. Облачный сервер




Хотите организовать свой облачный сервер? Благодаря OwnCloud вы сможете это сделать. Следуйте инструкциям и настройте скрипт с petRockBlog . И в кратчайшие сроки вы станете облачным провайдером.


20. Беспилотник на Raspberry Pi




Это блестящая концепция — БПЛА на Raspberry Pi. Только подумайте о возможностях! Данное творение Maggie представляет собой, возможно, первый квадрокоптер на основеRaspberry Pi.


21. Погодная станция




Позволит создать прекрасный школьный проект — погодную станцию на Raspberry Pi. Используя погодную станцию с USB компании Maplin этот миникомпьютер может регистрировать всю необходимую информацию.


22. 10-дюймовый сенсорный экран




Используя 10-дюймовый сенсорный экран и преобразователь HDMI-LVDS, вы можете сделать тачскрин с Raspberry Pi. Полный набор может быть куплен на Chalkboard Electronics и затем собран, как в ролике ниже.



23. Домашняя автоматика








Любители игры Minecraft, ликуйте! Она доступна и на Raspberry Pi .





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


Перевод сайт





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

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

Установка и настройка Python на Raspbian

Python – один из самых известных и используемых языков программирования. Изначально язык Python должен был выступать в роли основного языка программирования для Raspberry Pi. В микрокомпьютере Raspberry Pi он используется для работы с датчиками через GPIO при помощи специальной библиотеки. Пакет Python уже установлен в операционной системе Raspbian в двух версиях – 2 и 3. Каждый элемент в системе Raspbian перед именем имеют приставку «python-».

Установка и инсталляция пакетов выполняются с помощью утилиты apt либо pip.

Установить пакет утилитой apt можно при помощи команд:

sudo apt-get update

sudo apt-get install python3-picamera

Это один из лучших методов установки программного обеспечения. Благодаря такой установке программы можно легко обновить до последней версии – для этого используются команды sudo apt-get update и sudo apt-get upgrade.

Удалить ненужные элементы можно, запустив команду sudo apt-get remove python3-rpi.gpio.

Полное удаление можно произвести, добавив к команде окончание –purge:

sudo apt-get remove python3-rpi.gpio –purge.

Установка пакетов через PIP. Этот инструмент нужно тогда, когда невозможно найти нужный пакет или его последнюю версию. В это случае установка проводится через PyPI – каталог пакетов Python. Установка так же не вызывает трудностей, как и в предыдущем случае. Сначала нужно установить пакет через apt:

sudo apt-get install python3-pip (на примере третьей версии)

Команда pip-3.2 устанавливает нужные документы и файлы для python. Например, установить любую библиотеку можно следующим образом:

pip-3.2 install library

Удалить – с помощью команды

pip-3.2 uninstall.

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

Установка библиотеки RPi.GPIO

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

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

Архив будет загружен в папку загрузки по адресу /home/pi/Downloads. Нужно зайти в нее, найти скачанный архив, нажать правую кнопку мыши и выбрать во всплывающем меню Extract Here.

Эта команда разархивирует библиотеку в папку, в которую помещен архив. Рядом с ним будет добавлена новая папка с названием RPi.GPIO-0.6.3.

Следующим шагом нужно установить python-dev. Запускается терминал и в него вводится команда

sudo apt-get install python-dev

Будет задан вопрос «Do you want to continue? », нужно нажать «Yes» и Enter.

В окне высветится отчет, который сообщает об успешно проведенной установке.

Чтобы установить библиотеку RPi.GPIO, нужно не закрывая перейти в папку, которая была распакована до этого.

cd /home/pi/Downloads/RPi.GPIO-0.6.3

Затем нужно запустить команду:

python setup.py build

На экране появится отчет о выполнении.

После этого нужно запустить установку библиотеки с помощью команды

sudo python setup.py install

После успешной установки на экране появится новый отчет.

Библиотека установлена, можно начинать работать.

Помимо вышеописанной библиотеки RPi.GPIO существуют и другие. Для доступа к GPIO контактам используется также библиотека WiringPi. Эта библиотека написана на языке C, используется в средах C, C++ и RTB (BASIC) и других. Она создавалась схожей с библиотекой Wiring на Ардуино.

Для программирования и настройки контактов вместе с библиотекой используется утилита gpio для командной строки. Она позволяет записывать и считывать данных с портов и управлять ими.

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



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


Помимо быстрого исполнения кода Python обладает другими преимуществами, не свойственными большинству интерпретируемых языков. Например, в Python вам не нужно явно указывать тип переменной (число, строка, список). Интерпретатор определяет типы данных при выполнении скрипта. Интерпретатор Python может работать двумя способами: как интерактивная оболочка для выполнения отдельных команд или в качестве программы с командной строкой для выполнения автономных скриптов. Интегрированная среда разработки (IDE) Python для Raspberry Pi называется IDLE и с ней мы будем работать.


Для запуска этой среды кликните дважды на иконке IDLE 3 на рабочем столе, либо в нижнем левом углу нажмите на меню и выберете Programming→IDLE 3. Через несколько секунд появится оболочка Python Shell. Чтобы начать написание новой программы на Python, выберете File→New Window, после чего откроется новое окно редактора код.



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



Если вы знакомы с программированием на Arduino, то сможете заметить, что концепция написания программ в чем-то схожа. Здесь также есть раздел настроек (setup) и бесконечный цикл (loop), который в данном случае организуется через while True. Оператор % дает остаток от деления. При написании программы следите за отступами, поскольку Python является высокоструктурированным языком, и отступы здесь четко определяют структуру.


Чтобы запустить программу, выберете Run Module и придумайте название для вашего скрипта. Чтобы выйти из программы, закольцованной в бесконечный цикл, нажмите Ctrl-C. Также вы можете организовать не бесконечный цикл, а, скажем, цикл со счетом до 100. Для этого используйте код, приведенный ниже.



Для более функционального программирования на Python вам стоит научиться пользоваться функциями. Функции в Python определяются через оператор def. В примере, приведенном ниже, мы организуем функцию настройки setup() и функцию бесконечного цикла loop(), а затем вызовем их в основном теле нашей программы.



Как вы теперь видите, программировать на Python очень просто. Изучите этот язык программирования лучше и сможете создавать потрясающие программы на Raspberry Pi.

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

В чем подвох?

На первый взгляд задача кажется тривиальной: скачиваем keil, создаем проект… Но все не так просто. Все среды программирования(keil, IAR, Atolic) поддерживают максимум ARM9.У нас же ARM11. Это связано с негласным правилом, что на голом железе пишут до ARM9, а после на Линуксе. Но все-таки есть одна лазейка: arm-none-eabi-gcc поддерживает любой ARM.
Вторая проблема заключается в том, что под данный процессор(BCM2835) нет никаких конфигурационных файлов, header"ов и т.д. Здесь нам на помощь придет загрузчик Raspberry Pi. И ничего, что он пропритетарный. Он выполняет две функции: инициализирует процессор и его периферию, а также передает управление ядру kernel.img. Мы просто замаскируем свою программу под ядро и загрузчик её запустит.

Что нам понадобится?

1) Сама Raspberry Pi, карта памяти к ней и питание.
2) Даташит на процессор
3) Компьютер с установленным Linux (но может быть можно и на Винде. Не знаю, не пробовал).
4) Кросскомпилятор, установленный на компьютере из пункта 3. Я использую arm-none-eabi-gcc
5) Содержимое этой папочки.

Приготовления.

Нам нужно отформатировать карту памяти в FAT16 и закинуть на нее содержимое этой папки . Это загрузчик плюс ядро. Затем удаляем оттуда файлы kernel.img и kernel_emergency.img. Это ядро Linux, а оно нам не нужно.

Первая программа.

Теперь мы можем приступить к написанию первой программы. Создаем файл main.c и пишем следующий код
int main (void) { while(1) { } } void exit (void) { while(1) { } }
Как видите, эта программа ничего не делает. Функция exit зачем-то нужна компилятору.
Теперь соберем её.
arm-none-eabi-gcc -O2 -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles main.c -o kernel.elf
arm-none-eabi-objcopy kernel.elf -O binary kernel.img

Полученный файл kernel.img кидаем на карту памяти. Готово!

GPIO

Вряд ли Вас устроит программа, которая не будет делать абсолютно ничего. Сейчас попробуем зажечь лампочку.
Для начала объявим адрес, по которому лежит GPIO(это можно прочитать в даташите).
#define GPIO_BASE 0x20200000UL

И объявим переменную, которая определяют, что порт настроен на выход (GPIO_GPFSEL1) и переменную, подающую низкий уровень(то есть лампочка горит) на порт (GPIO_GPCLR0).
#define GPIO_GPFSEL1 1
#define GPIO_GPCLR0 10

Ну и наконец модифицируем главную функцию для зажигания лампочки:
volatile unsigned int* gpio; int main(void) { gpio = (unsigned int*)GPIO_BASE; gpio |= (1 << 16); gpio = (1 << 16); while(1) { } }

Собираем, прошиваем и радуемся.

В следующей части попробуем поиграться с таймерами и прерываниями.

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

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

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

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

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

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

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

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

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

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

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

# вначале подключим необходимую библиотеку

import RPi.GPIO as GPIO

# также понадобится библиотека, которая отвечает за ожидание (она нужна, чтобы установить интервал включения и выключения лампочки)

# чтобы запустить GPIO, понадобится выполнить следующую функцию

GPIO.setmode(GPIO.BOARD)

# теперь Python знает о GPIO, и ему можно указать на то, с каким портом нужно будет работать и что он должен делать (в данном случае - 11-м и он будет работать на выход)

GPIO.output(11, 1)

# теперь выключим (0 - значит false)

GPIO.output(11, 0)

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

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

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

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

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

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

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

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

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

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

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

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

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



Рекомендуем почитать

Наверх