сайт для палких паяльників

Raspberry Pi – это микрокомпьютер, который неожиданно для его авторов приобрел довольно большую популярность. Выпускается в нескольких версиях, цена примерно $ 40. Несмотря на достаточно маленькие размеры (помещается на ладони) – это настоящий микрокомпьютер, на который устанавливается операционная система и который работает почти как обычный компьютер. “Почти” – так как не шумит 🙂

Raspberry Pi может работать под Windows CE, Debian, Fedora, Gentoo, Arch Linux, RISC OS, AROS или FreeBSD, даже существует Android для Raspberry Pi. Также разработаны ОС основанные на Debian (Raspbian) и Fedora (FedoraRemix, Pidora) оптимизированые под Raspberry Pi.

Поскольку помимо стандартных, присущих компьютеру интерфейсов, Raspberry Pi имеет “ноги” для подключения внешних приборов, это расширяет сферу применения Raspberry Pi в системах автоматизации и при построении других интересных вещей начиная от умного дома и роботизированных систем до автопилотов. Мне дали протестировать Raspberry Pi уже с установленной системой Raspbian. Поскольку я админ FreeBSD, разобраться с клоном Debian проблем не было. Далее все примеры будут для ОС Raspbian.

Хочу сразу заметить, что Raspberry Pi – прежде всего компьютер. А потом уже – плата, к которой можно подключить сенсоры или внешние приборы. Поскольку на Raspberry Pi будет стоять операционная система Raspbian, нужно иметь хотя бы элементарные навыки в управлении Unix-подобных систем из командной строки.
Для тех, кто привык в окошки тыкать мышкой, – будет немного непривычно разбираться.

Первое знакомство

Raspberry Pi Raspberry Pi
Raspberry Pi
RaspberryPi

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

  • Питание – + 5В. через обычный шнур с microUSB. Можно включить в USB компьютера, или использовать зарядное устройство для смартфона;
  • Ethernet – насколько скоростной Ethernet в Raspberry Pi я не выяснял. Для моих целей было достаточно. Может, если фильмы смотреть, то будет и мало;
  • USB – два порта, которые на первое время были заняты клавиатурой и мышкой;
  • HDMI – для подключения к монитору или телевизору;
  • Video – можно подключить к стандартному Video входа любого устройства;
  • Stereo Audio – звуковой выход, можно музычку слушать;
  • Два разъема – один для камеры, а второй для чего – я пока не выяснял;
  • Держатель SD карты. На SD карточку устанавливается операционная система.
  • GPIO – 26 ног для присоединения к ним внешних устройств (датчиков, микросхем, микроконтроллеров и т.д.). Поддерживаются также наиболее популярные протоколы UART, I2C, SPI.

ВНИМАНИЕ! GPIO имеют уровень 3.3 В. Необходимо использовать схемы согласования уровней сигнала даже если периферия имеет сигналы уровня 5В. Я не проверял, но 5В может вывести из строя ноги Raspberry Pi.

Существует несколько видов Raspberry Pi. Я тестировал Raspberry Pi B, новые модели (Raspberry Pi B +) более интересные. Подробнее здесь:
http://www.element14.com/community/community/raspberry-pi/raspberry-pi-bplus?ICID=rpimain-topban-BPlus

Установка операционной системы

Скачиваем здесь http://www.raspberrypi.org/downloads/ образ операционной системы, та заливаем ее на SD картку, выполняя инструкции: http://www.raspberrypi.org/documentation/installation/installing-images/README.md

Первый запуск с Raspbian

Вставляем SD карточку. Подключаем USB клавиатуру, мышь (не обязательно). Подключаем к монитору или к телевизору HDMI кабелем. Подключаем питание через microUSB. Операционная система достаточно быстро загружается. Первый запуск требует некоторой элементарной настройки системы, о чем свидетельствует меню на экране. Я не буду на этом заострять внимание, скажу только, что рекомендую пройти все пункты последовательно. Кстати, можно включить и графический интерфейс. Хотя в дальнейшем планировалось использовать и настраивать Raspberry Pi через SSH консоль, из любопытства я включил GUI. После перезагрузки системы загружается рабочий стол, как в настоящем компьютере :). Я подключил Raspberry Pi к своему домашнему маршрутизатору и в консоли набрал ifconfig. Raspberry Pi уже сам получил IP адрес с DHCP. Запустил браузер, можно полазить в Интернете.

Пароль root

При первом запуске в настройках предлагалось задать пароль для пользователя pi. Но для выполнения некоторых команд прав у этого пользователя недостаточно. Для выполнения таких команд (с повышением прав) используют команду sudo. Но иногда и этого не достаточно, нужно знать пароль пользователя root.

Пароль root меняется командой:

sudo passwd root

Настраиваем статический IP адрес

Динамический IP адрес – это не всегда удобно. Поскольку я планирую подключаться к Raspberry Pi через SSH, нужно знать IP адрес. Сделаем его статическим. Для этого правим файл /etc/network/interfaces используя редактор nano.

Команда:

nano /etc/network/interfaces

Пример файла:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Заменяем на такое:

auto lo

iface lo inet loopback
#iface eth0 inet dhcp

iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

Где:
192.168.1.20 – IP адрес
192.168.1.1 – IP адрес шлюза

После корректировки выполняем команду (из под root)

/etc/init.d/networking restart

Или можна перезагрузить Raspberry Pi командой reboot.

Тепер Raspberry Pi иметь фиксированный IP адрес.

Корректируем /etc/resolv.conf

Кроме настройки IP адреса нужно указать DNS сервер (или несколько DNS серверов). Иначе будут вопросы при доступе в Интернет. Это делается в файле /etc/resolv.conf

Команда:

nano /etc/resolv.conf

Пример файла:

nameserver 192.168.1.1
nameserver 8.8.8.8

Если вы по каким либо причинам не знаете IP адрес DNS сервера, укажите 8.8.8.8 – это адрес халявного DNS сервера Google.

Подключаемся к Raspberry Pi по SSH

С помощью SSH клиента (например PuTTy) подключаемся к Raspberry Pi по уже известноve нам IP адресу. Raspbian (поскольку это наследник Debian) позволяет сразу заходить как root. Как по мне – необычная вольность после FreeBSD. Я не рекомендую работать под пользователем root, особенно начинающим. Лучше заходите под пользователем pi. А если недостаточно прав, используйте sudo. К тому же, из соображений безопасности, лучше отключить возможность подключаться пользователю root по SSH. Вы сможете подключиться под другим пользователем а при необходимости повысить свои полномочия до root командой su.

Для отключения возможности подключаться пользователю root по SSH надо подкорректировать файл /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Найти параметр:

PermitRootLogin yes

и удалить ее или закомментировать. После чего перезапустить SSHD:

sudo service ssh restart

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

NTP клиент

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

Выполняем следующую команду:

sudo raspi-config, select change_timezone

или:

sudo dpkg-reconfigure tzdata

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

Current default time zone: 'Europe/Kiev'
Local time is now: Tue Sep 9 16:23:18 EEST 2014.
Universal Time is now: Tue Sep 9 13:23:18 UTC 2014.

Проверим текущую дату командой:

date

Должны увидеть текущую дату:

Tue Sep  9 09:05:20 EEST 2014

Файл /etc/ntp.conf содержит перечень хостов с которыми нужно синхронизироваться:

# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool:
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

Audio проигрыватели MP3, WAV

Raspberry Pi має Audio вихід. Послухаємо музику. Raspbian має встановлений програвач omxplayer. Програти mp3 файл можна командою:

Raspberry Pi имеет Audio выход. Послушаем музыку. Raspbian имеет проигрыватель omxplayer. Проиграть mp3 файл можно командой:

omxplayer <mp3-file>

Для примера скатаем файл example.mp3

wget http://goo.gl/MOXGX3 -O example.mp3 --no-check-certificate

Запускаем и слушаем:

omxplayer example.mp3

omxplayer позволяет направлять вывод на различные выходы, например на HDMI:

omxplayer -o hdmi example.mp3

Для проигрывания mp3 файлов можно использовать другую программу – mpg321. Установим mpg321:

sudo apt-get -y install mpg321

запускаем воспроизведение:

mpg321 example.mp3

Для воспроизведения и записи аудио файлов также существуют команды arecord, aplay.

Распиновка GPIO

Особенно внимательно изучите распиновку если у вас Raspberry Pi B. Raspberry Pi B было два варианта: обычный и Revision 2.0. Обычно на платах должна быть надпись Revision 2.0.

RaspberryPi B

RaspberryPi B

RaspberryPi B Revision 2

RaspberryPi B Revision 2

RaspberryPi B

RaspberryPi B

В следующий раз мы рассмотрим управление выводами GPIO, и познакомимся с некоторыми неожиданностями.

Успехов!

Смотри также:
Translate
Архіви

© 2011-2017 Андрій Корягін, Кременчук - Київ, Україна