Raspberry Pi и Arduino: в чем между ними разница и для чего они нужны

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужны

Дата Автор Dmitry2 комментария 7 209 просмотров

Недавно я заинтересовался темами домашней автоматизации, интернета вещей, и различных «умных устройств», которые можно создать на базе микроконтроллеров.

В связи с этим публикую статью об Arduino и Raspberry Pi — двух столпах, на которых и держится мир интернета вещей и «умных» самоделок.

В ней я попытался в доступной форме объяснить суть Arduino, Raspberry Pi, чем они отличаются и какое практическое применение может у них быть.

Что такое Arduino

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужныArduino — это аппаратная платформа, созданная в одном из итальянских институтов для прототипирования устройств под управлением микроконтроллеров Atmel.

Попытаюсь сразу объяснить понятым языком что это значит.

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

Затем создать рабочий прототип, отладить, изготовить печатную плату и, наконец, спаять на ее основе устройство. И если для опытного электронщика это просто рутинная работа, то для любителя это муторное, тяжелое и требующее повышенной концентрации занятие.

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужныИ тут появился Arduino. Аккуратная плата промышленного изготовления, с распаянным на ней интерфейсом GPIO (для подключения к микроконтроллеру внешних модулей и элементов), входом для подачи питания и USB-портом для загрузки в микроконтроллер программы.

В результате процесс создания прототипа устройства превратился из муторной возни с паяльником в сборку конструктора.

С использованием Arduino не надо ничего паять: достаточно просто вставить нужные детали в макетную плату, соединить их проводками c нужными пинами GPIO-интерфейса, загрузить в микроконтроллер программу и увидеть свой прототип в действии.

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

Что такое Raspberry Pi

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужныRaspberry Pi — одноплатный компьютер, созданный работниками Кембриджского университета в 2006 году, и запущенный в промышленное производство в 2012 году.

Изначально он планировался как ультрабюджетное решение для приобщения молодежи из стран третьего мира к современным высоким технологиям, но сфера его применения оказалась намного более широкой. Raspberry Pi оценили не столько дети из условных Сомали и Камбоджи, сколько интересующиеся компьютерной тематикой люди из вполне благополучных и развитых стран.

Такое уже случалось ранее: примерно десятью годами ранее компания Asus решила выпустить сверхдешевый нетбук — опять же, для детей из стран третьего мира. И выпустила. Этот нетбук назывался Asus Eee PC.

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужныИстория умалчивает, оценили ли его детишки из неблагополучных уголков земного шара, но у вполне благополучной интересующейся компьютерными технологиями публики он пользовался большим успехом. Да таким, что в дальнейшем в линейке Eee PC было выпущено еще несколько нетбуков, с достаточно мощным «железом» по тем временам и уже без позиционирования их как компьютера для бедных.

Ну да это было лирическое отступление, а теперь возвращаемся обратно к нашей «малине» :).

Raspberry Pi представляет собой плату размером чуть больше пачки сигарет, на которой распаян ARM-процессор, чипы оперативной памяти, слот под microSD-карту, а также Ethernet-порт, HDMI, 3,5мм аудиовыход и USB-порты для подключения периферийных устройств. Кроме того, как и на Arduino, на плате Raspberry Pi имеется GPIO-интерфейс. Все это работает под управлением адаптированного под ARM-архитектуру дистрибутива *nix.

В настоящее время выпускается уже третье поколение плат Raspberry Pi — со встроенными адаптерами Bluetooth и Wi-Fi.

Отличия между Raspberry Pi и Arduino

  • Отличие #1. Производительность и многозадачность
    В Arduino установлен микроконтроллер, работающий на частоте 16Мгц и имеющий 32Кб постоянной памяти и 2Кб оперативной памяти. Arduino не поддерживает многозадачность, хотя в некоторых случаях многозадачность на Arduino может эмулироваться.
    В Raspberry Pi установлен 64-битный процессор, работающий на частоте 1,2Ггц, и 1Гб оперативной памяти. Количество постоянной памяти зависит от объема установленной microSD-карты. Raspberry Pi поддерживает многозадачность.
  • Отличие #2. Поддержка подключаемой периферии
    Arduino не поддерживает подключаемую компьютерную периферию «из коробки». Распаянный на плате USB-порт служит только для загрузки программы в микроконтроллер.
    Raspberry Pi обладает несколькими портами USB, HDMI-разъемом и 3,5мм аудиовыходом, и поддерживает подключение любой компьютерной периферии на уровне ОС.
  • Отличие #3. Скорость реакции
    Arduino реагирует на все поступающие сигналы в реальном времени, без каких-либо задержек.
    Raspberry Pi допускает задержки в реакции на сигналы — незаметные для человеческого восприятия, но могущие быть критичными в некоторых процессах.
  • Отличие #4. Потребление энергии
    Потребление энергии Arduino измеряется в десятках миллиампер, благодаря чему устройство может работать от батареи или аккумулятора (без внешнего источника питания) длительное время.
    Потребление энергии Raspberry Pi измеряется в сотнях и тысячах миллиампер, поэтому без внешнего питания устройство способно проработать от аккумулятора лишь несколько часов.
  • Отличие #5. Работа с видео и звуком
    Мощности используемых в Arduino микроконтроллеров хватает на синтез звука, но работа с MP3/OGG/WAV невозможна без установки дополнительных модулей. Работа с видео на Arduino невозможна вообще из-за малой мощности микроконтроллера.
    Raspberry Pi поддерживает работу с видео и звуком «из коробки», не требуя никаких дополнительных модулей.

Что лучше: Arduino или Raspberry Pi?

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужны

Главное, что нужно понять: Arduino и Raspberry Pi — это разные вещи. Первое — это аппаратная платформа. Второе — микрокомпьютер.

Они не являются конкурентами и служат для выполнения разных задач.

Arduino идеален для аппаратных проектов (которые основаны на считывании информации с различных датчиков и чипов и совершении простых действий в качестве реакции на полученные сигналы).

Raspberry Pi можно использовать с той же целью, но это будет все равно, что палить из пушки по воробьям: простота выполняемых процессов не оправдывает мощность и сложность применяемой системы.

В то же время, мощность Arduino не позволяет производить сложные вычислительные операции, а работа с интернетом на нем не поддерживается «из коробки» и требует подключения дополнительных модулей и написания программ для работы с ними.

Поэтому оптимальным выбором является использование обоих устройств в тандеме. На Arduino могут выполняться простые операции, а Raspberry Pi позволяет контролировать процессы на одном или нескольких Arduino и легко взаимодействовать с интернетом.

Применение Raspberry Pi и Arduino

В том, что из себя представляют Arduino и Raspberry Pi мы более-менее разобрались.

Теперь перед нами встает более важный вопрос: а зачем, собственно, все это нужно?

В промышленности микроконтроллеры и одноплатные компьютеры используются в станках ЧПУ и для контроля различных процессов.

Гики-энтузиасты робототехники строят на базе Arduino роботов.

Другие люди забавляются, делая простенькие проекты по управлению светодиодными индикаторами или выводу определенной информации (например, прогноза погоды) на ЖК-экран.

Но как быть, если робототехника не интересует вообще, а обучение ради обучения (и сопутствующие ему забавные, но бессмысленные проекты со светодиодами) не привлекает в качестве самоцели?

Я и сам из тех людей, которых в первую очередь интересует реальный практический результат. Поэтому я подобрал несколько примеров несущих пользу и имеющих практическое применение проектов, которые можно реализовать на Raspberry Pi и Arduino.

Медиацентр на Raspberry Pi

Один из самых распространенных и простых способов применения Raspberry Pi — создание домашнего медиацентра. Ведь собрать его можно практически «на коленке», воспользовавшись уже готовыми наработками Pi-сообщества.

Зачем нужен медиацентр?

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

Созданный на базе одноплатного компьютера медиацентр работает практически бесшумно и потребляет намного меньше электроэнергии по сравнению с обычным компьютером.

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

CarPC на Raspberry Pi

Еще одна интересная идея применения Raspberry Pi — создание на ее основе CarPC, или же автомобильного компьютера, позволяющего воспроизводить медиаконтент, интерпретировать OBD-II коды с подключенного к диагностическому разъему адаптера, работать в качестве GPS-навигатора и монитора для камеры заднего вида.

Конечно, можно купить готовое решение — в виде штатного головного устройства на Android или Windows CE. Это намного проще, и возможно даже дешевле.

Но неоспоримое достоинство собственноручно собранного CarPC на Raspberry Pi заключается в возможности кастомизации под свои нужды абсолютно всего — начиная от технического функционала, и заканчивая дизайном интерфейса.

Карманный компьютер

Создать карманный компьютер на Raspberry Pi проще простого. Нужно лишь подключить аккумулятор и сенсорный экран.

Другое дело, что в наше время нет смысла мастерить самодельный КПК, ведь можно пойти в магазин и за сравнительно небольшие деньги купить там смартфон или планшет с нужными размерами экрана, причем по характеристикам и миниатюрности габаритов он будет намного превосходить любое DIY-решение.

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужныНо при наличии Raspberry Pi открывается возможность создания раскладного карманного компьютера с физической QWERTY-клавиатурой.

И вот это уже более интересное решение, поскольку сегмент таких устройств незаслуженно обделен вниманием современных производителей. По-моему, только BlackBerry продолжает выпускать несколько смартфонов с физической клавиатурой.

Главная сложность при создании такого устройства на Raspberry Pi — изготовить компактный и удобный корпус.

Система автоматического полива растений

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

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

Умный дом

Одной лишь автоматизацией полива растений возможности применения Arduino в быту не ограничиваются. На базе Arduino и Raspberry Pi можно создать систему «Умный дом» любого уровня сложности.

Управление освещением, контроль температуры, подъем и опускание штор и жалюзи, видеонаблюдение, имитация присутствия, оповещения об экстренных ситуациях — все это возможно при грамотном подборе датчиков и составлении алгоритмов.

Что нужно для использования Arduino и Raspberry Pi

Для того, чтобы начать делать проекты на Arduino и/или Raspberry Pi, помимо наличия самих устройств, нужно обладать следующими знаниями:

  • представление о работе в *nix-системах
  • знание основ радиоэлектроники
  • знание основных принципов составления алгоритмов
  • знание азов программирования на C и Python

Источники информации об Arduino и Raspberry Pi

Сайты:

Книги:

  • Sai Yamanoor, Srihari Yamanoor — Raspberry Pi Mechatronics Projects
  • Simon Monk — Raspberry Pi Cookbook 2nd Edition
  • Simon Monk — Programming Arduino. Getting started with sketches
  • Stefan Sjogelid — Raspberry Pi for Secret Agents
  • Виктор Петин — Микрокомпьютеры Raspberry Pi. Практическое руководство
  • Джереми Блум — Изучаем Arduino. Инструменты и методы технического волшебства
  • Саймон Монк — Практическая электроника. Иллюстрированное руководство для радиолюбителей
  • Теро Карвинен, Киммо Карвинен, Вилле Валтокари — Делаем сенсоры

(на английском языке — названия тех книг, что на момент публикации этого поста либо не были переведены на русский язык вообще, либо их переводы отсутствовали в свободном доступе)

Вместо заключения

Пока что мое ознакомление с темой носило теоретический характер. Я серфил интернет в поисках информации, скачивал и читал книги по теме.

Кроме того, за несколько дней до написания этой статьи я заказал в китае Raspberry Pi 3 Model B, Arduino Uno R3 и всяких датчиков, сенсоров и аксессуаров к ним на 100 с небольшим долларов суммарно.

Raspberry Pi и Arduino: в чем между ними разница и для чего они нужныRaspberry Pi и Arduino: в чем между ними разница и для чего они нужны

Для начала этого должно быть достаточно.

После получения посылок (думаю, что это произойдет уже в следующем году) я продолжу цикл публикаций о Raspberry Pi и Arduino.

Stay tuned.

Понравилась статья? Выразите благодарность автору переводом любой суммы на ваше усмотрение :)

2 комментария на «Raspberry Pi и Arduino: в чем между ними разница и для чего они нужны»

  1. «..В Raspberry Pi установлен 64-битный процессор, работающий на частоте 1,2Ггц, и 1Гб оперативной памяти…»

    Лежит у меня в руках Распберри Пи и на ней процессор с 1 ядром 32 бита и 512 мб О3У. По 3акону жанра, наверное, стоило ука3ать версию модели для точности?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *