Соревновония Lego роботов 2.Соревновония Lego роботов 1.

Raspberry Pi в секции

Аватар пользователя Овсянников Алексей Юрьевич

В мире вычислительной техники наблюдается тенденция к миниммизации: сотовые телефоны становятся еньше и легче, ноутбуки становятся тоньше, да и сами компьютеры с каждым годом все компактнее и компактнее. В последние годы появились даже одноплатные компьютеры - компьютеры, у которых все их основные элементы расположены на одной плате: процессор, память, видеодаптер, контроллеры внешних устройств и шин подключения дополнительных модулей. Оним из самых миниатюрных компьютеров современности считается однопланый компьютер Raspberry Pi (RPi, в переводе на русский язык: "Малиновый пирог"). Давайте же приглядимся внимательнее к этому пирогу и его начинке!

А приглядеться несложно - на этой неделе подобное устройство поступило в нашу секцию "Робототехника".

Первое, что необходимо понять про Raspberry Pi, то, что это КОМПЬЮТЕР! Полноценный, работающий ровно так же, как ящик под столом у Вас дома, подключаемый к таким же точно мониторам, клавиатурам, мышкам, наушникам, сети интернет. К нему так же можно подключить флешки, веб-камеры и принтеры. И главное - он не ПРОГРААМИРУЕТСЯ, на него устанавливается ОПЕРАЦИОННАЯ СИСТЕМА. А уже в операционной системе можно запускать любую необходимую программу, в том числе и написанную самостоятельно.

Теперь стоит рассказать про аппаратные особенности устойства:

  1. Процессор ARM11 - подобен процессорам современных сотовых телефонов и планшетов. Особеннотю является низкое энергопотребление. Тактовая частота 700 МГц (турбо режим до 1 ГГц).
  2. 256 или 512 Мб оперативной памяти. Количество памяти зависит от модели и версии устройства. Память интегрирована в центральный процессор.
  3. Видеоадаптер интегрирован в центральный процессор. Поддерживает технологии OpenGL и Full-HD ускорение.
  4. Наличие порта HDMI - для подключения монитора. Причем установлен обычный разъем HDMI, не mini (как на телефонах или планшетах). То есть можно использовать обычный кабель, которым к монитору подключается большинство бытовых мультимедийных устройств: видеопроигрывателей, игровых приставок, обычных компьютеров.
  5. Наличие аналогового RCA порта - для подключения к старым (не цифровым) телевизорам.
  6. Наличие двух портов USB - для подключения внешних устройств. Стоит обратить внимание, что портов всего ДВА. Поэтому, во-первых, целесообразно использовать набор из беспроводных мыши и клавиатуры, подключаемых к одному порту USB, а во-вторых, для подключения нескольких внешних устройств (принтеров, флешек, карт-ридеров, веб-камер) придется использовать специальные USB-концентраторы, по сути разветвители. Стоит так же обратить внимание на питание устройств - так как питание самого Raspberry Pi весьма ограничено, то устройства с питанием по USB-порту (например, некоторые внешние винтчестеры) могут перегружать порты устройства. Выходом может служить использование USB-концентратора с дополнительным питанием.
  7. Наличие порта Fast Ethernet - для подключения устройства к локальной сети или сети Internet. Тут все очевидно - давно уже известно, что компьютер - это сеть! А раз Raspberry Pi компьютер, то и он должен как-то подключаться к сети и обмениваться данными с миром.
  8. Наличие разъема Jack - для подключения наушников и аудио-колонок. Эта одноплатная малютка ни в чем не собирается уступать по функциональности своим "страшим братьям"!
  9. Слот для SD-карт - вместо SATA или IDE винтчестеров, как в обычных ПК, здесь основным накопительным устройством являются карты памяти формата SD. Для комфортной работы объем карты памяти должен быть больше 4 ГБ.
  10. Питание устройства через порт mini-USB.
  11. Отсутствие портов PS/2, широко используемых для подключения клавиатур и манипуляторов мышь.
  12. Отсутсвие корпуса (в базовой комплектации). Существуют различные корпуса для устройства, в том числе и официальных. Но приобретать или изготавливать их необхоимо отдельно.

По характеристика видно, что вычислительные мощности компьютера соответствуют современным телефонам. То есть устройство способно на такие же "подвиги": запуск приложений уровня скайпа, ICQ- и почтового клиента, читалок книг, интернет-броузеров, музыкальных и видео проигрывателей, простых игр.

Последним, что должно окончательно и бесповоротно привлечь Ваше внимание к данному продукту, я хотел бы упомянуть широко разрекламмированные разработчиками ообенности: размер устройства, сопоставимый с банковской картой, и его цена всего 25-35 долларов (по текущему курсу 750-1000 рублей).

В любом случае, чтобы задействовать все эти аппаратные возможности, необходимо установить операционную систему. Так как сравнение с мобильным телефоном напрашивается само собой, то логичен и вывод о возможности установки на RPi OS Android. Подобный проект существует, называется он Android Pi. Кроме того, существует множество дистрибутивов OS Linux, разработанных специально для этого одноплатного компьютера, и представляющих идеальную "начинку" для "Малинового пирога" - из них удалены все лишние функции, поэтому вычислительные мощности не тратятся впустую. Среди пообных систем стоит выделить Raspbian, как наиболее зрелую и отлаженную систему. Ее и некоторые другие инструменты можно найти в разделе загрузок официальньго сайта устройства.

Так зачем же может понадобиться подобное устройство в секции робототехники? Вариантов очень много, все зависит лишь от фантазии пользователя. Вот лишь несколько, на мой взгляд наиболее интересных и очевидных:

  1. Подключение к RPi робота Lego Mindstorms по USB и управление им. В этом случае можно задействовать гораздо большие вычислительные мощности компьютера. Подобнй проект уже существует.
  2. Подключение к RPi устройств *duino с тем же результатом и той же целью. Эта светлая мысль опять же пришла в голову не только мне.
  3. Запуск на RPi сред программирования роботов и даже симулирования их работы. Подобное описано в журнале LinuxFormat №9 за 2012 год - запуск учебной среды Guido, в которой необходимо писать алгоритмы движения для робота--черепашки.
  4. Подключение к RPi веб-камер или устройства Microsoft Kinect с целью создания системы искусственного зрения. При подключении веб-камеры можно использовать библиотеки OpenCV, работа с которой очень хорошо описана в статьях на сайте RoboCraft.RU. Работа с устройством Kinect подразумевает использование их специальных библиотек, созданных для различных языков программирования.

Существуют так же довольно нелепые или юмористические проекты на базе устройств, например суперкомпьютер из 64 RPi.

С чего же начать работу с устройтвом? Первым делом необходимо обзавестись не только самим компьютером, но и некоторой периферийе к нему: источником питания (подойдет зарядное устройство от некоторых сотовых телефонов), кабелем HDMI или RCA, USB-концентратором (с дополнительным питанием), картой памяти, USB-клавиатурой и мышью. Далее уже можно приступать к работе. В интернете это описано довольно подробно, в том числе и на русском языке. Хороший цикл статей приведен в журнале Linux Format, начиная с номера 7 за 2012 год (стать выходят в каждом новом номере до сих пор).