Приложение Маяки Эстонии

Шпаргалка по Raspberry Pi

3 Февраля

Так получилось, что нежданно-негаданно я стал обладателем Raspberry Pi Model B+. Отличный повод познакомиться. Правда, если учесть, что опыт общения с Debian или даже Linux у меня нулевой, знакомство это обещало быть неспешным и тернистым. Необходимые мне вещи я искал по мере надобности, так и появился этот материал. Сразу поясню, что, в первую очередь, это шпаргалка для самого себя и уже во вторую - некий "малиновый дневник".

Не буду останавливаться на установке ОС и первичной настройке, мануалов на эту тему уйма. Скажу лишь, что сам я "устанавливался" с NOOBS - необыкновенные простота и удобство. Лучше сразу перейду к самым используемым командам.

Наиболее используемые команды #Обновление ОС (по окончании обязательно перезагрузиться)
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

#Перезагрузка устройства
sudo reboot

#Выключение устройства
sudo shutdown -h now

#Узнать IP-адрес
hostname -I

#Вызвать меню настроек
sudo raspi-config

#Запустить графическую оболочку LXDE
startx

Установка и удаление программ

Наиболее простой способ установки - APT (Advanced Packaging Tool). Для установки какой-либо программы надо набрать следующую команду:

sudo apt-get install имя_программы

ОС получит данные о программе, выведет сообщение о том, сколько места та займёт на карте памяти и попросит подтверждения перед установкой. Если после имени программы добавить ключ -y, то установка пройдёт в "тихом" режиме, не ожидая подтверждения от пользователя.

Удаление программ аналогично установке:

sudo apt-get remove имя_программы

В этом случае тоже можно использовать ключ -y. Кроме того, ОС может выполнять автоматическое удаление "хвостов" в виде неиспользуемых пакетов и их зависимостей. Выполнять эти команды рекомендуется регулярно.

sudo apt-get autoclean
sudo apt-get autoremove
Питание

Питание Raspberry Pi Model B+ осуществляется через разъём micro-USB. Нюанс в том, что рекомендуемая сила - не менее 1,2А. В теории хватает и 0,5А, но без USB-устройств. То есть даже WiFi-адаптер не подключить. Следовательно, если использовать адаптер или powerbank, надо смотреть на выдаваемую ими силу тока. Но запитать от компьютера кабелем "USB to Micro-USB" не получится. Выход есть в виде такого кабеля:

Надо подключить его к GIPO: красный провод на 2-й контакт и чёрный - на 6-й (фото ниже).

Настройка WiFi

Для работы с WiFi я использую приложение wicd. Устанавливаем (нужен "кабельный" интернет)

sudo apt-get install -y wicd-curses

затем запускаем

sudo wicd-curses

Выбираем нужную сеть и настраиваем подключение (стрелка вправо). Важно не забыть поставить галочки на пунктах Use static IPs и Automatically connect to this network.

Поддержка кириллицы

Перво-наперво надо в настройках Raspberry Pi (пункт меню Internationalisation Options -> Change locale) выставить поддержку кодировок en_GD.UTF-8 и ru_RU.UTF-8. Далее вводим в терминале:

sudo apt-get install console-cyrillic
sudo dpkg-reconfigure -plow console-cyrillic

Откроется диалог настройки. В первом окне ничего не меняйте, дальше - по своему вкусу: клавиши переключения языков, кодировку (выбирайте UNICODE), шрифт и его размер.

Настройка звука

Перед тем, как что-то мудрить со звуком, убедитесь что у вас всё правильно подключено и громкость на телевизоре или колонках не на минимуме. Дело в том, что в новых версиях Raspbian звуковые драйвера уже включены и возможно у вас просто не на тот разъём поступает сигнал. Сделайте тест, как описано во третьем пункте. Если звука нет - настройте аудиовыход и повторите тест. Если же звука по-прежнему нет, установите драйвер.

  • Установка

    Устанавливаем драйвер:

    sudo apt-get install alsa-utils -y
    sudo modprobe snd-bcm2835

    Теперь надо добавить драйвер в автозагрузку. Для этого открываем файл автозагрузки:

    sudo nano /etc/modules

    Добавляем в конец файла следующую строку:

    snd-bcm2835
  • Выбор аудиовыхода

    Дальше надо сказать системе на какой из разъёмов подавать звук. Для этого необходимо ввести следующую команду, где n номер разъёма: n=0 — автоматический режим, n=1 — наушники, n=2 — hdmi.

    sudo amixer cset numid=3 n
  • Проверка звука

    Перезагружаемся и проверяем звук:

    sudo aplay /usr/share/sounds/alsa/Front_Center.wav

    Если вы используете hdmi, возможно, что звука нет. В таком случае открываем конфигурационный файл

    sudo nano /boot/config.txt

    И добавляем туда следующую строку:

    hdmi_drive=2
Автологин

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

sudo nano /etc/inittab

Ищем там следующую строку, начинающуюся с 1:2345:respawn:/sbin/getty... и комментируем (ставим символ # в начале). Сразу под ней вставляем следующую строку:

1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1

Сохраняем, выходим.

Добавление программ в автозагрузку

Всё предельно просто: открываем для редактирования файл автозагрузки и добавляем в конце нужную команду. Если необходимо чтобы программа работала в фоновом режиме, добавляем в конце строки символ & (через пробел).

sudo nano /etc/profile
Добавление программ в автозагрузку LXDE

Все программы, запускаемые вместе с LXDE прописаны в двух файлах:

~/.config/lxsession/LXDE/autostart
/etc/xdg/lxsession/LXDE/autostart

Второй файл содержит список программ или команд, которые будут запущены в любом случае, независимо от того, какой пользователь зашёл в систему. Сам я работал только с ним, так как первого файла у меня не было. Для начала открываем файл в редакторе (можно и из LXDE):

sudo nano /etc/xdg/lxsession/LXDE/autostart

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

Пара полезных ссылок:

Подключение внешнего диска или флэшки

К Raspberry Pi можно без проблем подключить как внешний жесткий диск, так и флэшку. Правда, в случае с внешним диском надо понимать, что питания от Raspberry Pi ему не хватит и надо либо подключать через USB hub с отдельным питанием, либо использовать диск с дополнительным питанием. Что ещё приятнее, подключаемый диск может использовать любую из наиболее популярных файловых систем. Я, например, использую FAT32, так как мой настольный компьютер под Windows и мне так удобнее. Подключение происходит утилитой mount, но перед тем, как приступать к монтированию, создадим папку, куда именно будет монтироваться наш диск и зададим ей права на чтение и запись:

sudo mkdir /media/usb
sudo chown -R pi:pi /media/usb

Ручное подключение/отключение

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

sudo mount /dev/sda1 /media/usb -o uid=pi,gid=pi -t vfat

Последний ключ -t vfat указывает, что файловая система - FAT32. Для других файловых систем есть следующие варианты: EXT3 - ext3, EXT4 - ext4 и для NTFS - ntfs-3g. Правда, с NTFS есть такой нюанс, что стандартно эта файловая система не распознаётся и для работы с ней надо заранее установить специальное приложение:

sudo apt-get install ntfs-3g

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

sudo umount /media/usb

Автоматическое подключение/отключение

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

ls -l /dev/disk/by-uuid/

Появится список всех устройств вывода.

Нас интересует строка, заканчивающаяся на /sda. На примере выше UUID - 18A9-9943. Теперь открываем для редактирования файл:

sudo nano /etc/fstab

И добавляем там следующую строку, но со своим UUID и файловой системой (если она не FAT32):

UUID=18A9-9943 /media/usb vfat auto,users,rw,uid=pi,gid=pi 0 0

После перезагрузки диск подключится автоматически. Отключение делается, как и при ручном подключении.

Если что-то не получается или просто лень, можно установить специальное приложение:

sudo apt-get install usbmount

Приложение будет само автоматически подключать/отключать диски, но только в режиме чтения. Чтобы ещё и записывать на них, надо открыть файл настроек:

sudo nano /etc/usbmount/usbmount.conf

и заменить там строку

MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"

на строку

MOUNTOPTIONS="rw,sync,noexec,nodev,noatime,nodiratime"
Автозагрузка веб-сайта на полный экран в LXDE

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

Для начала устанавливаем браузер:

sudo apt-get install chromium-browser -y

Также рекомендуется установить пакет шрифтов:

sudo apt-get install ttf-mscorefonts-installer -y

Далее открываем файл автозагрузки (подробнее это было описано выше) и делаем там следующие изменения:

  • отключаем скринсейвер, для этого надо закомментировать (поставить символ # в начале строки) следующую строку: @xscreensaver -no-splash
  • отключаем выключение экрана при бездействии: @xset s off
    @xset -dpms
    @xset s noblank
  • отключаем сообщение об ошибке при неправильном выключении устройства: @sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
  • собственно, запускаем браузер в режиме kiosk с отключением сообщений об ошибках и с нужной нам страницей: @chromium --noerrdialogs --kiosk http://newkamikaze.com Если нужно открыть сайт в режиме инкогнито, то после адреса сайта через пробел надо добавить --incognito
Системные мониторы

Conky

Есть весьма интересная программа, которая может отображать такую системную информацию, как загруженность процессора, использование памяти, температуру устройства, параметры WiFi-подключения и т.д. Называется программа Conky и работает только под LXDE. Устанавливается программа так:

sudo apt-get install conky-std

Дальше можно настроить внешний вид и содержание окна программы. Для этого надо открыть файл~/.conkyrc (через Leafpad или с терминала) и изменить настройки под себя.

Можно так же прописать программу в автозагрузку. Для этого надо добавить следующую строку в файл автозагрузки (подробнее это было описано выше):

@conky

htop

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

sudo apt-get install htop -y

Ну а запуск осуществляется следующей командой:

htop
Работа с Dropbox

Облачные хранилища данных - вещь весьма удобная. Вдвойне удобно было бы "подружить" с ними Raspberry Pi. В данном случае "дружить" будем с Dropbox`ом. Для этого есть два приложения:  Dropbox-Uploader и  Drop2PI. Я остановил свой выбор на первом из них. В любом случае, независимо от вашего выбора, перед началом установки необходимо создать приложение на странице разработчиков. Там вы укажете какие права получит приложение и получите уникальный и секретный ключи (App key и App secret). Теперь установим Dropbox-Uploader и сразу же запустим его для первоначальной настройки:

git clone https://github.com/andreafabrizi/Dropbox-Uploader/
cd Dropbox-Uploader
chmod +x dropbox_uploader.sh
./dropbox_uploader.sh

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

sudo ln -s ~/Dropbox-Uploader/dropbox_uploader.sh /usr/local/bin/dropbox

Теперь приложение вызывается командой dropbox. Ниже пара примеров команд для скачивания файла и папки в текущую директорию:

dropbox download python.pdf
dropbox download "/Favorite music/Justin Bieber/" "god/"

Знатно накомментили:

Алексей
2019-09-12 18:49:06
Спасбо огромнейшее за совет по автозагрузке!!! С третьей малинкой мучался весь день, и вот оно - счастье!
Андрей
2018-04-14 15:38:08
Здравствуй!
Звуковой драйвер не устанавливается, пишет, что уже есть.
После выполнения команды: -"sudo amixer cset numid=3 1" получаю ответ: "amixer: Control default open error: No such file or directory"
Звука так и нет... (т.е. он раньше был, но без видимых причин исчез)
Как быть?
Nikola
2017-12-13 08:21:08
Привет.
А насколько это актуально для Рапсберри Pi 3?
Там же уже вай-фай модуль стоит.
Lentyay
2017-12-13 09:31:55
Нет. Для всего, что было после второй модели (зеро, третья) это не актуально.
raspi
2016-10-31 23:32:23
В команде
sudo nano /etc/ustmount/usbmount.conf
поправь путь на /etc/usbmount/usbmount.conf
Lentyay
2016-11-01 09:21:10
Спасибо, исправил.
Knave
2016-08-31 22:07:42
Редактирование sudo nano /etc/profile поволит запускать программу ТОЛЬКО после логирования в системе.

Если надо сделать автозапускать без необходимости логиниться, то надо редактировать файл /etc/rc.local
sudo nano /etc/rc.local
TheBlack
2019-04-26 15:46:07
У меня вообще малинка загружаться перестала после редактирования, чёрный экран после сплеша и всё.
yu
2020-01-30 21:04:17
То же самое ) знаете ли вы решение проблемы?
yu
2020-01-30 22:24:10
Нашел решение. Нужно стереть созданный файл атвозагрузки. Проблема в нем. На черном экране нажимаем ctrl+alt+T запускается терминал, далее командой rm стираем накосяченый файл: rm .config/lxsession/LXDE-pi/autostart - ввод Система спросит, а в своем ли вы уме? надо нажать Y затем пишем в териминале: reboot и ввод
FIS
2016-02-03 14:38:06
Все это кончено замечательно но с родного браузера малинки сайт невозможно прочесть.
U
2015-05-31 13:11:21
Отличная шпаргалка! Спасибо.
Когда что требуется - находишь, используешь, забываешь. Потом часто повторно приходится копать в И-нете. Я Вас запомню. :))

Оставить комментарий

Цитировать
в комментарии