«Чтоб ты жил в интересные времена!» — якобы старинное китайское проклятие.
Да, нам с вами повезло или «повезло» жить в действительно интересные времена (вариант — «в эпоху перемен»). Возможно, это на самом деле проклятие, особенно с точки зрения мифических древних китайцев. Однако факт остается фактом: то, что еще пара десятков лет назад казалось невозможным, сейчас доступно практически каждому. Особенно это заметно в нашей отрасли — информационные технологии и цифровая электроника развиваются просто какими-то совершенно фантастическими темпами. Функциональные возможности, быстродействие, миниатюрность и (относительная) дешевизна современных цифровых решений поражает воображение.
Еще совсем недавно сетевой компьютер размером меньше кредитки и стоимостью в несколько сотен рублей, пригодный для создания на его базе интересных самостоятельных проектов энтузиастами-одиночками с относительно невысоким уровнем знаний в области электроники и программирования, казался весьма отдаленной перспективой. И вот уже мы можем смело выбирать из десятка (как минимум) альтернатив! Давайте посмотрим, что сейчас можно приобрести буквально за несколько десятков долларов, чтобы построить вокруг этого нечто впечатляющее и даже, может быть, полезное.
Фавориты
Наверное, не существуют людей, которые хоть немного интересуются цифровой электроникой и при этом не слышали про Ardiuino и Raspbery Pi.
Эти две платформы разошлись по миру миллионами экземпляров, на их базе сделаны десятки тысяч DIY проектов, сотни тысяч энтузиастов объединены в развитые сообщества, а на рынке существует огромное количество аксессуаров, дополнений и расширений. Написаны тысячи статей, так что нет смысла повторять уже сказанное. Эти платформы прекрасны для старта, всем хорошо известны их достоинства и недостатки, так что не буду говорить про них долго. Скажу только, почему я их не рассматриваю для своих проектов:
1. Малинка не предназначена для самостоятельных аппаратных модификаций (процессор недоступен для покупки на открытом рынке). Т.е. сделать свою плату на ее основе практически невозможно, а готовая Малинка может либо чем-то не устраивать (например, габаритами).
2. Ардуино, как платформа, построенная на микроконтроллере, не обладает хоть сколько-нибудь высокой производительностью.
3. Попытки добавить функциональности (главным образом — интеграция в беспроводные сети) выливаются в довольно заметные затраты. Так называемые WiFi shields — не самое дешевое удовольствие.
В любом случае, большинство людей, делающих первые шаги в DIY сегменте цифрофой электроники, в первую очередь обратятся к этим двум платформам. Пожелаю им удачи и перейду к менее раскрученным вариантам.
Новорожденный монстр
Относительно недавно корпорация Intel анонсировала, а совсем уж «только что» представила свой продукт: одноплатный миниатюрный сетевой компьютер Edison. Что тут сказать? Результат действительно впечатляет. Двухядерный 500 МГц Intel Atom просессор плюс микроконтроллер Quark, 1 Gb DDR3 RAM, 4 Gb eMMC, WiFi и Bluetooth на плате размером с SD карточку — по-моему, Edison вполне тянет на технологический шедевр, да еще и относительно недорогой. Лично мне все бросить и делать проекты только на Intel Edison мешают всего лишь несколько вещей.
1. Плату невозможно использовать as is, нужна как минимум еще плата-переходник, что добавляет всего (стоимости, геморроя, габаритов и т.п.). Виной этому — крутой и технологичный 70-пиновый разъем.
2. 50 USD — это все-таки в пару раз больше, чем доступные альтернативы, а вся мощь Edison нужна далеко не всегда.
3. Не совсем чистый OpenSource — вроде как и не сильно мешает, но если уж уткнулся в проприетарность в каком-то проекте, то как обойти — совершенно непонятно.
Решения на Ralink RT5350
Очень неплохая и экстремально дешевая SoC от компании Ralink, обладающая впечатляющими характеристиками, дала возможность нашим китайским друзьям наделать кучу интересных игрушек.
Прежде всего, это дешевые WiFi роутеры (от 20 USD в розницу в Китае), на базе которых, если немножко поковыряться, можно сделать кучу всего интересного (ну или попытаться слегка пожульничать).
Также хотелось бы отметить в этом ряду т.н. UAUT-Wifi module (а на самом деле — вполне полноценный одноплатный сетевой компьютер) HLK-RM04.
С точки зрения самостоятельных проектов эти решения, по сути, обладают одним недостатком — в них установлено экстремально мало памяти (обычно 4 Мб NOR flash и 32 или даже 16 Мб SDRAM RAM). Если, как это обычно и случается, поставить на эти платы распространенную и очень удобную открытую OS OpenWRT, то дефицит памяти совершенно точно даст о себе знать.
Этого недостатка почти лишен свежий и весьма интересный проект от китайского энтузиаста Vonger — миниатюрный компьютер VoCore. Да, там по-прежнему всего лишь 32 Мб SDRAM RAM, но зато как минимум 8 (а то и 16 Мб — я не очень понял, сколько именно сейчас ставят на плату, в разных источниках данные разные) NOR flash. При стоимости в 20 USD и полной открытости платформы (как программной, так и аппаратной!), VoCore является очень и очень хорошим вариантом для самостоятельных разработок на его основе.
Могу отметить только два недостатка VoCore (исключительно мое личное мнение, не претендующее на объективность):
1. Плата довольно медленная, т.к. чипсет ограничивает варианты использования RAM исключительно 16-битной SDRAM. Где эти ограничения напрягают? Например, при работе с достаточно большими объемами данных, т.е., скажем, с видео.
2. Чтобы даже просто запустить плату, нужен паяльник и довольно прямые руки. Питание (от 3.3 до 6V) можно подать только на пины разъема 1.27". Или же сразу покупать вариант VoCore с «материнской платой», что делает решение заметно более габаритным.
Решения на Qualcom Atheros AR9331
Еще одна отличная недорогая SoC для WiFi роутеров. Сколько DIY проектов уже было сделано на базе TP-Link WR703, MR3020 и аналогичных? Только на Хабрахабре уже как минимум десяток наберется, я думаю (например, вот, вот, вот, вот).
SoC чуть подороже, чем Ralink RT5350, однако при этом поддерживает DDR2 память, что делает решения на базе AR9331 в 3.5 раза более производительными (да-да, именно во столько, мы проверяли и сами офигели удивились).
Помимо роутеров на базе AR9331 широко известны следующие одноплатные сетевые компьютеры:
1. E-Link ML-150 и M-mini:
2. Gs oolite:
3. Carambola2
Главный их недостаток (с моей точки зрения) — это монтаж с помощью полуотверстий. Чтобы запитать все эти платы, нужно подпаять стабилизированные 3.3V, которые тоже нужно где-то взять… А если хочешь подключить USB устройство, то еще и +5В надо найти. В общем, отличные платы, но не без недостатков. И еще: они не Open Hardware, т.е. свое аппаратное решение на их базе не сделать, увы.
Наша разработка
Да, мы тоже решили попробовать свои силы и разработали собственный вариант одноплатного компьютера на базе AR9331.
В июне мы получили на руки первую ревизию наших плат.
Первый блин получился не то, чтобы комом, но не без недостатков. Все лето мы занимались исправлениями и доработкой (как платы, так и софта). Разработали корпус (спасибо, mrmager).
На прошлой неделе у нас в руках появилась вторая ревизия наших плат, и теперь мы точно можем сказать: оно работает!
Ключевые особенности нашей платы:
1. «Легкий вход». Подключите обычный блок питания micro-USB — и плата заработает. В другой разъем micro-USB (через переходник USB OTG) можно подключить, например, WEB-камеру, и сразу наблюдать трансляцию видеопотока по сети. Паяльник не требуется.
2. Полный Open Source. Программно — бут-лоадер в исходниках, OpenWRT trunk. Аппаратно — принципиальная схема и BOM опубликуем сразу, герберы — после производства тиража (когда будем на 100% уверены в работоспособности решения).
3. Минимальные габариты (25х35х4 мм без корпуса, 30х40х12 мм в корпусе) и вес (3 г без корпуса).
4. Через пины (1.27") выведены 3 Ethernet разъема, USB host, UART, SPI, 20+ GPIO.
5. PCB антенна WiFi (дорожкой на плате).
6. Возможность программно регулировать частоты процессора, памяти и SPI (в случае процессора, например, можно установить частоты от 200 МГц для уменьшения энергопотребления и до 600 МГц для увеличения производительности).
Теперь можно смело производить партию наших плат для продажи. Есть только один вопрос — спрос будет? В нашей первой статье больше 1000 участников хабрасообщества высказали потенциальное желание приобрести наш компьютер. Все течет, все меняется. Хотелось бы узнать текущую ситуацию. Если не трудно, уважаемые читатели, ответьте, пожалуйста: захотели бы вы прямо сейчас оформить предзаказ (со 100% предоплатой) сетевого одноплатного компьютера со следующими характеристиками:
SoC Qualcom Atheros AR9331, CPU 32-bit MIPS 400 MHz, RAM DDR2 64 MiB, NOR flash 16 MiB, OS OpenWRT, USB host, UART, 20+ GPIO, размеры 25х35мм, за эквивалент 20 USD в российских рублях (без учета стоимости доставки)? Если мы сможем набрать деньги на тираж до декабря, то компьютеры будут в Москве во второй половине января. Дополнительно можно будет заказать пластиковый корпус, плату-переходник разъемов 1.27" в 2.54", плату с двумя Ethernet и четырьмя USB разъемами и другие аксессуары. Также можно будет выбрать «плату разработчика», на которой сразу установлен чип FTDI для подключения консоли OpenWRT к USB порту компьютера, и будет присутствовать возможность перепрошить на низком уровне одну плату с другой такой же (на случай, если в результате экспериментов плата «окирпичилась»).
Почему именно такая цена? Повторяю расчеты из июньской статьи:
На тираже в 1000+ штук приблизительный расклад на одну плату такой:
1. Себестоимость изготовления (четырехслойная плата, детали, монтаж) — 12 USD.
2. Проверка, заливка софта, упаковка, доставка в аэропорт — 1 USD.
3. Доставка самолетом в Россию (Москва) — 1 USD.
4. Растаможка — 4 USD (из них бОльшая часть — 18% НДС).
К этому нужно добавить 6% налог (ИП, упрощенка).
Т.е. по предзаказу вы получаете платы по себестоимости. Зачем мы это делаем? Хотим, чтобы платформа получила широкое распространение среди энтузиастов и инженеров, работающих «под заказ». Мы будем помогать производить эти решения, и надеемся заработать на тиражах.
Автор: dzhe