Обзор игровой ТВ-приставки NVIDIA Shield TV. Электронный конструктор: Обзор лучших Shield-плат для Arduino Arduino wifi shield посоветуйте какой лучше

За последний год я вам рассказал почти о всех ключевых игроках на рынке Android-боксов: Xiaomi Mi Box (Amlogic S905X-H), MINIX Neo U9-H (Amlogic S912-H), Ugoos AM3 (Amlogic S912), Zidoo X8/X9S/X10 (Realtek RTD1295DD). Осталось рассказать только о HiMedia Q10 Pro на HiSilicon HI3798CV200 и NVIDIA Shield TV на NVIDIA Tegra X1. HiMedia Q10 Pro уже должен был быть у меня на обзоре, но возникли накладки со службой доставки, и бокс летит обратно к компании HiMedia. Он обязательно вернётся, чуть позже. Ну, а сегодня я расскажу вам о NVIDIA Shield TV. Нет, я, конечно, знал, что NVIDIA Shield TV - это крутой Android-бокс, но чтобы настолько… Это в реальности дьявольская шарманка для широкого круга потребителей (от «я вообще ничего не знаю и не умею, просто хочу включить бокс и получать удовольствие» до «что ты тут мне лепишь про автофреймрейт, равномерность, вывод HD звука и прошивки, я без тебя всё знаю»). У меня даже произошла профессиональная деформация - как в руки брать другие боксы, не скривив лицо, я теперь не знаю, но буду стараться. Любая компания, которая делает Android-боксы, должна раздать NVIDIA Shield TV всем своим ключевым сотрудникам, чтобы они чётко понимали, на какой продукт надо равняться.

Технические характеристики
Модель NVIDIA Shield TV (2017)
P2897
Комплект без геймпада
Материалы корпуса Пластик
SoC NVIDIA Tegra X1
4 ядра ARM Cortex-A57 + 4 ядра ARM Cortex-A53 до 2 ГГц
GPU GeForce 6 ULP (GM204)
ОЗУ 3 Гбайт DDR3
Внутренняя память 16 Гбайт (eMMC)
Расширяется с помощью USB-накопителя
USB 2 x USB 3.0
Поддержка карт памяти Нет
Сетевые интерфейсы Wi-Fi 802.11a/b/g/n/ac, 2,4 ГГц и 5 ГГц, MIMO 2x2
Gigabit Ethernet (1000 Мбит/с)
Bluetooth Bluetooth v4.1
Видеовыходы HDMI 2.0b (до 3840x2160@60 Гц, Rec. 2020, HDCP 2.2)
Аудиовыходы HDMI
Пульт Bluetooth + ИК
Микрофон
Питание 19 В / 2.1 А
ОС Android TV 7.0
SHIELD Experience 6.2
Комплектация и внешний вид
Приставка NVIDIA Shield TV поставляется в крупной и плотной картонной коробке.


Сбоку нанесена техническая информация.


Внутри: приставка, блок питания с европейской (тип C) и британской (тип G) насадками, пульт, краткое руководство и справочная информация, в том числе и на русском языке. Скромно. Даже HDMI-кабеля в комплекте нет.


Блок питания фирменный, достаточно крупный. Напряжение 19 В, максимальная сила тока 2,1 А. Длина кабеля около 180 см. Коннектор проприетарный.





Пульт очень компактный и увесистый. Лицевая часть сделана из глянцевого пластика. Нижняя часть металлическая, холодит руку. Работает по Bluetooth (для бокса) и ИК (для ресивера или ТВ). Питается от двух батареек CR2032. На лицевой части находятся: микрофон, D-pad, кнопка «Назад», кнопка «Домой», сенсорная панель регулировки громкости. На верхнем торце находится окошко ИК-передатчика.



Сам бокс очень компактный. Размеры 158 x 135 x 57 мм, вес около 250 г. Вот сравнение размеров с популярным боксом Mini M8S Pro.


Корпус бокса выполнен из пластика. Рубленные формы очень необычно смотрятся. Часть элементов матовая, часть глянцевая. Глянцевая часть моментально покрывается микроцарапинами.






Сверху есть зелёная вставка, которая мягко светится, когда бокс работает.


Снизу специально покрытие от скольжения и вентиляционные отверстия. Ножек нет.


Сзади: вентиляционные отверстия, два порта USB 3.0, порт HDMI, порт Ethernet и разъём питания.

Разбор устройства и система охлаждения
Откручиваем два винта сзади и разъединяем части корпуса.


Сразу видна активная система охлаждения в виде радиатора с кулером-улиткой.


На обратной стороне платы установлена eMMC SanDisk SDIN9DW4-16G. По спецификациям её линейная скорость составляет 300/45 Мбайт/c (тесты продемонстрируют соответствующую скорость).

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


Все ключевые элементы скрыты под экранирующими крышками. Антенны разведены на печатной плате. Не скрыты только контроллер питания и контроллер Ethernet Realtek RTL8111GS. Экранирующие крышки снимать не стал.

Хоть система охлаждения активная, но её практически не слышно в работе, даже при максимальной нагрузке. За всё время тестов и использования троттлинг замечен не был. Максимальная температура корпуса была в районе 45 °C.

Программное обеспечение
В качестве операционной системы выступает Android TV 7.0. Сама прошивка со всеми доработка от Nvidia называется SHIELD Experience. При первом запуске система предложила обновиться до SHIELD Experience 6.2. Это самая свежая прошивка на момент написания обзора.

Кратко расскажу, что такое Android TV…

Android TV - это по сути классическая система Android с некоторой адаптацией. Более того, начиная с Android 7, разница между Android и Android TV ещё больше размыта. В Android TV:

  • Нет навигационной панели и статусной строки.
  • Жёстко зафиксирован лаунчер (домашний экран) - Google Leanback.
  • Интерфейс адаптирован под экраны ТВ и управление с пульта.
  • Программы и сервисы Google тоже адаптированы под экраны ТВ и управление с пульта.
  • Google Play Store для Android TV содержит только те приложения, которые адаптированы для Android TV.
Система в Nvidia SHIELD TV практически полностью локализована на русский язык. Неточности в переводе или его отсутствие встречаются в единичных экземплярах. Сторонних программ мало. В основном это VOD-сервисы.

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




В Leanback отображаются только те программы, которые имеют адаптированный интерфейс для Android TV. Если у вас установлены обычные программы для Android (программы с интерфейсом для планшетов/смартфонов), то, чтобы их увидеть, достаточно установить специальную программу - она будет в списке Leanback, а при её открытии отобразятся обычные Android программы. Программ такого типа достаточное количество - выбирайте подходящую. Они есть как в Google Play, так и в виде открытых проектов и apk. Платные и бесплатные. На время тестов я использовал TV Apps Drawer.


Google Play Store выполнен в том же стиле. В нём присутствуют только программы, которые адаптированы для Android TV. Но многие программы и игры без адаптированного интерфейса прекрасно работают в Android TV. Если вам нужно установить программу, которой нет Google Play Store для Android TV, то тут несколько вариантов. Если программа не имеет никаких ограничений, и у неё просто не заявлен интерфейс Android TV, то откройте Google Play в веб-браузере на компьютере под той же учётной записью, что и на Shield TV. Выберите эту программу или игру, нажмите кнопку «Установить» и укажите, на какое устройство (в конкретном случае SHIELD TV). Или вы можете на боксе в браузере выполнить поиск этой программы или игры и открыть найденную ссылку в Google Play. Она без проблем откроется в Google Play Store для Android TV, и вы сможете произвести установку. Если в программе заявлены какие-то ограничения, тут только вариант установки из apk файла.



Панель Настроек стандартная для Android 7.0, выезжает в правой части экрана.


В системе работает Google Cast. В любой момент с любого устройства в поддерживаемых программах можно транслировать контент прямо на телевизор (Shield TV). Например, можно открыть Google Play Фильмы на смартфоне и запустить проигрывание на Shield TV. Управлять воспроизведением можно прямо на смартфоне (при этом на смартфоне само видео не воспроизводится). При необходимости Google Play Фильмы на смартфоне можно закрыть, а воспроизведение будет продолжаться на боксе.



Google Ассистент - это просто потрясающий инструмент для ТВ-бокса, интерфейс взаимодействия с боксом на естественном языке. Нажимаете кнопку микрофона на пульте и просто говорите, что вы хотите узнать или сделать. Качество распознавания на высоте. Отлично понимает как русский язык, так английский (одновременно). Но русский язык (который выбран в Настройках), конечно, в приоритете. С помощью Google Ассистент можно управлять дополнительными аксессуарами, умным домом. Возможности взаимодействия на русском языке пока ограничены. Вот некоторые примеры использования.

Запустить HD VideoBox. Запускается программа HD VideoBox.


Погода в Москве. Отображается погода.


Куда впадает река Дон? Азовское море.


вДудь. Открывается список роликов на YouTube.


Paradise Lost. Открывается список клипов Paradise Lost на YouTube.


Валериан и город тысячи планет. Открывается полная информация по фильму, актёрам и пр. Можно сразу перейти, например, HD VideoBox, если этот фильм там есть.


Что сегодня идёт в кино? Открывается актуальные список фильмов в кинотеатрах.


Поддержки root в системе нет. Но при необходимости вы легко сможете установить TWRP и добавить поддержку root. Желающие даже могут установить обычную чистую систему Android 7 на бокс.

Чтобы наслаждаться системой Android TV, нужно принять её идеологию управления пультом.

О всех других особенностях и настройках системы вы узнаете по ходу обзора.

Пульт, геймпады, HDMI CEC
Штатный пульт Shield Remote работает по Bluetooth (для связи с боксом) и по ИК (для работы с техникой в определённых случаях). На пульте есть сенсорная панель для регулировки громкости. Пульт достаточно удобный.


После первого запуска система сразу предложила обновить ПО пульта.


Краткое описание функций пульта:


Длительное нажатие кнопки Назад - меню питания (Сон или Перезагрузка).


Полностью выключить бокс можно через меню «Об устройстве».


Двойное нажатие кнопки Домой - список ранее запущенных программ.


Длительное нажатие кнопки Домой - меню записи видео с экрана, трансляция на Twitch, скриншот.


Поддержка HDMI CEC должна работать следующим образом в идеальной ситуации:

  • A. Отправляете в сон бокс с помощью Shield Remote, ТВ/ресивер выключается (переходит в режим ожидания).
  • B. Будите бокс с помощью Shield Remote (любой кнопкой), ТВ/ресивер включается.
  • C. С помощью Shield Remote можно регулировать громкость ТВ/ресивера (если включена такая опция).
  • D. Включаете ТВ/ресивер штатным пультом ТВ/ресивера, Shield TV включается.
  • F. Выключаете ТВ/ресивер штатным пультом ТВ/ресивера, Shield TV выключается.
  • G. Пультом от ТВ можно управлять боксом.
Но это всё в идеальной ситуации. А на практике поддержка разных функций HDMI CEC плавает от одной модели ТВ к другой. Я ещё не встречал ни одного Android-бокса, у которого была бы идеальная поддержка HDMI CEC со всеми ТВ, даже с разными моделями ТВ одной марки. Именно из-за этого в Shield Remote реализована дополнительная поддержка ИК. Т.е. взаимодействие с боксом осуществляются через Bluetooth, а часть функций с помощью ИК (если не работают их аналоги по HDMI CEC).

В Настройках можно включить поддержку CEC для функций питания. Там же можно включить поддержку ИК для определённой модели ТВ/ресивера и выбрать, как будет регулироваться громкость: на боксе, на ТВ/ресивере с помощью CEC, на ТВ/ресивере по ИК.



На моём основном ТВ LG работали следующие функции:
  • A. Нет. Только по ИК. При этом в момент перевода бокса в сон пульт нужно направлять в сторону ТВ.
  • B. Да.
  • C. Нет. Только по ИК.
  • D. Да.
  • F. Да.
  • G. Да.
У пульта есть три недочёта. Существенный - это дальнобойность ИК передатчика. На расстоянии более двух метров от ТВ управление по ИК работало через раз. Менее существенные - отсутствие отдельной физической кнопки питания и не очень удобное сенсорное регулирование громкости (лучше бы это были стандартные механические кнопки).

У меня в обзоре версия бокса без комплектного геймпада. Дешёвый китайский геймпад (за 7$) и Xiaomi Mi Gamepad подключились по Bluetooth и работали без проблем. Конечно, дешёвый геймпад только для тестов. Играть на нём - врагу не пожелаешь. А вот Xiaomi Mi Gamepad я и мои дети просто обожаем. Он относится к тем геймпадам, которые не хочется выпускать из рук.

Производительность
В приставке используется SoC NVIDIA Tegra X1 - 4 ядра ARM Cortex-A57 и 4 ядра ARM Cortex-A53 до 2 ГГц, GPU GeForce 6 ULP (GM204). Это топовый процессор для боксов, и на рынке больше нет боксов с SoC аналогичного класса. Система и любые программы работают очень быстро и плавно. Про игры я расскажу отдельно в следующем разделе обзора. Нужно понимать, что главное в Android-боксах - это медиа-функциональность, т.е. VPU и реализация его возможностей в ПО. Об этом тоже речь пойдёт в отдельных разделах обзора. Но процессор и GPU должны обладать достаточной мощностью, чтобы работа с устройством была комфортной. NVIDIA Tegra X1 обладает мощностью, которая с огромным запасом покрывает комфортную работу. А мощность GPU вообще запредельная.


В NVIDIA Shield TV интерфейс отображается с максимальным разрешением 1920x1080. Даже если выбрать разрешение 3840x2160 в системе, интерфейс и все программы будут продолжать работать с разрешением 1920x1080 и масштабированием до 3840x2160. Как и во многих боксах, только объекты SurfaceView могут выводить реальное разрешение 4К. Именно такой вывод используются в видеоплеерах (и не только в них - программы для просмотра фотографий тоже могут использовать такой вывод, даже игры в теории), чтобы обеспечивать реальное разрешение 4К для видео. Т.е. по сути не имеет значения, с каким разрешением запускать тестовые программы и игры - при 1920x1080 и 3840x2160 результат будет идентичен. Но для чистоты тестов я использовал системное разрешение 3840x2160.

CPU
GPU

NVIDIA Shield TV
3DMark Sling Shot Extreme 4100
Bonsai 4200 (60 к/с)
GFXBenchmark T-Rex 60 к/с
GFXBenchmark T-Rex 1080p Offscreen 121 к/с
GFXBenchmark Manhattan 3.1 46 к/с
GFXBenchmark Manhattan 3.1 1080p Offscreen 47 к/с
GFXBenchmark Car Chase 29 к/с
GFXBenchmark Car Chase 1080p Offscreen 30 к/с
Результаты говорят сами за себя. Даже в Car Chase обеспечиваются приемлемые 30 к/с.
Игры
Игры для NVIDIA Shield TV можно разделить на три группы:
  • Игры для Android (это игры из Google Play)
  • Стриминг игр с ПК через NVIDIA GameStream
  • Облачный стриминг игр через GeForce NOW
Игры для Android

Сначала я хотел составить таблицу с некоторыми играми (как я делал в предыдущих своих обзорах). Попробовав около 10 игр, я плюнул на эту затею. Нет ни одной игры для Android, которая не работала бы идеально по скорости на боксе Shield TV. Отличную и огромную подборку игры можно посмотреть на сайте NVIDIA (раздел Library) . Там же сразу можно сразу перейти в Google Play для загрузки или покупки. Все игры поддерживают геймпад или пульт. Как это обычно бывает, для Shield TV есть эксклюзив, например: Metal Gear Solid 2/3, Half-Life 2, Portal, Doom 3, Never Alone и пр.

Стриминг игр с ПК через NVIDIA GameStream

В из своих обзоров я вам уже рассказывал о потрясающей программе Moonlight Game Streaming для Android, с помощью которой на многих Android-боксах можно пользоваться сервисом NVIDIA GameStream, т.е. играть в игры, которые установлены у вас на ПК с видеокартой Nvidia - стримить их на бокс. Для Shield TV вам не нужны никакие сторонние программы. Всё уже есть в системе. Программа называется NVIDIA Games. Она объединяет в себе сервис GeForce NOW и NVIDIA GameStream, и локальные игры, установленные на боксе. Просто подключаетесь к ПК в локальной сети, выбираете любую игру на нём и играете. Можно задать разрешение и частоту кадров (до 2160p60).




NVIDIA Shield TV действительно может. Ни по Ethernet, ни по Wi-Fi (5 ГГц, MIMO 2x2) нет никакого различия в том, играете вы на ПК или на боксе. Реакция мгновенная, к качеству не придраться. Я специально проверил задержку в программе Moonlight (она умеет её показывать). По Ethernet задержка составила всего 2 мс (аппаратный декодер 1 мс). Т.е. её фактически нет. Для примера на боксах с AMLogic задержка составляет в среднем 60 мс - играбельно, но в некоторых играх ощущается запаздывание. С NVIDIA Shield TV таких ощущений нет. Есть только ощущение, что играешь, сидя за ПК.

Облачный стриминг игр через GeForce NOW

Это облачный сервис от компании NVIDIA. Игра запускаются удалённо на серверах компании NVIDIA с картами GeForce GTX 1080 (серверы распределены по зонам в разных странах, можно вручную при необходимости выбрать лучший вариант). Выбор игр достаточно большой. Стоимость подписки составляет 650 рублей в месяц. Есть бесплатные и платные игры. Играть комфортно.







Внутренний и внешние накопители

В свежей системе пользователю доступно около 10 Гбайт внутренней памяти. Линейная скорость чтения находится на запредельном для боксов уровне, а вот линейная скорость записи на уровне бюджетных боксов - 252/27 Мбайт/с.


Подключённый по USB 3.0 накопитель может выступать в роли отдельного съёмного накопителя или может быть объединён в единое целое с внутренней памятью устройства. Необходимость внешнего накопителя, выбор его роли, выбор типа накопителя (USB-флешка, жётски диск, SSD) зависят от сценария использования бокса.

Проверка поддерживаемые файловые систем.

FAT32 exFAT NTFS HFS+
USB чтение / запись чтение / запись чтение / запись чтение / запись
С поддержкой файловых систем всё идеально.

Я подключал разные накопители. Диск 3,5" объёмом 2 Тбайт работал без проблем. Вот для примера скорость быстрой USB-флешки (она соответствует скорости на PC):

Сетевые интерфейсы и сетевые сервисы
За проводную сеть отвечает контроллер Realtek RTL8111GS. За беспроводную сеть отвечает контроллер (он скрыт под металлическим экраном) с поддержкой 802.11a/b/g/n/ac, 2,4 ГГц и 5 ГГц, MIMO 2x2. Антенны выполнены на печатной плате.

Приставка находится в 5 метра от маршрутизатора Xiaomi Mi Roiter 3G через одну железобетонную стену - это место, в котором я тестирую все Android-боксы и мини-ПК. Рекордсменом на данный момент является Xiaomi Mi Box 3 Enhanced (802.11ac, MIMO 2x2) - 150 Мбит/с.

Тесты проводились с помощью iperf 3. Сервер iperf запущен на компьютере, который подключён к локальной сети по Gigabit Ethernet. Выбран ключ R - сервер передаёт, устройство принимает.

Реальная скорость передачи данных по проводному интерфейсу находится на уровне 945 Мбит/с.


Скорость Wi-Fi при подключении по стандарту 802.11ac составляет 166 Мбит/с. И это рекордные значения для Android-боксов.


За всё время тестов (большую часть времени я провёл именно с Wi-Fi подключением) разрывов связи и переподключений не было. IPTV (разные провайдеры), Torrent Stream Controller, VOD-сервисы, BDRip, BDRemux, UHD BDRip, UHD BDRemux с NAS проигрывались без проблем. BDRip, BDRemux с торрентов напрямую тоже. А вот и UHD BDRip и UHD BDRemux с торрентов напрямую стабильно уже только по проводной сети.

В системе есть встроенные Samba/CIFS клиент и сервер. Можно подключать сетевые хранилища (NAS) в Настройках. При этом они монтируются в папке /storage (т.е. полноценно на уровне файловой системы). Минус в том, что они монтируются только для чтения. Похоже на баг, потому что, когда эта функция появилась в одном из обновлений, в описании значился доступ для записи.


Сервер тоже включается в Настройках. При этом вы получаете полный доступ (чтение и запись) к внутреннему и внешнему накопителю (если он подключён).



Общая информация о декодировании и выводе аудио/видео
У каждого бокса есть определённые нюансы при работе с аудио и видео. Ключ к комфортному использованию бокса лежит через знания этих нюансов и правильному подбору ПО для определённых задач (видеоплеера).

NVIDIA Shield TV не имеет лицензии для декодирования (downmix) звука в форматах AC3, DTS и пр., следовательно, в системе нет таких декодеров, ни в StageFright, ни в MediaCodec. Подобные потоки нужно декодировать программно (средствами видеоплеера) или отдавать в исходном виде на ресивер/ТВ (видеоплеер должен это уметь).

В NVIDIA Shield TV декодеры в библиотеках StageFright и MediaCodec имеют равнозначное качество. В обоих вариантах поддерживается качественное устранение чересстрочности. Каждое поле преобразуется в отдельный кадр, т.е., например, поток 25i на входе превращается в 50p на выходе.

NVIDIA Shield TV поддерживает так называемый «современный» автофреймрейт, т.е. в системе реализовано API для переключения частот развёртки. Автофреймрейтом управляют сами программы. Это значит, что выбирать нужно видеооплееры именно с поддержкой современного автофреймрейта.

SoC Tegra X1 не поддерживает декодер VP9 profile 2. Это значит, например, в YouTube не будет поддержки HDR.

В системе нет функции конвертации HDR в SDR. Это значит, что вы не сможете комфортно смотреть HDR контент на ТВ без поддержки HDR.

ViMu Media Player . Этот лёгкий плеер с удобным и простым интерфейсом великолепно подходит для Shield TV. Особенно в связке с HD VideoBox, Torrent Stream Controller (и подобных P2P IPTV), IPTV менеджеров с внешним плеером. Он идеально подходит для проигрывания видео, вплоть до BDRemux локально, с NAS и торрентов напрямую через Ace Stream. Он поддерживает современный автофреймрейт (включается в настройках). У него есть программный декодер AC3. У него есть удобная фнукция масштабирования видео (с индивидуальными настройками для 4:3, 16:9, 2.35:1). Он умеет пропускать AC3 и DTS на ресивер/ТВ для декодирования (HD форматы я с этим плеером не тестировал). У ViMu Media Player v6.50 на момент написания обзора наблюдались проблемы с проигрыванием контента HEVC Main 10 на Shield TV (с HEVC никаких проблем).

Kodi 17+ . Это очень мощный медиа-комбайн с каталогизатором. Но в конкретном случае нас интересует только его плеер, который является очень продвинутым и по реализации, и по детальным настройкам аудио и видео. У него есть все актуальные программные декодеры (downmix) звука. На NVIDIA Shield TV он умеет отдавать напрямую все актуальные форматы звука (в том числе и DTS:X, Dolby Atmos, PCM 2.0 24/192). Он поддерживает современный автофреймрейт. Он идеально подходит для проигрывания видео, вплоть до UHD BDRemux (4K с HDR), локально, с NAS и торрентов напрямую через Ace Stream.

Поддержка звуковых форматов и вывод звука
Вывод звука осуществляется через HDMI, USB ЦАП или Bluetooth. Посмотрим, как в реальности обстоят дела с выводом звука по HDMI. Для теста использовался ресивер Onkyo.

Вывод по HDMI

С выводом многоканального звука и Hi-Res всё идеально.

Поддержка видео форматов и вывод видео
NVIDIA Shield TV имеет выход HDMI 2.0b. Поддерживается разрешение до 3840x2160 60 Гц с HDR (Rec. 2020). Можно выбирать цветовое пространство HDMI. Интерфейс выводится с максимальным разрешением 1920x1080. Даже если выбрать разрешение 3840x2160 в системе, интерфейс и все программы будут продолжать работать с разрешением 1920x1080 и масштабированием до 3840x2160. Как и во многих боксах, только объекты SurfaceView могут выводить реальное разрешение 4К с поддержкой HDR, они и используются во многих плеерах.


Тестирование я выполнял на обычном потребительском материале (он был в сети на NAS), используя ViMu и Kodi.

Приставка справляется с декодирование H.264 до 2160p60. 60 кадров честные. Любые BDRip, BDRemux и видео с экшн-камер (2160p60) проигрываются без проблем. Приставка справляется с декодирование H.265 Main 10 (10 бит) до 2160p60. 60 кадров честные. Любые UHD WEBRip, UHD BDRip, UHD BDRemux с HDR проигрываются без проблем в Kodi. С ViMu v6.50 возникли какие-то странности. Плеер отказывался играть и 1080p, и 2160p HEVC Main 10 (при этом с HEVC не было никаких проблем). Это какой-то баг в программе. В любом случае это не так критично, т.к. для «тяжёлого» контента UHD BDRip, UHD BDRemux лучше подходит именно Kodi. Никаких проблем с переключением звуковых дорожек и перемоткой тоже не было. К качеству видео и HDR визуально у меня претензий нет.

Возникла проблема только с одним тестовым файлом LG 4K Demo: View the Feeling (HEVC 2160p29.97). Была нарушена равномерность.

В системе нет собственного специализированного плеера, BD ISO проигрываются в Kodi без поддержки меню.

Чересстрочное видео проигрывается с корректным устранением чересстрочности. Каждое поле превращается в отдельный кадр.

Автофреймрейт

Автофреймрейт работает отлично. Поддерживаются все частоты развёртки: 23.976, 24, 25, 29.97, 30, 50, 59.94, 60 Гц. В ViMu переключение происходит с полным соответствием. В Kodi происходит удвоение частоты развёртки для 25, 29.97, 30 к/с. Но это стандартный режим работы автофреймрейта для Kodi, в конфигурационном файле это можно изменить.

Во всех режимах равномерность была идеальной. Лучше уже быть не может. Вот снимки тестового материала в ViMu (они идентичные для Kodi): 24p (бегущий квадрат) при 24 Гц, 24p (стрелка) при 24 Гц, 25p при 25 Гц, 30p при 30 Гц, 50p при 50 Гц, 60p при 60 Гц.







С режимом 23,976 Гц тоже никаких проблем, дублирующих кадров на протяжении 2 минут в ролике с быстрым панорамированием я визуально не увидел. И на серии снимков с выдержкой 1 сек. тоже ничего подозрительного не выявилось.

Поддержки 3D нет. MVC MKV отображается в 2D. BD3D ISO в Kodi 17.6 отображается только в 2D.

DRM и легальные VOD-сервисы
В системе есть поддержка Google Widevine DRM Level 1 и HDCP 2.2.


Более того, бокс NVIDIA Shield TV сертифицирован для использования с ключевыми VOD-сервисами - Netflix и Amazon Prime Video. Клиенты предустановлены в системе и обладают полноценной поддержкой 4К, HDR и выводом многоканального звука (для соответствующего контента).

VOD-сервисы и проигрывание видео с торрентов напрямую
Одной из самых популярных программ для Android-боксов в России является HD VideoBox. Это агрегатор нелегальных онлайн-кинотеатров и удобный поисковик по торрентам с продуманной навигацией, поиском и управлением. В связке с ViMu работает прекрасно. Естественно, работает автофремйрейт.




Но самая его важная функция - это поиск по торрент-трекерам. Учитывая, что программа Ace Stream (которая умеет на лету загружать торренты и отдавать видеоплееру поток) буквально недавно научились кэшировать торренты в ОЗУ.

Связка HD VideoBox + Ace Stream + ViMu работает на NVIDIA Shield TV безупречно вплоть до BDRemux с любым объёмом (хоть 40 Гбайт). При этом не используется внутренняя память или внешний носитель для кэширования, только ОЗУ. Пару кликов в HD VideoBox, просто выбираете нужный торрент и смотрите видео с потрясающим качеством, автофремйрейтом и многоканальным звуком. Переключение звуковых дорожек и перемотка работают очень быстро.


C UHD BDRip и UHD BDRemux немного сложнее, т.к. накладываются дополнительные условия. Нужна высокая пропуская способность вашего канала Интернет. Нужно много сидеров, которые обеспечат высокую скорость загрузки торрента. 3 Гбайт ОЗУ в Shield TV уже недостаточно для кэширования, и нужно использовать внешний накопитель и достаточно быстрый (быстрый жесткий диск или SSD). Если эти условия соблюдены, то HD VideoBox + Ace Stream + Kodi сделают всю работу для вас на NVIDIA Shield TV. UHD BDRemux (4К с HDR) проигрываются отлично с выводом HD звука без предварительной загрузки. Автофреймрейт работает корректно, звуковые дорожки переключаются, перемотка работает (но долгая с буферизацией). Будущее уже тут. Пусть оно и не совсем легальное, но сам факт - бокс NVIDIA Shield TV к такому готов.

IPTV
IPTV от EDEM, OTTClub, локального провайдера работало идеально. Проблем ни с одним каналом не возникло. Perfect Player (одна из лучших программ для IPTV) с декодером HW+ переключала каналы за доли секунды. А модифицированная версии (которая переключает частоту развёртки на 50 Гц при работе) отображала видео с идеальной равномерностью для 99% каналов (там потоки 25p, 50p, 25i).


С Torrent Stream Controller + ViMu тоже всё хорошо. Все каналы (большинство из которых - это прямые потоки со спутника без пережатия) шли с корректным устранением чересстрочности и автофреймрейтом.

YouTube
Клиент YouTube для Android TV (2.02.08) без проблем воспроизводит видео вплоть до 2160p60. Только не доступна поддержка HDR (Tegra X1 не поддерживает декодер VP9 profile 2, который нужен для YouTube). Я проверил варианты со всеми частотами кадров, которые используются на YouTube (загрузив туда тестовые ролики). Во всех случаях использовалось корректное преобразование (т.к. автофреймрейт YouTube для Android TV не поддерживает, вывод осуществлялся при 60 Гц), пропусков кадров не было. 24p - 2:3 pulldown, 25p - 2:3:2:3:2 pulldown, 30p - дублирование кадров, 50p - 1:1:1:1:2 pulldown.






Заключение
NVIDIA Shield TV - это очень функциональный и качественный Android-бокс прямо из коробки от А-бренда. Его возможности - это предел того, что вообще могут современные Android-боксы. Конечно, устройство такого уровня просто не может стоит дёшево. И NVIDIA Shield TV стоит дороже большинства боксов на рынке. Перечислю основные плюсы и минусы устройства.

ПЛЮСЫ

  • Очень высокая производительность.
  • Стабильность работы (за всё время тестов не было ни единого системного сбоя).
  • Качественная и быстрая работы Wi-Fi (поддержка MIMO 2x2).
  • Поддержка «современного» (через системное API) автофреймрейта для всего спектра частот развёртки, в том числе и для дробных частот.
  • Вывод HD звука (в том числе DTS:X и Dolby Atmos) в Kodi 17+ (и не только).
  • Вывод Hi-Res стерео в формате 24/192.
  • Технологичный пульт и продуманные режимы регулировки громкости.
  • Идеальная поддержка стриминга игр GameStream с локального ПК и GeForce NOW.
  • Максимальная поддержка легальных VOD-сервисов.
  • Способность проигрывания торрентов напрямую, вплоть до UHD BDRemux, с перемоткой.
  • Встроенный Samba/CIFS клиент (с монтированием на уровне файловой системы) и сервер.
  • Работа YouTube вплоть до 2160p60 (VP9)
  • Android TV 7.0 с Google Ассистент и дальнейшие обновления от А-бренда.
МИНУСЫ
  • Нет поддержки HDR в YouTube (VP9 profile 2).
  • Нет поддержки вывода 3D (имеется в виду вывод Frame Packing) и MVC (проигрывается только 2D).
  • Нет отдельной кнопки питания на пульте, и ИК-передатчик слабой мощности.
  • Высокая цена.
Приставка NVIDIA Shield TV для обзора предоставлена редакцией iXBT и компанией NVIDIA . До 25 декабря у NVIDIA действует предновогодняя скидка, и цена на комплект без геймпада (как в обзоре) составляет 12390 рублей . После 25 декабря цена уже будет 13490 рублей. При желании можно выбрать комплект с геймпадом NVIDIA Shield Controller или докупить его отдельно.

Одним из ключевых преимуществ платформы Arduino является популярность. Популярную платформу активно поддерживают производители электронных устройств, выпускающие специальные версии различных плат, расширяющих базовую функциональность контроллера. Такие платы, совершенно логично называемые платами расширения (другое название: arduino shield, шилд), служат для выполнения самых разнообразных задач и могут существенно упростить жизнь ардуинщика. В этой статье мы узнаем, что такое плата расширения Arduino и как ее можно использовать для работы с разнообразными устройствами Arduino: двигателями (шилды драйверов двигателей), LCD-экранами (шилды LCD), SD-картами (data logger), датчиками (sensor shield) и множеством других.

Давайте сперва разберемся в терминах. Плата расширения Ардуино – это законченное устройство, предназначенное для выполнения определенных функций и подключаемое к основному контроллеру с помощью стандартных разъемов. Другое популярное название платы расширения – англоязычное Arduino shield или просто шилд. На плате расширения установлены все необходимые электронные компоненты, а взаимодействие с микроконтроллером и другими элементами основной платы происходят через стандартные пины ардуино. Чаще всего питание на шилд тоже подается с основной платы arduino, хотя во многих случаях есть возможность запитки с других источников. В любом шилде остаются несколько свободных пинов, которые вы можете использовать по своему усмотрению, подключив к ним любые другие компоненты.

Англоязычное слово Shield переводится как щит, экран, ширма. В нашем контексте его следует понимать как нечто, покрывающее плату контроллера, создающего дополнительный слой устройства, ширму, за которой скрываются различные элементы.

Зачем нужны шилды arduino?

Все очень просто: 1) для того, чтобы мы экономили время, и 2) кто-то смог заработать на этом. Зачем тратить время, проектируя, размещая, припаивая и отлаживая то, что можно взять уже в собранном варианте, сразу начав использовать? Хорошо продуманные и собранные на качественном оборудовании платы расширения, как правило, более надежны и занимают меньше места в конечном устройстве. Это не значит, что нужно полностью отказываться от самостоятельной сборки и не нужно разбираться в принципе действия тех или иных элементов. Ведь настоящий инженер всегда старается понять, как работает то, что он использует. Но мы сможем делать более сложные устройства, если не будем каждый раз изобретать велосипед, а сосредоточим свое внимание на том, что до нас еще мало кто решал.

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

Наиболее популярным примерами шилдов являются платы расширения для работы с датчиками, двигателями, LCD-экранами, SD-картами, сетевые и GPS-шилды, шилды со встроенными реле для подключения к нагрузке.

Подключение Arduino Shields

Для подключения шилда нужно просто аккуратно «надеть» его на основную плату. Обычно контакты шилда типа гребенки (папа) легко вставляются в разъемы платы ардуино. В некоторых случаях требуется аккуратно подправить штырки, если сама плата спаяна неаккуратно. Тут главное действовать аккуратно и не прилагаться излишней силы.

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

Программирование Arduino Shield

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

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

Как правило, эта плата расширения идет в наборах ардуино и поэтому именно с ней ардуинщики встречаются чаще всего. Шилд достаточно прост – его основная задача предоставить более удобные варианты подключения к плате Arduino. Это осуществляется за счет дополнительных разъемов питания и земли, выведенных на плату к каждому из аналоговых и цифровых пинов. Также на плате можно найти разъемы для подключения внешнего источника питания (для переключения нужно установить перемычки), светодиод и кнопка перезапуска. Варианты шилда и примеры использования можно найти на иллюстрациях.




Существует несколько версий сенсорной платы расширения. Все они отличаются количеством и видом разъемов. Наиболее популярными сегодня являются версии Sensor Shield v4 и v5.

Данный шилд ардуино очень важен в робототехнических проектах, т.к. позволяет подключать к плате Arduino сразу обычный и серво двигатели. Основная задача шилда – обеспечить управление устройствами потребляющими достаточно высокий для обычной платы ардуино ток. Дополнительным возможностями платы является функция управления мощностью мотора (с помощью ШИМ) и изменения направления вращения. Существует множество разновидностей плат motor shield. Общим для всех них является наличие в схеме мощного транзистора, через который подключается внешняя нагрузка, теплоотводящих элементов (как правило, радиатора), схемы для подключения внешнего питания, разъемов для подключения двигателей и пины для подключения к ардуино.



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




Платы расширения для прототипирования

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





Arduino LCD shield и tft shield

Данный тип шилдов используется для работы с LCD-экранами в ардуино. Как известно, подключение даже самого простого 2-строчного текстового экрана далеко не тривиальная задача: требуется правильно подключить сразу 6 контактов экрана, не считая питания. Гораздо проще вставить готовый модуль в плату ардуино и просто загрузить соответствующий скетч. В популярном LCD Keypad Shield на плату сразу заведены от 4 до 8 кнопок, что позволяет срзау организовать и внешний интерфейс для пользователя устройства. TFT Shield также помогает



Arduino Data Logger Shield

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




Краткое резюме

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

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

Arduino - крохотная плата с большими возможностями, типичный представитель Open Hardware и одно из первых устройств, завоевавших широкую популярность у аппаратных хакеров. Не мудрено: удобный электронный конструктор позволяет даже новичкам быстро разобраться и начать с нуля разрабатывать собственные устройства.

Как быстро начать?

Для быстрого начала новичку проще всего купить готовую плату - стоит она примерно $30. На плате будет всего два чипа - микроконтроллер ATMEL и микросхема USB-интерфейса, к которой он подключен. Все остальные элементы добавляются самостоятельно по мере необходимости.

Программы для Arduino (называемые на сленге «скетчами») пишутся на языке Wiring. По сути, это обычный C++, расширенный специальными процедурами типа «digitalWrite» (записать значение в порт) или «analogRead» (прочитать значение из АЦП). Осваивается все это в один-два присеста, особенно если у тебя уже есть опыт программирования на C++. Написанные скетчи компилируются и загружаются в Arduino через USB с помощью среды ArduinoIDE (arduino.cc/en/Main/Software). Чтобы собрать простейший проект требуются какие-то минут тридцать, без необходимости глубокого погружения в даташиты ATMEL и конструкции ассемблера. Язык интуитивно понятен, а разобраться с нюансами поможет неплохой онлайн-хелп. Да и паять, кстати, тоже необязательно, если есть беспаечная макетка и набор проводков.

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

Что такое Shield-плата?

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

Можно устанавливать несколько плат одновременно, главное, чтобы устройства не конфликтовали за одни и те же пины Arduino. Немного покопавшись в сети, можно найти таблицы со списком популярных шилдов и занятых ими пинов (shieldlist.org).

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

В первую очередь, на нем обязана быть кнопка сброса. Оценить это может любой, кто отлаживал Arduino с одетым шилдом - штатная кнопка сброса становится недоступной и упражнения по ее нажиманию при помощи подручных продолговатых предметов порядком раздражают. Хороший шилд также должен быть совместим с Arduino Mega - если у тебя расширенная версия Arduino на ATmega1280 или ATmega2560, еще не факт, что с ней заработает шилд, созданный для привычной Uno или Duemilanova. А все из-за того, что в Mega отвечающие за аппаратный SPI пины перенесли в другое место! Так что если шилд общается с Arduino по шине SPI, обязательно изучи его «брюхо» - надеяться на совместимость с Mega можно, если ты увидишь там не только штырьки, но и черный квадратный разъем-розетку 2х3. Ниже я подготовил обзор лучших готовых Shield-плат для решения частых задач.

Управление моторами

Если необходимо управлять моторами, смело используй шилд Motorshield, созданный талантливым американским инженером Лимором Фридом aka ladyada (ladyada.net/make/mshield/).

Главное преимущество шилда заключается в его универсальности, поскольку он поддерживает до четырех моторов прямого тока, до двух шаговых двигателей и двух серво-приводов. Можно комбинировать: например, один шаговый и два двигателя постоянного тока. Основу шилда обеспечивают две микросхемы счетверенного H-моста L293D, способные выдавать ток до 600 мА на канал и работать напряжениями от 4,5 до 36 В. Запараллелив входы одной микросхемы, можно отодвинуть ограничение по току до 1,2 А.

С помощью этого шилда можно, например, управлять одновременно моторами и рулевой тягой модели гоночного автомобиля, шаговыми двигателями координатного стола. Для более мощных нагрузок можно использовать Ardumoto с чипом L298 от фирмы Sparkfun (два канала с токами нагрузки до 2 А) или ее более продвинутую версию Monster Moto Shield (sparkfun.com/products/10182) на двух чипах VNH2SP30, способную отдавать уже до 30 А с предельным напряжением 41 В. Если дело дойдет до последнего варианта, не забудь посоветоваться со знающими спецами: все-таки нагрузки довольно приличные, возможно придется обзавестись дополнительным радиатором, чтобы не обжечься.

Работа с Ethernet

Существуют два основных варианта шилдов для работы с Ethernet - на основе старого доброго чипа ENC28J60 от Microchip и более совершенного W5100 от Wiznet. Оба решения используют для обмена шину SPI, отнимая всего четыре пина Arduino. Но ENC28J60 появился много раньше и явно проигрывает продвинутому W5100: только 10 Мбит/с, нет аппаратной поддержки IP, UDP, TCP. Кроме того, W5100 позволяет работать с четырьмя сокетами (что означает поддержку до четырех одновременных соединений).

В общем, настоятельно рекомендую использовать именно W5100, потому что он существенно экономит ключевой ресурс микроконтроллера - оперативную память (SRAM), которую приходится экономить (у Atmega328 - всего один килобайт). Ну и все остальные преимущества предобработки налицо: пока W5100 сам переспрашивает пакеты по протоколу TCP и считает контрольные суммы заголовков, Atmegа может спокойно заниматься более важными вещами.

Другим образцовым примером является шилд Arduino Ethernet Shield (arduino.cc/en/Main/ArduinoEthernetShield) от команды Arduino. С его помощью можно создать скетч, который будет способен:

  • получать динамический IP-адрес по DHCP;
  • устанавливать время по протоколу NTP;
  • резолвить имена через DNS;
  • проходить авторизацию через RADIUS;
  • выполнять функции несложного Web-сервера или выступать в качестве Web-клиента, формируя запросы и осуществляя парсинг ответов.

Из схожих плат можно отметить разработку Freetronics - EthernetShield with PoE (freetronics.com/products/ethernet-shieldwithpoe). Идея питания Ethernet-устройства от той же линии Ethernet, к которой оно и подключено, родилась в 2001 году, а два года спустя стала официальным промышленным стандартом IEEE 802.3af. По собственному опыту замечу, что нет ничего удобнее для питания автономных коробочек, которые общаются по Ethernet и разбросаны по зданию в радиусе 100 метров от специального питающего коммутатора. Стоит такой шилд чуть дороже, требует приобретения дополнительной микроплатки модуля PoE и вместо SD-разъема имеет макетное поле.

Применение такому шилду - исключительно в неподвижных конструкциях, требующих взаимодействия по сети TCP/ IP. Например, отображение в браузер состояния подключенных датчиков или удаленное управление какими-то механизмами.

Сразу вспоминается проект «твиттер-цветочка», в котором связка Arduino+Ethernet при помощи воткнутого в землю датчика влажности через твиттер жаловалась на сухость и требовала немедленного полива. При всем многообразии применения EthernetShield хочу предупредить о том, что каждая библиотека, безусловно, экономит время, однако и отнимает несколько килобайт флеш-памяти микроконтроллера. Поэтому, если рано или поздно упрешься в предельный размер 30 Кб своей Arduino Duemilanova - подумай о замене на Mega 2560, памяти для скетчей будет раз в восемь с половиной больше.

Использование SD-карт

В проектах, связанных с накоплением какой-либо информации (например, GPS-координат), часто требуется нарастить объем доступной энергонезависимой памяти. Проще всего это сделать, подключив стандартную SD-карту. Для этого есть несколько готовых шилдов. Самый симпатичный из известных мне вариантов - microSD module, разработан испанской фирмой Libellium, специализирующейся на мониторинге окружающей среды (goo.gl/iHCy4).

Шилд занимает всего одну колодку пинов Arduino и позволяет работать с SD и SDHC-картами, предварительно отформатированными на в FAT16 (предпочтительнее) или FAT32. Единовременно можно работать только с одним файлом, длинные имена не поддерживаются.

Беспроводные шилды

Самые простые RF-модули на амплитудной модуляции (ASK), работающие в нелицензируемом диапазоне 433 и 313 МГц хоть и могут использоваться с Arduino через библиотеку VirtualWire, но все равно представляются мне довольно плохим вариантом.

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

Полярную противоположность представляют платы семейства Xbee, основанные на протоколах Zigbee, идеально подходящие для организации распределенных сенсорных сетей с автономным питанием. Каждая такая плата сама по себе является устройством с микроконтроллером на борту, и от шилда требуется совсем немного - обеспечить согласование с Arduino. Называются такие шилды обычно «Xbee Shield», но не всегда - например, Libellium разработал Communication Shield (goo.gl/OZDxl). Шилд обязательно содержит два ряда колодок, к которым пристыковывается модуль в формате Xbee.

Единственный недостаток, пожалуй, это цена самого модуля Xbee. Взамен получаем скорость до 250 Кбит/с, дальность в пределах прямой видимости до 90 метров (модификация Xbee PRO может добивать до 1,2 км), шифрование, экономное энергопотребление и возможность ретрансляции данных (два модуля прозрачно общаются друг с другом через третий).

Давно замечено, что если в компании заходит речь про беспроводные сети, первым делом почему-то вспоминают про WiFi, гораздо реже - про Bluetooth. В качестве примеров подойдут WiFly Shield от SparkFun (sparkfun.com/products/9954) и Bluetooth module от Libellium (cooking-hacks.com/index.php/arduinobluetoothmodule-89.html). Последний выполнен в формате Xbee и будет работать с любым переходным шилдом для Xbee, а программная настройка из Arduino напоминает диалог с модемом - через последовательный порт и AT-команды. Кстати, в свое время была выпущена оригинальная плата Arduino BT (arduino.cc/en/Main/ArduinoBoardBluetooth), которая не имела USB-интерфейса, но программировалась и подключалась к компьютеру именно через Bluetooth. Большого распространения она не получила - может быть, в силу увеличения цены.

Для обмена данными через GSM обычно используется мобильник, способный работать по последовательному порту на уровнях TTL.
Но сейчас таких все меньше и меньше - их вытесняет USB, для работы с которым требуется быть хостом (а не девайсом, каковым является Arduino). Но, к счастью, производители уже давно штампуют законченные GSM-модули, к которым остается при крутить внешнюю антенну и разъем симки. За примером далеко ходить не надо - GPRS Quadband module for Arduino от Libellium (goo.gl/KueFH), который базируется на GPRS-модеме от SAGEM.
Особенность именно этой модели - GRPS-модуль съемный, и можно передавать не только данные - разведен выход на внешний спикерфон.

Разные шилды

Подводя краткий итог, можно с уверенностью сказать - решения почти всех типичных задач давно существуют в виде шилдов. Но не стоит думать, что на этом все заканчивается. Вот несколько примеров: Radiation Sensor Board от Libellium (счетчик Гейгера).

Шилд своими руками

В качестве примера создадим свой собственный LCD-шилд. Схема подключения популярного алфавитно-цифрового ЖКИдисплея 1602 на контроллере HD44780 возможна в двух вариантах - восьмибитной шиной или четырехбитной. Самое время открыть стратегию шилдостроения Arduino: пинов много не бывает! Стараемся использовать их по минимуму и поэтому выбираем четырехбитную схему (на наше счастье, поддержка такой схемы входит в дистрибутив ArduinoIDE, в виде библиотеки LiquidCrystal).

Используем для построения нашего шилда специальную заготовку - протошилд, который представляет собой макетную плату с небольшими изысками. Самая главная его ценность - это правильно расставленные отверстия для пинов, для идеальной стыковки с Arduino. Так уж получилось, что все колодки пинов расположены на сетке с шагом 2,54 мм, кроме одной (если бы не этот досадный факт, можно было бы взять любой кусочек «дырчатой макетки» и впаять в него стыковочные вилки PLS). Сделано это было специально, чтобы реципиент по рассеянности не вставил шилд наоборот и не пожег на корню будущий шедевр.
Обрати внимание, что схема предусматривает наличие переменного резистора для регулировки контрастности. Это важно! Если забить на это, при правильной в остальном схеме и скетче ничего видно не будет. Подойдет любой на 10-20 кОм, а конкретно на этом протошилде он уже и так предусмотрен - правда подключен ко входу analog0, поэтому придется припаять лишний проводок.

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

Оденем полученный результат на Arduino и загрузим первый тестовый скетч-пример из каталога LiquidCrystal. Ничего нет на экране? Или куча черных квадратиков? Не беда, самое время подкрутить переменный резистор - уверен, что-то обязательно появится! В этом случае можешь облегченно вздохнуть - теперь у тебя есть первый шилд собственного изготовления. Ну и раз уж он заработал - можно заодно его русифицировать. В свое время я изменил стандартную библиотеку так, чтобы символы кириллицы корректно транслировались из UTF-8 в знакогенератор дисплея. Ищи последнюю версию библиотеки на github.com/mk90 .

Если вы стали счастливым обладателем Arduino, вы наверняка слышали про платы расширения - так называемые шилды (Arduino shield), с помощью которых можете очень быстро расширить функциональные возможности вашего Arduino.

Как правило, большинство шилдов изготавливается под конкретный форм-фактор платы. В большинстве случаев - это микроконтроллеры Arduino Uno. Идея шилдов состоит в том, что вы покупаете отдельный модуль, который "садится" сверху на ваш микроконтроллер. Можно использовать несколько шилдов одновременно, устанавливая их один на другой. В результате вы получить многофункциональный "пирог" Arduino.

Официальный шилд от создателей Arduino. - это отличный вариант, чтобы обеспечить независимость вашего проекта от вашего персонального компьютера, так как он дает возможность наладить связь Arduino с интернет. Интересная особенность данного шилда - наличие на нем слота для MicroSD карты. Так что если в вашем проекте обрабатывается большой объем информации, например - mp3 файлы или видео; или вам надо хранить большие массивы данных для таких проектов как, например, светодиодный куб, хранить данные вы можете именно на SD карте.

Можно обеспечить работу хостинга для веб-сервера с использованием Ethernet шилда.

Перед тем как вы кинулись покупать Ethernet Shield, предупреждаю из личного опыта: Ethernet шилды зависимы от версий. Сначала я купил шилд v3 т оказалось, он не подходить к моему Arduino Uno v2, так как на версии платы v3 добавлено два пина. Кстати, Ethernet Shield стоит дороже чем сам контроллер Arduino, так что пришлось купить новую Arduino, а старую версию оставить для других проектов.

Так что проверяйте версию вашей платы и Ethernet шилда, который вы собираетесь покупать.

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

4 Relay Shield (шилд на 4 реле) предоставляет вам все необходимые контакты для подключения 4-х периферийных устройств. Каждое реле дает возможность подключать оборудование которое работает с силой тока до 3 ампер. Конечно, можно использовать реле шилд и для маломощных электрических цепей. В таком формате их часто используют для замены переключателей.

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


Protoshield (протошилд) сам по себе ничего не делает. Потому он такой плоский;). Очень полезный шилд. После того как вы создали свой прототип с использованием монтажной платы и кучи проводов, стоит подумать о его презентабельности и удобстве. В этот момент вам пригодится протошилд. Вы собираете всю схему на нем и садите его сверху на вашу Arduino как любой другой шилд. То есть - это отличный вариант для создания собственного шилда!


LCD Shield

Зачем вам LCD Shield? Все просто: выводить информацию с Arduino не на персональный компьютер с использованием серийного монитора, а напрямую на периферийный экран! Это реально классно! Но! При использовании внешних экранов, вам обычно требуется 7 и более контактов с Arduino. Это очень ограничивает возможности дальнейшего подключения периферийных устройств. В этом LCD шилде используется протокол передачи данных I2C, то есть для его подключения задействуются лишь 2 пина! Кроме того, параллельно к этим же контактам можно подключить другое оборудование, работающее по тому же протоколу передачи данных.

В добавок к экрану, на LCD шилде установлено 4 "управляющие" кнопки и кнопка "select" (выбор). Благодаря этому у вас появляется дополнительный интерактивный интерфейс и непосредственного подключения к ПК при работе с шилдом можно избежать. Если монохромный дисплей вас не впечатляет, вы можете спокойно апгрейдить шилд, установив 1.8 inch TFT 18-bit color screen.

Вот на этом этапе вы должны понять, что не все шилды 100% совместимы друг с другом. Некоторые из них надо устанавливать сверху вашего Arduino "пирога". Именно к таким шилдам относится LCD шилд.


Energy shield расширяет ваши возможности с точки зрения обеспечения питания проектов на Arduino. Шилд позволяет подключать различные источники питания и обеспечивать их работу с Arduino. Одна из самых ярких сфер применения - обеспечение подзарядки мобильных телефонов и гаджетов.


Обеспечивает возможность управления множеством моторов с использованием Arduino. На шилде установлены все необходимые регуляторы, переключатели, предохранители. В общем, на motor шилде есть все для обеспечения простого управления двигателями и для их защиты.


Во многих проектах необходимо обрабатывать большие массивы информации, для хранения которой недостаточно встроенной в Arduino памяти. Именно в этом случае вам может понадобится SD Card Shield. Он совместим с картами памяти форматов SD, SDHCи MicroSD. Sd Card шилд использует простой SPI интерфейс для подключения и передачи данных.


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


GPRS Shield дает Arduino возможность использовать сети GSM/GPRS, которые используются для мобильных телефонов. В результате вы можете делать и принимать звонки и текстовые сообщения! Как правило, GPRS шилды оснащаются антеннами.


E-Ink shield - очень интересная разработка, которая использует технологию электронных чернил (та же технология используется в электронных книгах). Основное преимущество E-Ink шилда - вы получаете дисплей, который требует минимум энергии для питания и предоставляет отличный формат для отображения и чтения текста. Подобные шилды могут отобразить текст даже без использования внешнего питания!


Music Shield дает вам возможность воспроизводить музыку в отличном качестве чрез Arduino. Шилд поддерживает широкий диапазон музыкальных форматов для воспроизведения. Естественно, в Music шилде предусмотрен слот для SD карты. Так что вы без проблем сможете загрузить вашу медиатеку без использования дополнительного SD шилда.


Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Шилд - это плата дополнения. Я предлагаю разделить шилды на полноразмерные и отдельные модули. Полноразмерные своими очертаниями повторяют форму платы Arduino, будь то UNO, Nano или MEGA. Отдельные модули - это платы произвольной формы, созданные для выполнения определенного набора функций. И те и другие могут быть как универсальными, так и для выполнения узконаправленных задач.

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

Начнем с шилда, который не несёт в себе никаких особенных функций, а создан для удобства монтажа ваших проектов. Итак первый в нашем обзоре облегчит монтаж проектов с платой Arduino Nano, правда толку от малых размеров «НАНО» в таком случае ноль.

На плате расположен разъём для подключения штекера от блока пиитания, стабилизатор напряжения, а также клеммные колодки. Они подписаны и соответствуют выводам «Нанки». Кроме того присутствует кнопка «сброс» и светодиод «Питание».

Второй шилд предназначен для платы Uno. На нем расположена беспаечная макетная плата для сборки проекта и выводы, дублирующие те, что на самой ардуине - удобное решение.

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

Вот пример такой платы для Ардуино версии Мега.

Проводная и беспроводная связь

С помощью этих плат можно организовать управление микроконтроллером по сети через кабель Ethernet, например, или беспроводов - через GSM-связь, вставив сим-карту.

Эта плата называется w5100 - содержит Ethernet модуль и модуль SD-кардридера. Это значит, что можно хранить данные, например лог измерений датчиков на карту памяти и управлять системой через web-интерфейс. Чтобы связать с ним ардуино пользуйтесь библиотеками:

    Ethernet library;

Обратите внимание внешне он повторяет концепцию Arduino UNO R3, кроме того, он подойдет и на Mega.

Если W5100 вам кажется слишком крупным - то ENC28J60 займет меньше места. К сожалению в нем уже отсутствует SD-модуль.

Минусом является то, что он не может быть монтирован на плату, а выполнен в виде отдельного модуля.

W5500 - еще один вариант Ethernet-шилда. По своей сути - это доработанная версия W5100, оптимизированная в плане скорости и энергоэффективности.

Обратите внимание, на полноразмерных шилдах все пины дублируются клеммной колодкой. К сожалению, шилды используют порты. Конкретно этот задействует MOSI, MISO, SCK, и пин 10, для сигнала CS (выбор адресата для связи).

Если вам нужна беспроводная связь - ваш выбор это Wi-fi шилды, если есть интернет и роутер, а если этого нет - GSM-модули или GPRS Шилды.

На фото официальный шилд. На нём установлен слот под Micro SD-карту памяти, а связывается с микроконтроллером он по SPI-протоколам, через Mini-USB можно обновлять его программное обеспечение. Поддерживает 802.11b/g.

GPRS-шилд от «Амперки» вы видите выше. Вы можете заменить антенну на более мощную. Ближе к зрителю виден слот для SIM-карты, чуть дальше слот под батарейку CR1225. Батарейка на плате нужна для хота часов реального времени, а это немаловажное дополнение к возможностям GPRS-шилда. Вы можете отправлять СМС на него и с него.

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

Как хранить данные на Arduino?

В проектах не вся информация помещается в память микроконтроллера. Иногда требуется хранить некоторые объемы информации. Первое, что приходит на ум, уже сказано - это запись информации с датчиков, чтобы в дальнейшем изучать как изменяется окружающая среда с течение часов, дней, лет. Отличным примером является - домашняя метеостанция. Это полезно не только ученым-исследователям, но и любителям для общего образования и развития.

Это скорее не шилд, а модуль. Он миниатюрен и легок для повторению, кстати, вот его схема.

Есть и полноразмерный шилд хранения данных. Работает с SD-картами памяти, на борту есть модуль часов реального времени, которые питаются от батарейки CR1220 напряжением в 3 В, что является неплохим бонусом.

Управляем мощной нагрузкой с микроконтроллера

Первое что может прийти в голову - это реле. С их помощью можно коммутировать как цепи постоянного тока, так и с бытовой электросетью 220 Вольт они справятся на ура.

Конкретно тот модуль что изображен ниже может коммутировать 1 кВт 220 В нагрузки (или 5А) по каждому из каналов, для повышения мощности можно либо запараллелить несколько каналов, либо включать этим реле . В таком случае реле со шилда будут играть роль промежуточных усилителей.

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

У реле есть один недостаток - ограниченное количество срабатываний - это следствие выгорания контактов. Это бывает из-за возникновения дуги, при размыкании мощной нагрузки (особенно индуктивного характера - это двигателя и т.п.). Сделать такой шилд можно по следующей схеме:

А вот как это выглядит в сборе:

Поэму для включения нагрузки переменного тока можно использовать тиристоры и симисторы. Одна проблема - прямо к ардуине подключать их нельзя, при пробое pn- перехода управляющего электрода, 220 В могут оказаться на плате микроконтроллера и сжечь его. Выход из этой ситуации - использования оптосимистора.

Так как это задача часто становится перед изобретателями, было разработано готовое решение - симисторный shield, его полное название - ICStation 8 Channel EL Escudo Dos Shield for Arduino. Он изначально предназначался для управления свечением «гибкого неона».

У него есть 8 каналов, к которым подключается сеть переменного тока и нагрузка.

Шилды для двигателей

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

Мотор-ШИЛД для ардуино может управлять электродвигателями постоянного тока (4 штуки) или двумя шаговыми моторчиками.

Он построен на базе двух L293. Эта микросхема представляет собой сборку из двух H мостов, это позволяет управлять с возможностью реверса двумя ДПТ, либо 1 шаговым биполярным двигателем. Схемы подключения соответсвенно:

А в левом верхнем углу платы есть две колодки под сервоприводы (плюс, минус и управляющий сигнал). Красным кругом обведено место куда устанавливается перемычка джампер. Если она стоит - то эта плата питается от базовой платы ардуино, а если нет - от внешнего источника на 5 В.

С помощью этого модуля от отечественного производителя можно управлять двумя двигателями постоянного тока, в нём тоже есть джампер объединяющий линии питания микроконтроллера или разъединающий их - для питания от отдельного источника.

Можно управлять двигателями, которые рассчитаны на диапазон напряжение от 5 до 24 Вольт. Вместо 2-х DC-моторов можно использовать 1 однофазный шаговый или запараллелить каналы и подключить 1 мощный DC мотор с током до 4А, а это не мало - 48 Вт при напряжении питания в 24 В.

Для подключения сервопривода нужно три провода - плюс, минус и сигнал, но что делать, если у вас много серв? Ваша плата превратится в месиво из перемычек. Чтобы это избежать есть Мультисерво шилд.

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

Везде есть своя специфика, шилды для необычных задач…

В атмеге328, сердце нашей платы, есть АЦП. Главная проблема в том, что на плате ардуино уно мы видим всего лишь 6 аналоговых входов. Что делать если у нас больше аналоговых датчиков?

Можно собрать две ардуино в единую сеть. Одну использовать в качестве основной, а вторую вспомогательную для изменений и с первой отправлять на сервер сигналы измерений или выводить их на экран… Но это сложно: нужно тратить память на дополнительные строки программного кода для реализации такой системы.

А что если умножить каждый вход на 16? Итого у нас может быть до 16*6=96 аналоговых входов. Это реально с помощью мультиплексора. Он просто переключает по очереди 16 аналоговых каналов на один аналоговый выход, который вы подключаете к такому же входу любого мироконтроллера.

Средствами микроконтроллера Атмега о-о-очень трудно релизовать функцию распознавания голоса, но ардуинщики могут не отчаиваться, есть специальное решение - EasyVR Shield 3.0.

Это готовое, но дорогое решение, на момент написания статьи он стоит почти 100 долларов в России. Сначала шилд запишет вашу команду, затем сравнит её с тем что записано в памяти, определив номер - выполнит её.

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

Выводим изображение

LCD Keypad shield - это настоящая панель управления. На нём расположен дисплей LCD1602 (16 символов в две строки), и набор кнопок. Из-за них задействовано довольно много портов, например A0 и с D4 по D7 под клавиатуру, а порт D10 - ШИМ-регулятор яркости подсветки. D8 и D9 - сброс и включение.

На самом деле существует много дисплеев совместимых с ардуино. Вернее тех, о которых написано больше всего информации и вы легко их запустите в своей системе. Довольно популярен в кругах самодельщиков дисплей от NOKIA 5110, на выбор есть и OLED и TFT экраны, работающие по I2C. Но они не в «шилдовом» исполнении.

Автономное питание

Довольно необычный шилд в этой подборке, который выполняет обычную задачу. Power shield - это со всеми необходимыми защитами и разъёмом для зарядки. Вроде бы ничего особенного, но это обеспечит завершенный вид вашему проекту, а цепи питания не придется размещать рядом с основными платами.

Заключение

Использование шилдов для всех задач проекта позволит избежать излишнего числа перемычек и соединений, а это снизит количество ошибок и лишних перемычек. После сборки вы получите многоэтажный бутерброд из плат заводского изготовления. Такой подход иногда называют «модульная конструкция». Между прочим, это облегчит обслуживание, ремонт и наладку оборудования.

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