18+ Некоторые материалы сайта могут содержать информацию, запрещенную для детей.

Запись от AZM на субдомене raspberrypi
Все записи на субдомене: Raspberry Pi как использовать, проекты на и для Raspberry Pi

Raspberry Pi - как выглядит, что есть в Raspberry Pi, с чего начать
Raspberry Pi model B выглядит вот так:
Фото Raspberry Pi model B в сравнении с SD карточкой и ручкой


Что есть на борту Raspberry Pi?
+ Видео процессор способный проигрывать Full HD видео на выходы HDMI или на композитный выход (обычный VideoOUT).
+ Звуковая карта только на воспроизведение в режиме моно.
+ Сетевая карта 100МБит.
+ Разъёмы USB (число зависит от модели).
+ Порт ввода-вывода двоичных сигналов GPIO (число линий ввода-вывода зависит от модели).
+ Интерфейсы на разъёме ввода-вывода GPIO работающие по протоколам: I2C, SPI и USART (позволяют подключать различные расширения).

Чего нет в Raspberry Pi?
- Часов реального времени (время при загрузке берётся из интернета, с серверов и далее часы идут программно пока есть питание).
- Аналогового входа звука (АЦП).
- Видео входа.

Какие бывают Raspberry Pi?
На сегодняшний день есть 3 модели:
Raspberry Pi model A
Raspberry Pi model B
Raspberry Pi model B+

model A вы уже вряд ли купите, а вот model B и model B+ можно купить.
Разница между моделями B и B+ если рассматривать устройство в контексте "робота-помошника" не столь существенная: в плюсовой версии добавили шины GPIO, перекомпоновали платку, убрали разъём выхода аналогового видео (совместили с разъёмом выхода звука на наушники), оптимизировали системы питания.
Себе я купил model B потому что меня я не вижу смысла переплачивать даже 1000 руб за "энергопотребление меньше на 0,2 ватта или около того и 10 дополнительных ножек в порту расширения", да ещё и отобрали композитный VideoOUT.
Что хорошо: B и B+ по разъёму GPIO полностью совместимы в той части, которая в его начале (он просто у B+ длиннее, ножек больше, но начало точно такое же).

Под какими операционными системами работает Raspberry Pi?
В википедии этот список длинный, но на официальном сайте доступны лишь дистрибутивы:
Raspbian (Debian Wheezy) // не одобряю, что из названия выпилили девушку Яна - Дебру которой он посвятил эту ОС .
Pidora (Fedora Remix) // ну а это название точно не для русских пацанов.
RISC OS (A non-Linux distribution)
Соответственно: список википедии | список официального сайта
Всякое баловство вроде "OpenELEC" - операционки заточенной под медиа центр, я не рассматриваю.
На свою Raspberry Pi model B, я установил первую ОС в списке официального сайта - Raspbian.

УЧТИТЕ - Я НЕ ВЕЛИКИЙ LINUX АДМИН, Я ВООБЩЕ НЕ LINUX/UNIX АДМИН!
Делаю это для себя под реальные задачи на реальной железке, так что не обесссутьте.

Установка ОС на Raspberry Pi
Для установки операционной системы вам потребуется:
* SD карточка минимальным объёмом 2Гб класс не ниже 4 (чем выше класс тем выше скорость работы с картой, тем шустрее будет система).
* Обычный компьютер (ноутбук или настольный).
* Картридер (встроенный в компьютер или подключенный).

Поставить операционную систему крайне просто:
1) Заходим на официальный сайт и качаем образ одной из операционок (ссылка выше по тексту).
2) Качаем программу Win32DiskImager которая позволит перенести образ на SD карточку/считать данные с SD карточки в образ.
Я не стал качать Win32DiskImager с инсталлятором чёрт знает откуда с троянами и SMS, я скачал с win32diskimager.sourceforge.net причём архив с файлами не требующий инсталляции, просто распаковать в папку и запустить файл "Win32DiskImager.exe", если вас это устраивает, то скачайте Win32DiskImager-0.9.5-binary.zip здесь: http://sourceforge.net/projects/win32diskimager/files/Archive/
3) Втыкаем SD карточку в картридер, запускаем Win32DiskImager, выбираем файл образа и устройство, на которое перенести образ (нашу карточку). Интерфейс прост и понятен, не запутаетесь. Жмём "Write" и понеслось.
Образ, перенесённый на SD карточку - это живая, рабочая ОС, нужно просто вставить карточку в Raspberry Pi и оно побежит. Конечно, нужно понимать, что в образе "чистая" ОС то есть без дополнительного софта вроде mc, MySQL, ...
Приятная штучка: в любой момент с SD карточки можно снять образ и в любой момент закатать любой снятый образ на карточку и мы будем получать операционку в том виде, в котором она была на момент снятия образа с тем софтом, что был установлен. Восстановить ОС, софт, данные и сделанные настройки очень просто.

Настройка ОС Raspbian на Raspberry Pi без монитора и клавиатуры, по SSH
Ещё раз повторюсь: я придерживаюсь мнения, что компьютер создан не для игр, развлечений и прослушивания музыки, так что ниже описан процесс установки софта и настройки Raspbian так, что бы потом Raspberry Pi использовать в качестве робота-помощника способного себя окупать, а не ради баловства. Набор софта соответственно специфический.

Включение в сеть
Подключаем шланг локальной сети в Raspberry Pi, шланг от блока питания и включаем блок питания в ризетку.
Ждём пока светодиоды на Raspberry Pi проморгаются и засветятся.
Ждём ещё секунд 20-30, что бы всё "догрузилось".
Заходим в настройки своего роутера, в список компьютеров локальной (домашней) сети и видим одним из них нашу Raspberry.
Определяем ей статический IP в рамках локальной сети (что бы при включениях/выключениях больше не ходить в роутер и всегда знать IP. Статический локальный IP будет нужен и что бы пробросить порты, если внешний IP у нас тоже статический и мы хотим получать в будущем доступ к своему роботу удалённо через интернет).
Если присвоили статику то выключим блок питания Raspberry из ризетки, включим снова и дождёмся загрузки, что бы всё точно взялось.

Подключение по SSH
Запускаем на компьютере, с которого будем рулить процессом, SSH клиент. Под Windows я пользуюсь PuTTY. Если у вас нет PuTTY то можете скачать её с официальной страницы: chiark.greenend.org.uk - PuTTY Download Page.
Вбиваем в Hostname/IP IP адрес, который присвоили Raspberry, выбираем порт 22, протокол SSH, пишем имя сессии, что то вроде "Raspberry_bot1" кликаем на Window - Translation и выбираем в выпадающем списке UTF-8 кликаем на Session и жмём "Save", теперь в PuTTY всегда будет под руками сохранённая "закладка" на вход в мозг нашего бота.
Двойной клик на "закладке", соглашаемся что "сертификат что-то там где-то там" и соединяемся.
Вводим логин pi пароль raspberry

Настраиваем главное и обновляем ОС
sudo raspi-config
-> Expand Filesystem
Расширяем файловую систему на всю SD карту.
-> Internationalisation Options -> Change Locale
Выбираем локаль ru_RU.UFT-8 UTF-8.
В следующем окне en_GB.UTF-8
-> Internationalisation Options -> Change Timezone
Я себе выбираю UTC, всё равно часов встроенных нет, а боту проще в логи писать UTC.
<Finish>
Перезагрузить?
Да.
Окно PuTTY исчезает, ждём пока проморгаются светодиоды и всё загрузится и снова в PuTTY, соединяемся.
Обновляем ОС и пакеты:
sudo apt-get update
sudo apt-get dist-upgrade
на вопросы вида "займёт место ... [y/n]" говорим y
Перезагружаемся:
sudo reboot
После того как загрузилось, соединяемся снова и обновляем прошивку:
sudo rpi-update
sudo reboot

Ставим софт и сервисы на Raspbian
Стать root
Я предпочитаю копаться в мозгах своего бота под root, ведь я не собираюсь в домашнюю сеть пускать хакеров с снифферами и не собираюсь пробрасывать 22 порт наружу, так что не буду себя мучить всякими лишними sudo и сразу стану root.
Если вы не желаете становиться root то далее придётся перед каждой командой вида:
apt-get install ...
приписывать sudo, вот так:
sudo apt-get install ...

Становлюсь рутом, пока из под sudo:
sudo -i
passwd root
Вбиваем пароль для root.
exit
exit
пересоединяемся под root, теперь уже под настоящим.
По желанию:
passwd pi
вбиваем новый пароль для юзера pi, пусть кулхацкеры домашние не пройдут :)

mc
apt-get install mc

Создаём юзера от которого будет работать апач и будет ходить ftp
useradd -m -g www-data -s /bin/false -d /websites ftper

proftpd
apt-get install proftpd

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=ftper --shell=/bin/false --home=/websites/ --uid=1001 --gid=33
вбиваем пароль, под которым будем заходить по FTP потом.
В конец конфигурационного файла
/etc/proftpd/proftpd.conf
добавим следующую строку:
AuthUserFile /etc/proftpd/ftpd.passwd
там же исправить что бы показывало файлы начинающиеся с точки:
ListOptions "-a"
открыть файл
/etc/shells
и добавить в него такую строку:
/bin/false
перезапустить proftpd:
/etc/init.d/proftpd restart

Apache и PHP
apt-get install apache2 php5 libapache2-mod-php5
Если что-то будем менять в конфигурации апача, то перезапуск апача:
service apache2 restart

MySQL
apt-get install mysql-server mysql-client php5-mysql

Модуль perl LWP
perl -MCPAN -e shell
в командной строке CPAN
install LWP

phpMyAdmin
apt-get install phpmyadmin

У меня контент для сервера "по умолчанию" апача лежит в папке:
/websites/default/www/
/websites/default/cgi-bin/
соответственно нужно создать эти папки и прописать в конфиге апача "apache2.conf" пути, кроме того, сказать апачу что бы он работал от юзера ftper и группы www-data.
Но как настраивать апач вам - ваше дело.
Я вот предпочитаю "apache2.conf" без директив Include, что бы все настройки в одном файле - захотел на другой сервер/бота перенёс, захотел сохранил резервную копию, зная что это полная резервная копия.
Кроме того, на малине я закомментировал строку вида:
# ErrorLog /var/log/apache2/error.log
И прописал:
ErrorLog /dev/null
потому как SD карточки не вечные на запись, да и не безразмерные, а лог если надо снова включу.

Подробнее смотрите мою заметку: Мой apache2.conf для apache2 под Raspbian на Raspberry Pi

Настроили?
Пора выключить питание:
sudo poweroff

*** Полезные ссылки:
* useradd - создание пользователей в linux
* Raspberry Pi: Установка операционной системы без монитора и клавиатуры. Первый запуск.
* Raspberry Pi - Настройка Веб-сервера
* Установка и настройка ProFtpd
* FTP — для всех и «для себя любимого»…

Добавлено: 3611 дн 9 час 5 мин 23 сек назад | Внесений правок: 1 | Последняя правка: 3610 дн 18 час 49 мин 18 сек назад



Raspberry Pi как использовать, проекты на и для Raspberry Pi