В сегодняшнем обзоре будет рассматриваться один из самых дешевых и популярных одноплатных компьютеров – Orange Pi Zero.
Этот микрокомпьютер не может похвастаться высокой производительностью, но зато обладает компактными габаритами, сверхнизким энергопотреблением и способен выполнять те задачи, для реализации которых будет мало платформы Arduino или ESP8266, а мощность микрокомпьютера уровня Raspberry Pi 3 или его более дорогих и производительных собратьев уже окажется избыточной.
Немного предыстории
История зарождения линейки микрокомпьютеров Orange Pi отходит к 2014 году, когда китайская компания Lemaker выпустила свой клон набирающей популярность Raspberry Pi – одноплатный компьютер Banana Pi M1.
Вскоре после этого среди разработчиков произошел раскол. Одна часть продолжила выпускать специализированные и уже не позиционирующиеся для домашнего пользователя “development boards” под брендом Lemaker. Компания SinoVoip продолжила развивать линейку микрокомпьютеров Banana Pi, общее количество моделей в которой уже перевалило за десяток. И, наконец, компания Shenzhen Xunlong Software под управлением Стивена Жао создала линейку Orange Pi, сделав упор на низкие цены.
Тактика оказалась выигрышной – сегодня Orange Pi является одним из самых известных брендов среди одноплатников, а количество продаж одной только модели Orange Pi Zero в магазине Shenzhen Xunlong Software перевалило за 7000 экземпляров с момента ее выпуска в ноябре 2016 года.
Характеристики
Все миниатюрные одноплатные компьютеры обладают более-менее одинаковыми характеристиками. Разница заключена во второстепенных деталях вроде наличия или отсутствия Ethernet-порта, или Bluetooth, или количества разъемов для подключения внешней периферии.
Orange Pi Zero имеет две гребенки GPIO – на 13 и на 26 пинов. 13-пиновая гребенка используется для подключения Interface Board – платы расширения с дополнительными портами USB, аналоговым аудио-видео выходом, микрофоном и ИК-портом. 26-пиновая гребенка доступна для подключения пользовательской периферии, и ее распиновка отображена на иллюстрации выше.
Внешний вид и комплект поставки
Свой экземпляр Orange Pi Zero я заказывал в виде комплекта из самого микрокомпьютера, платы расширения Interface board и пластикового корпуса.
Хитрые китайцы из Shenzhen Xunlong Software компенсируют низкие цены на свои устройства завышенной стоимостью доставки. Например, доставка обозреваемого комплекта в Россию самой дешевой и медленной China Post Registered Air Mail стоит 5,5 долларов. Для маленькой посылки с AliExpress это очень много. Более того, если добавить в заказ несколько лотов, то стоимость их доставок суммируется, а не скидывается, как это обычно бывает. Зато такие махинации позволяют выставить цену на комплект в 13 долларов, что выглядит ну очень привлекательно.
Комплектация ничем не отличается от оной у Raspberry Pi 3. Электронные компоненты запаяны в антистатические пакеты и упакованы по раздельным картонным коробочкам с фирменной символикой. Пластиковый корпус поставляется без упаковки, в простом полиэтиленовом пакетике.
На Orange Pi Zero присутствует 1 порт USB 2.0 и стомегабитный Ethernet-интерфейс с поддержкой технологии PoE (Power over Ethernet), позволяющей подавать на устройство питание прямо по Ethernet-кабелю. Чаще всего эта технология применяется в видеонаблюдении и для ее работы нужен поддерживающий PoE сетевой коммутатор.
Самый крупный чип – SoC Allwinner H2+, рядом с ним расположен модуль оперативной памяти емкостью 256 Мб или 512 Мб в зависимости от версии Orange Pi Zero. А маленькая квадратная микросхема – чип Allwinner XR819, дешевый и компактный модуль Wi-Fi. Обычно Wi-Fi модули делают совмещенными с модулями Bluetooth, но XR819 Bluetooth не поддерживает. Нужно иметь это в виду и, если планируется использовать подключаемую по Bluetooth периферию, заранее озаботиться покупкой USB-адаптера.
GPIO-интерфейс представлен двумя гребенками: 13-пиновой для подключения платы расширения и 26-пиновой для всего остального. 26-пиновая гребенка по умолчанию не распаяна: предполагается, что желающий использовать GPIO-периферию человек сам подпаяет разъемы, а также определится будут ли они направлены вверх или будут скошенными угловыми.
Наконец, на плате располагается отладочный UART-разъем и коннектор для съемной антенны Wi-Fi. Примитивная антенна уже идет в комплекте и ее можно увидеть на фото выше. I-PEX коннектор расположен довольно неудобно – к нему практически нереально подлезть пальцами, поэтому для съема антенны приходится поддевать ее разъем чем-то вроде отвертки.
На обратной стороне печатной платы находится слот для microSD-карт и наклейка со штрих-кодом. По цифрам на наклейке можно предположить, что доставшаяся мне Orange Pi Zero была выпущена в ноябре 2017 года. При этом заказ я делал в первых числах декабря.
Качество изготовления микрокомпьютера я бы оценил на четверку по пятибалльной шкале. Пайка везде аккуратная, но на обратной стороне печатной платы не до конца смыт флюс (на фото выше можно заметить потеки слева, в районе Ethernet-порта). А на двух из четырех скругленных углов платы имеются острые заусенцы.
На плате Interface board распаяно два дополнительных порта USB, инфракрасный порт, микрофон и аналоговый аудио-видео выход.
Поскольку интерфейс HDMI отсутствует (насколько я понял, он просто не поддерживается чипом Allwinner H2+), то единственная возможность подключить Orange Pi Zero к экрану – это купить кабель-переходник с AV-разъема на аналоговые “тюльпаны”. Ну или подключать маленький TFT-дисплей к GPIO.
Или, что правильнее всего, работать вообще без дисплея с использованием удаленных подключений.
На обратной стороне платы расширения нет ничего интересного, только еще одна наклейка со штрихкодом. Цифры на нем свидетельствуют, что плата расширения была произведена раньше самой Orange Pi Zero. В общем-то логично – не каждый покупатель микрокомпьютеров добирает к ним доп.аксессуары.
Да, следы плохо отмытого флюса были и тут. Но благодаря низкой плотности распайки деталей мне удалось практически полностью оттереть их спиртом.
Начало работы с Orange Pi Zero
Рассмотрение конструкции микрокомпьютера можно считать законченным.
Пора поговорить о начале работы с ним, а именно – о сборке и об установке операционной системы.
Про питание и охлаждение
Orange Pi Zero довольно-таки нетребователен к питанию – сам по себе микрокомпьютер потребляет в районе 300мА, то есть для работы будет достаточно блока питания на 1А. Естественно, нужно учитывать и потребление подключенной периферии – если подключить несколько жестких дисков, то 1А уже не хватит на все.
А вот с нагревом и охлаждением в данном случае все неоднозначно. Allwinner H2+ заметно греется, чипы производства Allwinner Technology вообще не относятся к числу холодных. Но в операционной системе Armbian (о ней будет дальше) содержится программный баг, из-за которого некорректно отображается температура SoC на Orange Pi Zero ревизии 1.4 – а это самая свежая ревизия на данный момент, и в продаже находится именно она. Об этом баге, к слову, честно сообщается на странице загрузки дистрибутива.
При нулевой загрузке процессора Armbian показывает температуру в районе 60°C. Логично предположить, что если нагрузить процессор, то при таких стартовых условиях температура моментально улетит за пределы 80°C и начнется жесткий троттлинг. Но этого не происходит. Температура повышается, но незначительно, троттлинг не включается, дым из чипа не идет :).
Пока баг в Armbian не исправлен программно, отслеживать реальную температуру на SoC не представляется возможным. Не лишним будет установить радиаторы – тут как раз подойдут те медные, которые я использовал для охлаждения Raspberry Pi 3.
Сборка
Перед использованием микрокомпьютера соберем его в единое целое. Правильнее всего начать с поклейки радиаторов на SoC и модуль памяти, но я как-то не подумал об их покупке заранее, поэтому пришлось собирать без них.
Корпус переворачивается вверх ногами и первым делом на свое место устанавливается плата Interface board.
Затем Interface board фиксируется двумя идущими в комплекте с корпусом винтами.
После чего на разъем Interface board насаживается штырями GPIO плата Orange Pi Zero. Кстати, доступа к 26-пиновому GPIO-интерфейсу “апельсинки” из корпуса не предусмотрено, равно как и отсутствует место под комплектную Wi-Fi антенну. Поэтому антенну перед сборкой платы нужно отсоединить, а если планируется работа с GPIO – собирать микрокомпьютер в корпус не стоит вообще.
Вся конструкция закрывается крышкой, которая в дальнейшем будет выполнять функции дна.
Последний шаг – закрепить дно и саму плату микрокомпьютера винтами. На этом процесс сборки завершен.
Ну и пару слов о том, как разобрать всю конструкцию обратно. Плата Orange Pi Zero довольно плотно сидит на разъеме Interface board и голыми руками вытащить ее не получится. Нужно подсунуть под плату какой-то тонкий и жесткий предмет и использовать его в качестве рычага.
Фотография для сопоставления габаритов Orange Pi Zero с другими микрокомпьютерами: Khadas VIM, Khadas VIM2 и Raspberry Pi 3.
Установка и настройка Armbian
Разработчики Orange Pi предлагают для загрузки несколько Linux-дистрибутивов, в числе которых присутствуют даже такие варианты как OpenWrt и Zeroshell, используемые в роутерах и другом сетевом оборудовании.
Но “классической” системой для компьютеров семейства Orange Pi принято считать Armbian. Она чаще обновляется и обладает большим коммьюнити.
Скачать сборку Armbian для Orange Pi Zero можно со страницы загрузок на официальном сайте дистрибутива. На момент написания обзора актуальной версией был Armbian 5.35, который после установки сам обновлялся до 5.36.
На странице с дистрибутивом перечислены известные проблемы: отсутствие драйверов на графический ускоритель Mali-400MP2, отсутствие поддержки аппаратного видеодекодирования, баг с отображением неправильной температуры процессора, плохая поддержка встроенного Wi-Fi модуля и работа аналогового видеовыхода “на свой страх и риск”.
Вышеперечисленные проблемы являются следствием того, за что в народе не любят продукцию Allwinner.
Allwinner Technology регулярно выпускает разнообразные чипы, но не любит делиться документацией на них, в результате сторонним разработчикам крайне сложно собирать рабочие прошивки на “железо” этой компании. Однако чипы у Allwinner получаются дешевыми и достаточно производительными и потому пользуются спросом и часто используются в китайской электронике.
В общем, если общеизвестные проблемы дистрибутива Armbian для Orange Pi Zero не смущают – смело скачиваем и устанавливаем его. Тем более, что лучших альтернатив на данный момент все равно не имеется.
Скачанный образ дистрибутива записывается на microSD-карточку при помощи утилиты Rufus, или Win32DiskImager, или других аналогичных программ.
Аналогичным образом осуществляется и установка Raspbian на микрокомпьютеры Raspberry Pi.
Карточку памяти с записанной системой нужно установить в Orange Pi Zero, затем подключить микрокомпьютер к локальной сети Ethernet-кабелем и подать питание.
После загрузки микрокомпьютер автоматически подключится к локальной сети и получит внутренний IP-адрес. Его нужно узнать, и самый простой способ это сделать – посмотреть список активных клиентов в веб-интерфейсе роутера.
Все дальнейшие манипуляции с Orange Pi Zero будут проводиться по SSH-протоколу. Подробно про работу с SSH я писал в отдельной статье на примере Raspberry Pi 3.
Подключаемся через PuTTY или другой SSH-клиент к Orange Pi Zero и логинимся в учетную запись root с паролем 1234.
Система выдаст приветственное сообщение, а также предложит сменить пароль рута на более сложный и создать нового пользователя.
После завершения этих действий нужно выполнить обновление:
sudo apt-get update sudo apt-get dist-upgrade
В моем случае после установки обновлений для пакетов еще и Armbian обновился с версии 5.35 до версии 5.36. В принципе на этом процесс установки и настройки системы завершен и можно приступать к работе.
Установка OPi-Monitor
В цикле статей по Raspberry Pi 3 я, помимо всего прочего, рассказывал как установить пакет RPi-Monitor для мониторинга основных показателей системы.
И если в Raspbian приходилось подключать дополнительные репозитории для его установки, то в Armbian этот пакет (только немного измененный) устанавливается вводом одной единственной команды:
sudo armbianmonitor -r
После чего мониторить температуру (неверно отображающуюся, но все же), загрузку процессора, аптайм и другие показатели можно по адресу http://ip-адрес-orange-pi:8888, доступному с любого устройства внутри локальной сети.
Подключение к Wi-Fi сети
При желании можно переключить сетевое подключение с Ethernet на Wi-Fi. Для этого нужно отредактировать файл конфигурации:
sudo nano /etc/network/interfaces
И вписать туда следующие строки:
auto wlan0 iface wlan0 inet dhcp wpa-ssid <ИМЯ_ТОЧКИ_ДОСТУПА> wpa-psk <ПАРОЛЬ_ОТ_ТОЧКИ_ДОСТУПА>
Таким образом при наличии доступа к Wi-Fi сети микрокомпьютер будет подключаться именно к ней.
Вопреки тому, что в примечаниях к релизу Armbian было написано о плохой поддержке Wi-Fi модуля, и тому, что при сборке микрокомпьютера в корпус пришлось отключить внешнюю антенну, качество Wi-Fi соединения можно оценить как вполне удовлетворительное.
Для передачи больших объемов данных оно, конечно, не годится, но для управления микрокомпьютером по сети вполне сойдет.
При переходе с Ethernet-подключения на Wi-Fi изменится и IP-адрес устройства, его нужно будет заново посмотреть на роутере.
Варианты использования Orange Pi Zero
Ну а теперь поговорим про возможности практического применения Orange Pi Zero в быту.
- AirPlay-колонка При помощи Orange Pi Zero и пакета shairport-sync можно добавить поддержку беспроводного протокола AirPlay в любую колонку или акустическую систему.
- Сетевой аудиоплеер Микрокомпьютер можно превратить в удобный сетевой аудиоплеер. Подробности по реализации такого проекта можно узнать в интернете, поискав по словам “Logitech Media Server” или “Squeezelite”. Возможно в будущем я напишу отдельный пост на эту тему.
- Принт-сервер В силу своей низкой стоимости Orange Pi Zero отлично подходит для реализации принт-сервера на основе пакета CUPS. Стоимость устройства в таком случае получается в два раза ниже, чем стоимость готового принт-сервера в магазине.
- IP-камера Подключив веб-камеру по USB можно превратить Orange Pi Zero в IP-камеру для видеонаблюдения, а наличие поддержки технологии PoE добавляет удобства: при наличии PoE-совместимого свитча к импровизированной камере придется тянуть всего один Ethernet-кабель и для питания, и для передачи данных. Целесообразность сборки такого устройства “с нуля” является спорной, поскольку стоимость фабричной IP-камеры в Китае и так примерно равняется стоимости комплекта из Orange Pi Zero и вебки. Но если дома уже пылится без дела какая-нибудь веб-камера, то это хорошая возможность дать ей вторую жизнь.
- Сервер “умного дома” Установив на Orange Pi Zero платформу Domoticz / Home Assistant / OpenHAB / MajorDoMo можно сделать девайс сервером умного дома. Отдельный пост на эту тему обязательно будет написан в будущем.
- Походный NAS-сервер При помощи платы расширения NAS Expansion Board можно собрать простое и компактное сетевое хранилище (NAS), на основе одного 2,5″ жесткого диска. Для постоянного использования такое решение не подойдет из-за медленности и примитивности конструкции, но будет отличным “походным” вариантом для командировок или поездок на дачу – ведь в данном случае низкая стоимость и компактные габариты являются решающими факторами.
Это самые простые и очевидные варианты. Можно придумать и более узкоспециализированные способы его использования – так, например, я не раз натыкался в сети на упоминания, что кто-то собрал на основе Orange Pi Zero систему для управления автоматикой аквариума.
Достоинства и недостатки
Достоинства:
- низкая цена (даже с учетом махинаций продавца со стоимостью доставки)
- низкое энергопотребление
- достаточное количество практических вариантов применения
Недостатки:
- баги и недоработки в операционной системе
- непродуманная конструкция (неудачное расположение I-PEX коннектора и отсутствие доступа к GPIO из корпуса)
Заключение
Orange Pi Zero не претендует на высокую производительность и вряд ли может использоваться для выполнения ресурсоемких мультимедийных задач, но очень удобен для создания недорогих и утилитарных устройств, направленных на выполнение одной конкретной функции – вроде приведенных мною выше примеров принт-сервера, походного NAS или головного устройства для управления системой “умного дома”.
Низкая стоимость делает его неплохим вариантом для начинающих, хотя на мой личный взгляд Raspberry Pi 3 по-прежнему остается самым лучшим вариантом из-за более развитого коммьюнити и доведенной до ума операционной системы.
Недавно поставил себе задачу реализовать видеонаблюдение со следующими характеристиками:
- Минимальное энергопотребление
- Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру, запихать в монтажную коробочку 10-10 см или вовсе спрятать в широком кабель-канале (!)
- IP-камеры будут подключены по wi-fi, то есть невозможно определить, кто с них смотрит/пишет видео. Запитать их можно от общей сети, будь то подъездное освещение или розетки в офисе
- Обязательно должна быть запись видео (в моем случае — на microsd карту), обязательно должна быть возможность просматривать видео через интернет с любой точки мира а также через мобильное приложение
- Само собой, должна быть возможность удаленно настраивать и всю систему — добавлять новые камеры, копировать-удалять записи, иметь доступ ко всем настройкам
- Минимальная стоимость! А как же? Без этого никуда
Для реализации данной идеи выбор пал на следующие компоненты: 1) Самый дешевый одноплатный компьютер с вай-фаем на борту, на который можно накатить какой-нибудь arm linux дистрибутив — например, мой любимый дебиан. Малинка стоит дороговато, а вот orange pi zero на ebay вам обойдется всего лишь в 900 рублей (еще несколько месяцев назад я покупал ее вообще за 700 рублей). Вот ссылочка на ebay — здесь. 2) Собственно, wifi ip-камеры — без них никуда. Маленькая, купольная, потолочная. И хотя бы 720p — обычно для видеонаблюдения в условиях офиса-подъезда более и не требуется. Цена вопроса — около 1500 рублей за камеру. Что далеко ходить, вот здесь на алиэкспрессе — тут 3) MicroSD-карточка на 32 гб. Почему на 32, а не больше или меньше? Потому что для моего случая надо иметь возможность отматать видео с двух камер на несколько дней назад. Ну, стало быть, еще 300-400 рублей. 4) Адаптеры питания для одноплатника и для камер. Итак, что было проделано. Получив заветную посылку на почте, я извлек оттуда апельсиновый одноплатник, осмотрел его и первым делом подумал — черт возьми, а ведь тут нету видеовыхода. Как ставить debian и ПО для видеонаблюдения и производить первичные настройки? Сразу вспомнил, что на малинке всегда был обычный композитный AV, а тут его нет. Ну не может быть, чтобы производитель не оставил такой возможности, как подключиться по композиту — подумал я, и ушел в гугл смотреть распиновку GPIO. Ага, второй пин — это земля, а 9ый это tv-out. Припаиваем av-гнездо. Теперь воспользуемся адаптером AV->VGA (как вы догадались, его тоже можно купить на алиэкспрессе, полезная вещь) и подключимся к нашему монитору. Но включать еще ничего не будем — ведь мы еще не подготовили карточку microsd. Идем на сайт www.orangepi.org и качаем дистрибутив Debian xfce desktop, записываем его на карту программой win32 disk imager или etcher. Втыкаем флешку в нашу апельсинку, включаем монитор, подключаем адаптер питания и… ничего. Именно с этим чаще всего сталкиваются новички — одноплатный компьютер не загружается никоим образом, а только издевательски светится желтым диодом. Что это? Неправильно записанная карта (может быть), нерабочий одноплатник (вряд ли, ведь мы его только что распаковали), нет сигнала с видеовыхода? Чаще всего проблема заключается в питании. Orange pi, как и малинки и другие одноплатники, очень придирчивы к питанию — адаптер должен быть 5 В / 2 A, если адаптер слабый и питание проседает в первые секунды включения одноплатника, то он не годится и так дело не пойдет. Так что используйте хороший мощный блок питания, а не зарядку от своего старого андроида. Подключаем хороший адаптер питания, видим, как пошла загрузка debian. Видим рабочий стол — прекрасно! Теперь надо настроить девайс таким образом, чтобы он работал через вай-фай. Заходим в сетевые подключения, создаем новое вай-фай подключение, вводим наши логин-пароль от домашнего-офисного вай-фая — теперь устройство в нашей локальной сети и имеет выход в интернет! Теперь нам надо избавиться от монитора. Для того, чтобы иметь возможность видеть рабочий стол удаленно, нам поможет программа vnc viewer, а одноплатнике — vnc server. Обычно эта штука уже встроена в тот дебиан, который распространяет производитель данных одноплатников, необходимо лишь настроить ее — ввести параметры авторизации и т.д. Убедившись, что мы теперь имеем доступ к рабочему столу внутри нашей локальной сети, убираем монитор, прячем устройство в коробочку/кабель канал/еще куда-нибудь и настраиваем все остальное через vnc viewer, находясь за привычным компьютером. В качестве ПО для видеонаблюдения был выбран zoneminder. Почему именно он? Бесплатный, гибкий, легко настраивается, доступен и в arm-варианте для нашего одноплатника с debian. Данный софт работает на php/mysql, поэтому первым делом нужно установить необходимые пакеты:
sudo apt-get install php5 mysql-server php-pear php5mysql php5-gd
Далее нам необходимо в /etc/apt/sources.list добавить строчку:
deb http://ftp.debian.org/debian jessie-backports main
Выполняем апдейт:
sudo apt-get update
И, наконец, то, ради чего мы это все затевали:
sudo apt-get install zoneminder
Когда консолька сообщила нам, что zoneminder установлен, перейдем к его настройке. Подробно процесс настройки описан на официальном сайте zoneminder, перечислять все его пункты в данной статье смысла нет, поэтому решим, что уважаемый читатель справился с этим, и теперь, если мы наберем в браузере на компьютере адрес_нашего_одноплатника/zm мы попадем в веб-админку видеонаблюдения. Здесь нам нужно добавить ip-адреса камер, задать параметры записи видео и прочее. Теперь мы можем из внутренней сети смотреть видео с камер через браузер, причем как через проводную сеть, так и по вай-фаю. Но задача то стояла смотреть видео через интернет с любой точки планеты — а это мы еще не реализовали. Так давайте реализуем! В голову приходят как минимум два варианта:
- Заходить через remote desktop наподобие тимвьювера. Увы, тимьювер более-менее корректно работает только на «малинках», здесь даже с бубном и заклинаниями ничего не добиться
- У нас есть выделенный ip, идем в настройки роутера, пробрасываем необходимые порты, настраиваем virtual server, теперь мы можем видеть админку zoneminder, к примеру, по адресу наш_белый_ip:123. Это хорошо, но что делать, если нет выделенного ip?
- Если выделенного ip нет, то вcпомним про vpn и dyndns. Этому посвящено большое кол-во статей, в том числе и на Хабре, ищите и найдете информацию
Теперь осталось добавить возможность смотреть видео с телефона. Качаем для нашего андроида приложение zoneminder client mobile (легко гуглится), а для iphone — Surveillance Pro. Итого, за несколько тысяч рублей мы получаем собственный мини-сервер видеонаблюдения, который можно легко спрятать в кабель-канале и который потребляет электричества на сущие копейки, пару беспроводных камер, и возможность всегда с компьютера или телефона из любого места, где есть интернет, посмотреть что происходит в вашем офисе/гараже/подъезде.Используемые источники:
- https://dmitrysnotes.ru/obzor-odnoplatnogo-kompyutera-orange-pi-zero
- https://habr.com/post/454132/