Raspberry Pi - що це таке?


09.09.2014

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.

Підключаємось по SSH

За допомогою SSH клієнта (наприклад PuTTy) підключаємось до Raspberry Pi по вже відомій нам 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 файл можна командою:


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 було два варіанти: звичайний і Revision 2.0. Зазвичай на платах повинен бути напис Revision 2.0.

RaspberryPi B RaspberryPi B

RaspberryPi B Revision 2 RaspberryPi B Revision 2

RaspberryPi B RaspberryPi B

Наступного разу ми розглянемо управління виводами GPIO, та познайомимось з деякими несподіванками.

Успіхів.

Дивись також:

Raspberry Pi
Коментарі:
Додати коментар
Code
* - обов'язкові поля

Архіви