Raspberry Pi и Arduino: в чем между ними разница и для чего они нужны
Недавно я заинтересовался темами домашней автоматизации, интернета вещей, и различных «умных устройств», которые можно создать на базе микроконтроллеров.
В связи с этим публикую статью об Arduino и Raspberry Pi — двух столпах, на которых и держится мир интернета вещей и «умных» самоделок.
В ней я попытался в доступной форме объяснить суть Arduino, Raspberry Pi, чем они отличаются и какое практическое применение может у них быть.
Что такое Arduino
Arduino — это аппаратная платформа, созданная в одном из итальянских институтов для прототипирования устройств под управлением микроконтроллеров Atmel.
Попытаюсь сразу объяснить понятым языком что это значит.
Раньше для создания управляемого микроконтроллером устройства приходилось проделать много подготовительной работы: спаять программатор, подключить к нему микроконтроллер и соорудить интерфейс для подключения датчиков и прочих элементов, с которыми этот микроконтроллер должен будет взаимодействовать.
Затем создать рабочий прототип, отладить, изготовить печатную плату и, наконец, спаять на ее основе устройство. И если для опытного электронщика это просто рутинная работа, то для любителя это муторное, тяжелое и требующее повышенной концентрации занятие.
И тут появился Arduino. Аккуратная плата промышленного изготовления, с распаянным на ней интерфейсом GPIO (для подключения к микроконтроллеру внешних модулей и элементов), входом для подачи питания и USB-портом для загрузки в микроконтроллер программы.
В результате процесс создания прототипа устройства превратился из муторной возни с паяльником в сборку конструктора.
С использованием Arduino не надо ничего паять: достаточно просто вставить нужные детали в макетную плату, соединить их проводками c нужными пинами GPIO-интерфейса, загрузить в микроконтроллер программу и увидеть свой прототип в действии.
Да и на этапе превращения прототипа в готовое изделие количество пайки сокращается в разы: ведь в качестве основы для устройства можно использовать всю ту же плату Arduino. А потом купить новую плату Arduino и начать разрабатывать новое устройство уже на ней.
Что такое Raspberry Pi
Raspberry Pi — одноплатный компьютер, созданный работниками Кембриджского университета в 2006 году, и запущенный в промышленное производство в 2012 году.
Изначально он планировался как ультрабюджетное решение для приобщения молодежи из стран третьего мира к современным высоким технологиям, но сфера его применения оказалась намного более широкой. Raspberry Pi оценили не столько дети из условных Сомали и Камбоджи, сколько интересующиеся компьютерной тематикой люди из вполне благополучных и развитых стран.
Такое уже случалось ранее: примерно десятью годами ранее компания Asus решила выпустить сверхдешевый нетбук — опять же, для детей из стран третьего мира. И выпустила. Этот нетбук назывался Asus Eee PC.
История умалчивает, оценили ли его детишки из неблагополучных уголков земного шара, но у вполне благополучной интересующейся компьютерными технологиями публики он пользовался большим успехом. Да таким, что в дальнейшем в линейке 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?
Главное, что нужно понять: 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 открывается возможность создания раскладного карманного компьютера с физической QWERTY-клавиатурой.
И вот это уже более интересное решение, поскольку сегмент таких устройств незаслуженно обделен вниманием современных производителей. По-моему, только BlackBerry продолжает выпускать несколько смартфонов с физической клавиатурой.
Главная сложность при создании такого устройства на Raspberry Pi — изготовить компактный и удобный корпус.
Система автоматического полива растений
Имея несколько датчиков влажности, шланги и помпу для прокачивания воды можно создать автоматизированную систему полива растений. Для этой цели удобнее использовать уже Arduino, а не Raspberry Pi.
Созданную систему можно масштабировать по мере увеличения числа растений, а также усложнять, прописывая разные сценарии полива исходя из влаголюбивости каждого отдельного растения.
Умный дом
Одной лишь автоматизацией полива растений возможности применения Arduino в быту не ограничиваются. На базе Arduino и Raspberry Pi можно создать систему «Умный дом» любого уровня сложности.
Управление освещением, контроль температуры, подъем и опускание штор и жалюзи, видеонаблюдение, имитация присутствия, оповещения об экстренных ситуациях — все это возможно при грамотном подборе датчиков и составлении алгоритмов.
Что нужно для использования Arduino и Raspberry Pi
Для того, чтобы начать делать проекты на Arduino и/или Raspberry Pi, помимо наличия самих устройств, нужно обладать следующими знаниями:
- представление о работе в *nix-системах
- знание основ радиоэлектроники
- знание основных принципов составления алгоритмов
- знание азов программирования на C и Python
Источники информации об Arduino и Raspberry Pi
- ежемесячный журнал от создателей Raspberri 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.
Разница между Arduino и Raspberry Pi
Основное различие между Arduino и Raspberry Pi заключается в том, что Arduino является платой для разработки микроконтроллеров, а Raspberry Pi — это компьютер общего назначения на базе операционной системы Linux.
Выбор между Arduino или Raspberry Pi зависит от проекта, который будет разработан. В этой статье рассматриваются наиболее распространенные Arduino Uno и Raspberry Pi B+. Как правило, у Arduino энергопотребление ниже, а скорость выше у Raspberry Pi.
Содержание
- Обзор и основные отличия
- Что такое Arduino
- Что такое Raspberry Pi
- Сходство между Arduino и Raspberry Pi
- В чем разница между Arduino и Raspberry Pi
- Заключение
Что такое Arduino?
Плата ввода-вывода и среда разработки Arduino содержит микроконтроллеры, аппаратное обеспечение для программирования, интерфейс программирования USB, кнопку сброса и разъем питания. Существуют различные типы плат Arduino, такие как Arduino Uno, Mega, Nano. Самой распространенной платой Arduino, является Arduino Uno, имеет два микроконтроллера. ATmega328 программируется пользователем. ATmega16U2 уже запрограммирован и используется для связи через USB. Выводы IO используются для подключения к внешним устройствам. Есть цифровые контакты и аналоговые контакты.
Arduino
Arduino IDE используется для написания программ для платы разработки. Его можно использовать для написания кода, компиляции, отладки и, наконец, для загрузки кода на плату. Arduino IDE делает разработку проекта быстрее и проще. Это программное обеспечение является бесплатным и с открытым исходным кодом. Программы, написанные в Arduino IDE, аналогичны программам на языке C (Си).
Arduino легко интегрируется с оборудованием, используя щиты. Этот щит можно сразу штабелировать к Arduino . Щит Ethernet используется для подключения к Ethernet . Цветной ЖК-щит используется для интерфейса с дисплеем. Программист может напрямую использовать эти щиты и вызывать необходимые библиотечные функции для выполнения требуемой задачи.
Что такое Raspberry Pi?
Raspberry Pi работает на операционной системе (ОС). Это дополнительный уровень программного обеспечения, которое обрабатывает оборудование. В Arduino приложение напрямую запускается на микроконтроллере, а в Raspberry Pi приложение должно проходить через ОС для управления оборудованием.
Raspberry Pi
Существуют различные версии Raspberry Pi, такие как Raspberry Pi A, B, B+. Raspberry Pi B+ содержит систему Broadcom BCM 2836 на чипе (SoC). Он имеет процессоры и другие компоненты, соединенные для работы всей системы. Процессор Broadcom BCM 2826 на базе процессора ARM. Процессоры ARM являются ядром большинства устройств IoT. Raspberry Pi можно программировать с использованием таких языков, как Python или C++ .
Raspberry Pi также содержит графический процессор (GPU). Он помогает ускорить графику. Raspberry Pi имеет 40 входных-выходных контактов общего назначения (GPIO). Есть 4 порта USB и порт RJ45 Ethernet. Существует интерфейс USB Ethernet IC, используемый для связи с портами Ethernet и USB.
Существует также разъем для подключения камеры CSI. Порт HDMI служит для подключения устройства к монитору. DSI — это интерфейс монитора для дисплеев. Это альтернатива HDMI. Имеется слот Micro SD для использования в нём карты Micro SD. Он находится на обратной стороне платы.
Сходство Arduino и Raspberry Pi?
- Как Arduino, так и Raspberry Pi можно использовать для создания Интернета вещей (IoT) и встроенных систем.
В чем разница между Arduino и Raspberry Pi?
Arduino против Raspberry Pi | |
Arduino — это одноплатный микроконтроллер, который предоставляет платформу с открытым исходным кодом для построения аппаратной и программной среды | Raspberry Pi — это небольшой одноплатный компьютер, разработанный для содействия преподаванию основ информатики в школах и в развивающихся странах |
Скорость обработки | |
Частота Arduino составляет 16 МГц | Частота Raspberry Pi B+ составляет 700 МГц |
Адресное пространство | |
Arduino имеет меньшее адресное пространство, так как у него 8-битный микроконтроллер | Raspberry Pi поддерживает большее адресное пространство, так как он имеет 32-битный процессор |
Уровни входного и выходного напряжения | |
Уровни входного и выходного напряжения для Arduino: 0 В и 5 В | Уровень выходного напряжения для Raspberry Pi составляет 0 В и 3,3 В |
Память | |
Arduino имеет 32K Flash, 2K SRAM и 1K EEPROM | Raspberry Pi имеет 4 ГБ флэш-памяти, 512K SRAM и микро SD |
Операционные системы | |
Arduino не имеет ОС | Raspberry Pi работает на ОС |
Заключение — Arduino против Raspberry Pi
Считается, что Arduino и Raspberry Pi служат для различных задач, но во многих проектах Arduino и Raspberry Pi используются совместно. Разница между Arduino и Raspberry Pi заключается в том, что Arduino является платой для разработки микроконтроллеров, а Raspberry Pi — это компьютер общего назначения на базе операционной системы Linux.
В чем разница между Raspberry Pi и Arduino?
Добавить в избранное
Главное меню » Raspbian » Raspberry Pi » В чем разница между Raspberry Pi и Arduino?
R aspberry Pi и Arduino обычно являются лучшим выбором для широкого спектра проектов сборки из-за их размера, цены и универсальности. Обе доски изначально были созданы, чтобы предоставить студентам одноплатный модуль, который поможет им узнать о компьютерах, кодировании и электронике по очень низкой цене. Неожиданно эти доски впоследствии стали популярными среди любителей и мастеров, как новичков, так и экспертов.
Небольшой возврат
Arduino родом из Италии, и говорят, что он был назван в честь бара, где разработчики обычно встречаются, чтобы обсудить доску. Первый Arduino был разработан в 2005 году с целью предоставить студентам Института дизайна взаимодействия Ивреа в Италии недорогую плату микроконтроллера. Его стоимость и простота также заинтересовали любителей и профессионалов; вскоре он достиг более широкого сообщества создателей. С тех пор было создано множество других разновидностей плат Arduino. В 2013 году было продано около 700 000 плат Arduino.
Raspberry Pi (https://vashumnyidom.ru/upravlenie/ustrojstva/raspberry-pi.html) родился через семь лет после Arduino, когда Эбен Аптон изобрел недорогой модульный одноплатный компьютер, который поможет улучшить навыки программирования его учеников. Как и Arduino, он вскоре достиг более широкой аудитории благодаря своей стоимости и универсальности. Первая плата Raspberry Pi стоила всего 35 долларов, что намного дешевле существующих компьютерных плат, которые обычно стоят в пять раз дороже. Маленькая плата стала еще меньше и дешевле после того, как Raspberry Pi Foundation создал Raspberry Pi Zero, самую маленькую плату Raspberry Pi на сегодняшний день, которая стоит всего 5 долларов. Raspberry Pi быстро прогрессировал: миллионы плат уже были созданы по сравнению с первоначальной целью – всего 10 000 плат спустя годы после его первого выпуска.
Raspberry Pi и Arduino: ключевые различия
Raspberry Pi и Arduino росли не по дням, а по часам. Поскольку они оба являются фаворитами среди студентов, энтузиастов DIY и разработчиков проектов, эти доски часто сравнивают лицом к лицу, несмотря на то, что у них разные платформы; Raspberry Pi – одноплатный компьютер, а Arduino – микроконтроллер. Хотя они оба находят свои ниши в проектах DIY, робототехнике и электронике, у них много различий в производительности, стоимости, программном обеспечении и функциональности. Прочтите, чтобы узнать об основных различиях между этими двумя миниатюрными досками, чтобы решить, какая из них подойдет для ваших будущих проектов.
Аппаратное обеспечение
Raspberry Pi построен как мини-компьютер и, таким образом, вмещает все основные компоненты компьютера. В основе всех плат Raspberry Pi лежит 32-битный или 64-битный процессор Broadcom ARM, от одноядерного процессора с тактовой частотой 700 МГц оригинального Pi до гораздо более быстрого четырехъядерного процессора с тактовой частотой 1,5 ГГц Raspberry Pi 4. Broadcom Videocore. Графические процессоры также интегрированы в плату для обработки графики. Объем оперативной памяти составляет от 256 МБ до 8 ГБ, в зависимости от модели. Порты USB для передачи данных и порты HDMI для отображения также встроены в плату. Некоторые модели также имеют порты Ethernet и беспроводную связь. Есть слот для карты microSD для хранения, зарезервированного для карты microSD, содержащей операционную систему. Все платы Raspberry Pi включают 40-контактный разъем GPIO, за исключением Raspberry Pi Zero и Raspberry Pi Zero W, где вам нужно припаять разъем самостоятельно.
С другой стороны, Arduino – это печатная плата, построенная как микроконтроллер. Его вычислительная мощность намного меньше, чем у Raspberry Pi. В основе каждой платы Arduino лежат 8-битные микроконтроллеры Atmel, которые часто имеют частоту менее 100 МГц. Объем оперативной памяти составляет от 2 КБ до 64 МБ. Хранение основано на флэш-памяти, от 32 КБ до 128 МБ, в зависимости от модели. Некоторые модели имеют порт USB, который служит каналом связи и источником питания. Те, у кого нет порта USB, используют контакты микроконтроллера Atmel для связи и могут получать питание от батарейного блока. Не все платы имеют встроенные сетевые функции. Некоторым потребуется дополнительное оборудование, известное как Arduino Shield, которое обычно подключается к плате для подключения к сети. Как и Arduino Uno WiFi, другие платы включают поддержку Wi-Fi из-за растущих требований к IoT.
Программного обеспечения
Поскольку Raspberry Pi по сути является компьютером, для его загрузки требуется операционная система. ОС Linux для Raspberry Pi, называемая ОС Raspberry Pi (ранее Raspbian), является ОС по умолчанию для Raspberry Pi. Однако другие операционные системы Linux и не Linux также могут работать на этой крошечной плате. Когда дело доходит до языков программирования, есть длинный список, который вы можете изучить с помощью Pi. Вы можете начать кодирование с помощью Scratch, Python, JavaScript, HTML5, C, C ++ и Java, и это лишь некоторые из них.
В отличие от Raspberry Pi, для работы Arduinos не требуется ОС. Системы Arduino намного проще, чем Raspberry Pi. Лучше всего запрограммировать микроконтроллер, хотя языки программирования, которые вы можете использовать, ограничены C и C ++. Arduinos – это устройства plug-and-play, что означает, что как только вы включите его, он запустит программу, которую вы закодировали, и завершит программу, как только вы ее выключите.
Использует
Когда вы встраиваете Raspberry Pi в свои прототипы или проекты, вы встраиваете целый компьютер для выполнения множества различных задач. Из-за меньшей вычислительной мощности Arduino ограничивается одной или двумя задачами и многократно запускает одну и ту же программу. Raspberry Pi более сложен, чем Arduino, но его сложность является огромным преимуществом для многофункционального проекта. Например, для взаимодействия с датчиками вам потребуется установить библиотеки и другое программное обеспечение в Raspberry Pi, тогда как вам понадобится простой код для Arduino, чтобы выполнить ту же задачу. Вы можете создавать простые проекты, например, определять температуру в комнате, используя Arduino, но вы можете создавать более сложные проекты, такие как самодельный дрон, используя Raspberry Pi. Поскольку на Raspberry Pi больше компонентов, он обычно стоит больше, чем Arduino.
Как видите, Raspberry Pi и Arduino – две очень разные платы, и у обеих есть свои сильные и слабые стороны. Если вы работаете над проектом, который требует от вас выполнения только одной или двух задач, вы можете выбрать Arduino, но для проектов, требующих более сложных задач и программирования, Raspberry Pi будет лучшим вариантом.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Что выбрать: Raspberry Pi или Arduino
Человечество весь период своего существования старается облегчить работу каждого индивидуума в деле получения каких-либо жизненных благ. Другими словами, возможности осуществления минимума действий, с аналогичным результатом, как и при определенных трудовых затратах. Во многих случаях подобная практика оправдана, по причине опасности работы или ее однообразности.
Уже давно в существующий социум вошло понятие автоматизации — когда обыденные и нудные работы берут на себя различные механические приспособления или даже целые роботизированные комплексы. Принципы функционирования большинства из них обеспечиваются встроенными «умными» системами, способными в ограниченных рамках действовать псевдо-разумно. Имеется в виду, реагировать на внешние ситуации в пределах заложенной программы, устанавливающей последовательность действий для каждого конкретного случая. Обеспечивается названая функциональность микроконтроллерами или компьютерами.
Собственно, любой проектировщик логической системы изначально останавливается перед выбором — что конкретно использовать — специализированный микроконтроллер или компьютер. Тем более, что в последнее время получили широкое распространение практически готовые комплексные решения вопроса, изначально рассчитанные на применение их в составе средств автоматизации. Речь идет о Raspberry PI и Arduino. Первый в своей основе — пусть и не очень мощный, но компьютер. Возможности устройства близки полноценному ПК, с многозадачностью, сетью, большим объемом памяти и относительно мощным процессором. И все это при достаточно малых габаритах. Минусом служит ограниченность количества ШИМ портов ввода/вывода и практически полное отсутствие аналоговых преобразователей у большинства моделей, что, в свою очередь, требует использование дополнительных аппаратных модулей для подключения большей части датчиков.
Кроме названого можно вспомнить и о не 100 % поддержки производителей платформы Raspberry PI у своих устройств. То есть, весьма вероятно, что для какого-либо конкретного оборудования может попросту не оказаться библиотек или программных компонентов им управляющих.
Рекомендуем глубже изучить Raspberry Pi, что это такое, устройство и функциональные возможности.
Другое дело микроконтроллер Arduino. Если брать процессорные мощности, память и функциональность — то они на первый взгляд скромнее. Слабый процессор в десятки мегагерц, вместо сотен у Raspberry, килобайты оперативки, взамен мегабайт конкурента, отсутствие сетевых коммуникаций. В реальности названое не служит минусом платформе Arduino, а скорее ее плюсом. Ведь, в сущности — чем «умнее» устройство, тем больше оно потребляет энергии, и там, где микроконтроллер может работать от аккумулятора неделями, полноформатный компьютер растратит заряд за считаные часы.
Что касается недостающих возможностей, их для платформы Arduino получают установкой аппаратных дополнений, которые, не загружая внутренний процессор устройства приносят требуемую в конкретный момент функциональность. То есть, общий комплекс оборудования собирается как кубики, каждый из которых предоставляет свои возможности. Нужна сеть — добавляем к микроконтроллеру плату сетевого WIFI/LAN/Bluetooth взаимодействия. При необходимости синтеза голоса устанавливается так называемый «шилд», обеспечивающий требуемую возможность. Что касается программной совместимости — большая часть подключаемого оборудования разрабатывается конкретно под названую платформу и никаких проблем ими управлять попросту не существует.
Особо хотелось бы отметить контроль сторонних устройств — за счет продуманной программно/компонентной схемы — Ардуино на высоте. Множество аналоговых и цифровых портов ввод/вывода расположенных сразу на плате микроконтроллера, явно дает ему преимущество в некоторых нишах применения, если сравнивать Arduino или Raspberry PI.
Назначение
Любое сравнение компьютеров и микроконтроллеров, сторонниками обоих лагерей, начинается с их характеристик. В случае Arduino vs Raspberry PI технические параметры каждого относительно противника можно оценить таблицей:
Одноплатный компьютер Raspberry PI | Микроконтроллер Arduino | |
---|---|---|
Процессор | Broadcom | ATMega |
Частота | 700–1500 МГц | 16 МГц |
Количество ядер | 1–4 | 1 |
Память | 512–4096 Мб оперативной | 32 Кб flash, 1 Кб EEPROM, 2 Кб оперативной |
Сеть, включая глобальную | Есть | Требуется использование дополнительных шилдов и базовые знания сетевого взаимодействия |
Потребление энергии | 10 Вт | 0.33 Вт |
Режим работы | Многозадачность | Реальное время |
Наличие сред разработки | Множество в рамках применяемых в Linux и способных компилировать код для ARM-процессоров | Arduino IDE, AtmelStudio или похожие в случае клонов платформы |
Звук | Все мультимедийные возможности большого ПК | Если нужен вывод чего-либо отличающегося от нескольких звуковых сигналов разных частот, необходимо использовать внешние платы расширения |
Видео (обработка) | Есть | Нет |
Периферия | Стандартная, предназначенная для работы с ПК | Подключается только с использованием специальных для каждого типа устройств шилдов. |
Внешний источник хранения данных | SD-карта | Через плату расширения SD-карта |
Управление контактными цепями (ШИМ-периферия) | Нет или сильно ограничено у клонов | Есть |
Подключение аналоговых датчиков | Только через дополнительные платы расширения | Есть |
Операционная система с интерфейсом пользователя | Linux, Android | Нет |
Порты | GPIO 26–40 pin, UART, i2c | 14 цифровых, 6 из которых можно использовать как ШИМ, 6 аналоговых, USB, ICSP. У некоторых моделей больше. |
Цифровые порты (ПК) | USB, mini HDMI, Composite | USB |
Встроенный видеоадаптер | Есть | Нет |
Контекст вышесказанного нужно понимать не только как сравнение конкретно платформ Raspberry PI и Arduino, но и в общем смысле проведения параллелей между одноплатными компьютерами и микроконтроллерами. Последние, конечно, проигрывают в мощностях, набирая свое только за счет экономного использования энергии и широкого спектра подключаемых дополнительных плат.
Еще одним преимуществом, которое часть специалистов считает недостатком, служит выполнение задач реального времени, которые в не специализированных ОС произвести сложно, а микроконтроллер их осуществляет изначально. Может для DIY проектов последнее и не критично, тем не менее фактор может иметь значение в линиях производств, связанных непосредственно с изготовлением химической продукции, топлива или иных процессов требующих точного соответствия процедур действий определенным промежуткам времени. Сюда, по большому счету можно отнести технологии, связанные с авиацией, космосом, судоходством, автомобилями и прочими критичными нишами использования высокоинтеллектуальных устройств.
Теперь немного о цене владения. Тут пока лидирует Arduino, который на порядок дешевле конкурента. Посудите сами, сравнив цены типовых Raspberry PI:
Модель | Цена |
---|---|
Raspberry PI 3 B | 4399 |
Raspberry PI 4 B | 5199 |
с распространенными моделями Arduino:
Arduino UNO R3 | 270–350 |
Arduino MEGA 2560 R3 | 670–5000* |
*есть платы-аналоги, производимые сторонними изготовителями, а есть именно заводы Arduino. Оригинальные микроконтроллеры понятно дороже, хоть и не факт, что они лучше качеством.
Разнообразие
Кроме общей информации приведенной ранее, при выборе собственно «мозга» конструкции, стоит обратить внимание на все возможности предоставляемые различными моделями высокоинтеллектуальных устройств Arduino и Raspberry [Ю.П.1] .
Модели Arduino
Для большинства выпускаемых моделей Arduino технические характеристики равны, к примеру, у многих процессор работает с частотой 16 МГц, при оперативной памяти в 2 Кб. Основные различия выражаются размерами (форм-фактором) и количеством пинов (контактов подключения внешних устройств и сенсоров). Хотя, есть и нюансы:
- Arduino Uno. Наверное, самая распространенная модель из находящихся на рынке. Подобная популярность вызвала появление множества клонов, выпускаемых за счет того, что платформа в своей основе открыта. В России, к примеру, одна из копий (их в реальности, множество) производится под торговой маркой RobotDyn UNO. Что касается характеристик UNO, — здесь акцентируется внимание на количестве портов: 20 цифровых, 6 аналоговых, 6 ШИМ. При этом устройство поддерживает два аппаратных прерывания. Размеры и расположение интерфейсной части позволяют удобно подключать и монтировать стандартные аппаратные платы расширения (шилды), разработанные специально для Ардуино. Сами габариты классически составляют 53.34×66 мм. Последние могут слегка различаться, здесь главным становится только правильное размерное расположение контактных площадок для подключаемых устройств.
- Arduino Leonardo. Более мощная модель по сравнению с UNO. Отличается расширенным контроллером ATmega32u4 и наличием большего количества портов: 12 аналоговых, 7 ШИМ, 5 контролируемых за счет аппаратных прерываний, USB и UART. Российский аналог выпускается под названием Iskra Neo. Габаритные размеры Leonardo составляют 6.9×5.3 мм, без учета разъема микро-USB и питания.
- Arduino Mini. Уменьшенный вариант относительно UNO, обладающий аналогичными возможностями. При использовании могут возникнуть проблемы с подключением внешних шилдов, которые, впрочем, легко решаются за счет дополнительной макетной платы. Единственным минусом, кроме названого можно считать только, что в составе устройства отсутствует USB разъем и для его прошивки требуется использовать дополнительный переходник USB-UART. Габариты Arduino MINI составляют всего 30×18 мм. Российский аналог называется Iskra Mini.
- Arduino Micro. названый микроконтроллер своей начинкой равен Leonardo, при размерах 48×18 мм. В отличие от MINI, место для USB разъема на устройстве нашлось.
- Arduino Mega 2560. Среди микроконтроллеров настоящего типа модель служит своеобразным топом по возможностям. В ней 8 Кб оперативной памяти и 256 Кб постоянной, кроме того расширено количество портов, их теперь 60. Причем 16 пинов предназначены целям аналогового обмена, а еще 16 отпущены под ШИМ.
Кроме названых существует много других моделей Arduino, но часть из них уже не подходит под понятие микроконтроллера, приближаясь характеристиками к возможностям полнофункционального компьютера. Здесь достаточно вспомнить Due ориентированный на использование в качестве штатного автомобильного ПК, Yún представляющий собой своеобразный гибрид и работающий на OpenWRT Linux. Не стоит забывать и о не полных клонах, производители которых добавляют свои возможности к продаваемому оборудованию.
Разнообразие Raspberry Pi
Raspberry PI, в отличие от Arduino, не может похвастаться широким ассортиментом или очень низкой ценой. Тем не менее одноплатным компьютерам названой марки есть чем удивить придирчивого покупателя.
- Raspberry PI 1 A и A+. Компьютер работающий на процессоре Broadcom BCM2835, с частотой 700МГц и одним ядром. Количество оперативной памяти в зависимости от модели отличается и составляет для А 256 Мб и 512 Мб в случае A+. Видеовыход организован двумя разъемами — RCA и HDMI. Также на плате размещен слот чтения SD-карт и GPIO порты в количестве 26 штук для А и 40 в случае А+. Кроме них присутствуют коннекторы SPI, I²C, I²S, UART. Габариты конструкции составляют 85.6×53.98 мм для A и 65×56 мм при A+. Разведенных сетевых адаптеров на плате нет, для их подключения требуется подсоединение отдельной аппаратной части.
- Raspberry PI 1 B и B+. Следующее поколение, отличающиеся 512Мб памяти изначально, двумя USB разъемами в случае B и 4 для B+. Начальные сетевые возможности представлены встроенным LAN-адаптером на 100 мб/с. Как и в случае первой модели, количество пинов GPIO зависит от наличия плюса в маркировке — для B+ их 40, при обычном B, только 26.
- Raspberry PI 2. Развитие первого одноплатника. Памяти в нем теперь 1 Гб, габариты аналогичны предыдущему поколению, присутствует сеть. Поменялся процессор, теперь микрокомпьютер использует четырех ядерный Cortex A7 с тактовой частотой в 900 МГц. Вся остальная начинка аналогична модели Raspberry PI 1 B+.
- Raspberry PI 3. Популярная модель следующего поколения. Теперь используется 64 битный процессор Cortex A53 1.2 Ггц. Встроенное видео повзрослело и работает на частотах 400 МГц. В состав одноплатника включен модуль Bluetooth 4.1 и WIFI 802.11n. Оперативной памяти, как и в случае B+ — 1 Гб. Габариты платы выросли аналогично и теперь составляют 85.6×56.5×17 мм.
- Raspberry PI Zero, включая модели W и 3B+. Главное отличие от старших собратьев — памяти всего 512 Мб, меньше физические габариты (66×32×5 мм) и одноядерный процессор ARM1176JZ-F 1 ГГц, вернее его аналог от Broadcom с индексом BCM2835. Теперь, что отличает подмодели W и 3B+. У обоих распаян Bluetooth, вместе с адаптером WIFI. В 3В+ разогнан указанный ранее процессор до 1.4 ГГц. Кроме того, в случае последней модели сделали апгрейд сетевой части до более современных реалий. К примеру, Bluetooth получил версию 4.2, WIFI обзавелся поддержкой всего диапазона 802.11, включая b/g/n/ac. Ethernet стал гигабитным.
- Raspberry PI 4 B. Мощность названого одноплатника бьет все возможные рекорды, до такой степени, что его все чаще начинают использовать в качестве полноценного домашнего ПК. Посудите сами: четырех ядерный Broadcom BCM2711 1.5 ГГц 64-bit, ОЗУ, в зависимости от модификации в 1, 2 или 4 Гб. Связь представлена Bluetooth 5.0, беспроводным адаптером Wi-Fi на 2.4 ГГц и 5.0 ГГц. На плате размещен адаптер гигабитного Ethernet. Кроме GPIO портов присутствуют коннекторы USB-С 3.0 и USB-С 2.0. Видео выводится на два micro-HDMI выход при аппаратном декодировании в качестве 4k и 60 Гц. Читайте подробный обзор Raspberry Pi 4.
Рекомендуем к прочтению: подробный обзор возможностей контроллера Raspberry Pi Zero W.
Выбор
Рассмотрев характеристики представленных аппаратов каждый может сделать выбор в том, что лучше подходит для конкретного проекта — Raspberry PI или Arduino. В обоих случаях есть и свои плюсы, и минусы. К примеру, одноплатник стоит относительно дороже, но обеспечивает мультимедийные и интерфейсные возможности из коробки. Его великий минус — энергопотребление, которое может доходить до 2 А (10 Вт) в пиковом режиме работы.
Микроконтроллер же, в своей простоте отличается малой мощностью, но лучшей аппаратной расширяемостью, чем одноплатный компьютер. К примеру, у него элементарно больше аналоговых портов, что означает больше возможностей в деле получения информации от внешних датчиков. Кроме названого плюса — его цена существенно ниже чем даже у самого дешевого Raspberry PI. Опять же, для использования в средах где требуется точное соблюдение временных промежутков в выполняемых процессах он незаменим. Тем и плоха многозадачность Raspberry — в каждый конкретный момент выполняется множество разных операций. И если мощности процессора заняты, требуемое в определенное время действие может задержаться до освобождения ресурсов, что в некоторых случаях становится критичным.
Ну, а про потребление энергии вообще отдельный разговор. Микроконтроллер тратит десятые части ватта, что позволяет использовать его с питанием от батареи очень долгое время. В десятки раз быстрее Raspberry PI разрядит любой аккумулятор, в отличие от того же Arduino.
И еще одна деталь, которая служит существенным минусом у одноплатника. Речь идет о завершении работы. Операционная система требует правильного закрытия всех файлов на внутреннем накопителе, что в свою очередь приводит к специфичному и относительно долгому процессу выключения Raspberry PI или похожих компьютеров. Arduino в данном случае достаточно просто выдернуть из розетки.
В общем, для каждого конкретного случая нужно подбирать логическое устройство индивидуально, выбирая между микроконтроллером и одноплатным компьютером.