Raspberry PI (на русском)

Site: TalTech Moodle
Course: Arukate süsteemide elementide projekteerimine ja väljatöötamine (Virumaa)
Book: Raspberry PI (на русском)
Printed by: Guest user
Date: Friday, 22 November 2024, 9:21 AM

Description


1. Знакомство с Raspberry PI


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

Одна из главных и привлекательных особенностей Raspberry Pi — наличие на плате аппаратных портов ввода/вывода GPIO, которые открывают перспективы использования его в робототехнических проектах и устройствах «умного дома».

Характеристики модели Raspberry PI 3 В+:

Процессор
Производитель процессора
Broadcom
Модель процессора
BCM2837
Количество ядер процессора
4
Частота процессора
1400 МГц
Оперативная память
Тип оперативной памяти
LPDDR2
Размер оперативной памяти
1 Гб
Накопители данных
Объем встроенной флеш-памяти
нет
Интерфейсы, разъемы
Видео интерфейсы
HDMI
Интерфейсы периферии
display serial interface, camera serial interface, USB 2.0 x4
Коммуникации
Вид доступа в Интернет
Wi-Fi, Ethernet (RJ-45)
Скорость сетевого адаптера
1000 Мбит/с
Программное обеспечение
Установленная операционная система
без ОС
Дополнительная информация
Дополнительное встроенное оборудование
микро-SD слот, Bluetooth 4.2
Габариты
Длина
85 мм
Ширина
56 мм

Включение Raspberry PI и вход в систему

Для работы с Raspberry PI потребуется клавиатура и мышь с USB интерфейсом. Необходимо подключить эти устройства к двум доступным USB портам Raspberry PI.

Также потребуется вставить флеш карту с операционной системой в соответствующий разъем, который отмечен на схеме устройства как “SD Card”. На флеш карте, установмте операционную систему Raspbian на базе Linux Debian

При использовании внешнего дисплея с VGA интерфейсом, необходимо сначала подключить VGA кабель дисплея к переходнику HDMI­-VGA, а затем присоединить этот переходник к HDMI порту Raspberry PI.

Для подключения питания к Raspberry PI достаточно присоединить кабель блока питания к micro­USB разъему, а затем включить блок питания в сеть. Для надежной работы платы блок питания должен быть стабилизированным и выдавать 5 В при токе не менее 1 А.

После включения устройства в сеть, на дисплее отобразится информация о загрузке ОС в оперативную память. По завершению загрузки появится рабочий стол.
raspbian

Raspbian

Для Raspberry Pi 3 операционные системы существуют самые разные. Это связано с тем, что процессор данного компьютера построен на архитектуре ARM, для которого создано огромное количество дистрибутивов. Но что еще важно – в ядре Linux уже давно есть поддержка оборудования, включенного в RPi. При желании на RPi3 возможно инсталлировать в том числе и Android, и даже Windows 10 IoT.

Но наиболее популярной ОС для Raspberry 3 является Raspbian. Она основана на популярном дистрибутиве Debian. Её отличительная особенность заключается в том, что в ней "из коробки" существует почти полная поддержка Raspberry PI. Так, уже после её установки пользователю доступен Python и модуль для работы с GPIO.

Установка операционной системы на Raspberry Pi 3 – это процесс не трудный. Для этого понадобится следующее:

  • сам Raspberry PI;
  • образ операционной системы для Raspberry Pi 3;
  • карта памяти на 8 гигабайт;
  • компьютер и специальное ПО на нём.

    Инсталлировать системы на RPi3 можно несколькими способами. Если нужно две ОС на Raspberry Pi 3, тогда рекомендуется использовать утилиту NOOBS.

    Процесс установки Raspbian см. raspberrypi.org или raspbian.org

    Видео:


    Удаленное управление Raspberry Pi

    Можно настроить удаленное управление Raspberry Pi, отсоединитв от микрокомпьютера мышь, клавиатуру и монитор. А затем просто подключаться к Raspberry PI со своего основного компьютера.

    SSH (Secure Shell) — сетевой протокол, позволяющий производить удаленное управление операционной системой через шифрованное соединение, а также передавать файлы, транслировать видео- и аудиопотоки...  Через SSH можно запустить на компьютере терминал для выполнения консольных команд на другом компьютере.

    VNC (Virtual Network Computing) — более продвинутый протокол, обеспечивающий удаленный доступ к рабочему столу другого компьютера по сети.

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

    В отличие от SSH, по VNC предоставляется доступ не только к консоли, но ко всему компьютеру, включая графический интерфейс.

    Как настроить с помощью SSH и VNC

    Как нвстроить с помощью XRDP



    2. GPIO

    Аббревиатура GPIO с английского расшифровывается как: General Purpose Input/Output — интерфейс, который содержит Входы и Выходы общего назначения, к которым можно подключать разнообразные исполнительные устройства, датчики, дисплеи, контроллеры, разные модули и разную периферию.

    NB! GPIO подключены напрямую к процессору, и неграмотное подключение может повредить сам процессор.

    Raspberry Pi 3 не имеет аналоговых входов/выходов.

    gpio

    Особенности работы с GPIO

    • Максимальный суммарный ток обоих выводов 3,3В равен 50 мА, напрямую можно подключать устройства только с током потребления меньше 50 мА.
    • Максимальный суммарный ток обоих выводов 5В равен 300 мА.
    • На выводы GPIO нельзя подавать напряжение выше 3,3В - можно спалить вход или весь процессор.
    • Выводы 14 и 15 по умолчанию выполняют альтернативную функцию и являются выводами UART (RXD и TXD), поэтому при включении на них присутствует высокий уровень 3,3В.
    • Все настраиваемые выводы GPIO (кроме SDA и SCL) по умолчанию являются входами и поэтому имеют высокое сопротивление

    RPi.GPIO

    Для работы с GPIO на Python нужна специальная библиотека RPi.GPIO. Ее можно установить прямо с репозиториев, набрав в терминальном окне:
    sudo apt-get install python-rpi.gpio или sudo apt-get install python3-rpi.gpio (для 3-й версии Питон)

    В новом дистрибутиве Raspbian она уже установлена.

    GPIO.BOARD — нумерация портов на плате по порядку
    GPIO.BCM — это более низкий уровень и обращается напрямую к номерам каналов на процессоре

    GPIO.setmode(GPIO.BOARD)
    GPIO.setmode(GPIO.BCM)

    bcm


    Выбирается режим работы пинов (вход или выход):

    GPIO.setup(channel, GPIO.IN)
    GPIO.setup(channel, GPIO.OUT)


    Осуществляют подтяжку вывода к 3,3 В или к земле:
    GPIO.setup(channel,GPIO.IN, GPIO.PUD_UP)
    GPIO.setup(channel,GPIO.IN, GPIO.PUD_DOWN)

    Для выходов можно определить начальное положение: 0 или 1.
    GPIO.setup(channel, GPIO.OUT, GPIO.LOW)
    GPIO.setup(channel, GPIO.OUT, GPIO.HIGH)

    Для того, чтобы прочитать вход, существует такая команда:
    GPIO.input(channel)

    Для того чтобы произвести запись на выход, есть такая команда:
    GPIO.output(channel, state)

    Программа выдаст ошибку при попытке настроить пин, состояние которого не было возвращено в исходное при помощи GPIO.cleanup().

    GPIO.setwarnings(False) # Отключить предупреждения

    GPIO.setwarnings(True) # Включить предупреждения


    3. Breadboard

    Для конструирования и отладки прототипов самых различных устройств используются макетные платы (другое название – беспаечные монтажные платы и breadboard). Они бывают нескольких разновидностей и отличаются по размерам и некоторым другим конструктивным особенностям.

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

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

    Прототипирование (prototyping) - это процесс разработки и тестирования модели вашего будущего устройства. Если вы не знаете как будет себя вести ваше устройство при определенных заданных условиях, лучше сначала создать прототип и проверить его работоспособность.

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

    Преимущества breadboard

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

    Так откуда появилось это название - breadboard? Много лет назад, когда электронные компоненты были большими и неуклюжими, многие "самодельщики" в своих "гаражах" собирали схемы с использованием подставок для нарезки хлеба


    breadboard

    breadboard

    breadboard

    Макетная плата для монтажа без пайки имеет пластиковое основание с множеством отверстий (стандартное расстояние между ними составляет 2,54 мм). Внутри конструкции расположены ряды металлических пластин. На каждой пластине имеются клипсы (5 в ряду), которые спрятаны в пластиковой части установки. Включение проводов выполняется именно в эти клипсы. При подключении проводника к одному из отдельных отверстий, контакт одновременно подключается и ко всем остальным контактам отдельного ряда.

    Некоторые макетные платы включают также по две линии питания с каждой из сторон. Обычно «красная линия» используется для подачи «+» напряжения, «синяя» — для «-».  За счет наличия двух шин питания на плату могут подаваться два различных уровня напряжения.

    Для упрощения ориентации на макетную плату также нанесены цифровые и буквенные обозначения, которыми можно руководствоваться, создавая, например, инструкцию для подключения.

    breadboard3


    Внимание! Беспаечные макетные платы абсолютно недопустимо использовать с напряжением 220В!

    Видео:


    Источники

    https://arduinomaster.ru/platy-arduino/maketnaya-plata-arduino/

    http://arduino-diy.com/arduino-breadboard-kak-ispolzovat


    4. Команды терминального окна

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

    Навигация по файловой системе

    команда pwd показывает рабочую директорию

    ls используется, чтобы показать содержимое директории

    cd переместиться из одной директории в другую.

    mkdir создание новой папка (директория)

    Пример

    touch создать новый файл

    Пример

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

    Пример

    rm удаление файла, после команды через пробел пишется имя удаляемого файла

    Перемещение файлов осуществляется при помощи команды mv:

    По умолчанию в Raspbian и многие другие дистрибутивы Linux встроен простой текстовый редактор под названием nano.

    Чтобы запустить nano, достаточно лишь вписать его название в командной строке.

    Редактор nano поддерживает различные функции вроде сохранения, выхода, поиска и т.д. Горячие клавиши для самых распространенных функций показаны в нижней части экрана (см. рисунок выше). Символ «˄» означает  Ctrl .


    Управление ПО на Raspberry Pi

    ПО для Linux идет в так называемых «пакетах» – программах, которые можно загрузить из интернета и установить, просто написав в терминале небольшую команду.

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

    Дистрибутив Raspbian использует пакетный менеджер под названием apt.

    Чтобы управлять ПО, вам нужно залогиниться администратором (его также называют «суперпользователем»). Для этого в начале команды нужно вписать sudo (это сокращение от «superuser do»).

    sudo apt-get update  - обновить список доступных пакетов и их версий (пакетный менеджер хранит этот список в файловой системе Raspberry). Для использования этой команды необходимо подключение к интернету

    Далее вам нужно обновить ПО, установленное на вашем устройстве, и для этого нужно воспользоваться командой upgrade. Она обновит все установленные пакеты до самых последних версий: sudo apt-get upgrade

    Установка ПО

    Чтобы установить ПО, название которого Вы знаете, в терминал нужно вписать следующую команду:

    sudo apt-get install <название ПО>

    Запуск ПО

    Чтобы запустить программу напрямую из терминала, просто впишите ее название

    pi@raspberry:~ $ python
    Это откроет интерпретатор Python.

    Удаление ПО

    Чтобы удалить ПО с Raspberry Pi

    pi@raspberry:~ $ sudo apt-get remove <название ПО>

    Эта команда не удаляет файлы, связанные с  ПО – вроде логов и конфигурационных файлов. Если Вы не собираетесь использовать их в дальнейшем, то можете воспользоваться командой purge, которая удаляет и само ПО, и вспомогательные файлы:

    pi@raspberry:~ $ sudo apt-get purge <название ПО>

    Не удаляйте пакеты, которые не устанавливали сами. Это могут быть важные пакеты, идущие вместе с операционной системой Linux, и их удаление может привести к падению системы.


    Изменение настроек Raspberry Pi

    pi@raspberry:~ $ sudo raspi-config

    Этот инструмент называется «raspi-config», и он используется для изменения самых распространенных настроек. Некоторым из этих опций нужна перезагрузка. Если Вы поменяли хотя бы одну настройку, то после нажатия на кнопку <Finish> «raspi-config» спросит, нужно ли сделать перезагрузку.

    Инструмент «raspi-config» позволяет менять следующие настройки:

    1. Expand Filesystem – расширение файловой системы
    2. Change User Password – изменения пароля пользователя
    3. Boot Options – выбор интерфейса, который включится при загрузке устройства
    4. Wait for Network at Boot – здесь задается, нужно ли ждать подключения к сети при загрузке ОС
    5. Internationalisation Options – здесь настраиваются часовой пояс, раскладка клавиатуры, язык и региональные настройки
    6. Enable Camera – включение/выключение камера-модуля Raspberry Pi
    7. Add to Rastrack – добавление Raspberry Pi к проекту Rastrack
    8. Overclock – изменение тактовой частоты Raspberry Pi
    9. Advanced Options – дополнительные опции
    10. About raspi-config – информация об инструменте raspi-config

    Отображение информации об аппаратном обеспечении

    cat /proc/cpuinfo             информация о процессоре устройства

    cat /proc/meminfo           отображает подробную информацию о памяти Raspberry Pi

    cat /proc/partitions          показывает размер и количество разделов на Вашей карте SD или HDD

    cat /proc/version             показывает, какую версию Pi Вы используете

    Дополнительная информация может быть получена с помощью ряда команд vcgencmd, которые могут выявить такие вещи, как температуру процессора (vcgencmd measure_temp), vcgencmd get_mem arm && vcgencmd get_mem gpu покажет распределение памяти между процессором и GPU


    Выключение и перезагрузка Raspberry Pi

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

    Поэтому, чтобы выключить Raspberry Pi, просто впишите в терминал следующую команду:

    pi@raspberry:~ $ sudo poweroff

    После этого в терминале должно появиться следующее:

    Чтобы перезагрузить Raspberry Pi, воспользуйтесь следующей командой:

    pi@raspberry:~ $ sudo reboot
    Источник