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

А железяки там должны были быть весьма вкусные:

  • gpfix (Geo Tracker) — система мониторинга перемещения объектов

  • Марсоход — открытая платформа на основе ПЛИС

  • AFEB — одноплатный компьютер на базе ARM

  • Wireless OSEB — платформа для разработки Zigbee-устройств

  • ClockTamer — конфигурируемый опорный генератор

Для начала, я немного расскажу о самом opensource hardware (OSHW).

Удивительно, но история OSHW началась задолго до Столлмана и его проекта GNU. Достаточно вспомнить Altair-8800 и Apple-I.

Altair-8800
Altair-8800

Эти компьютеры были своего рода конструкторами "сделай сам", кроме того любой пользователь мог модифицировать или дублировать аппаратуру по своему усмотрению и никто его за это не преследовал.

Apple-I
Apple-I. Автор: rebepilot с Flickr. Лицензия: CC-BY-SA-2.0

И конечно, нельзя не упомянуть об IBM PC. Если бы компания IBM не открыла для всех желающих полное техническое описание своей персоналки, то IBM PC-совместимые компьютеры не стояли бы сейчас на каждом углу, в любом магазине или офисе.

Из "знаменитого" аппаратного обеспечения с открытыми исходниками, созданного в наши дни, можно вспомнить:

  • OpenSPARC — 64-битный "свободный процессор" архитектуры SPARC от корпорации Sun Microsystems. На его основе был создан 32-битный процессор архитектуры SPARC — LEON.

  • Handspring Visor — "прадедушка" современных смартфонов.

Основные принципы OSHW просты и схожи с принципами открытого софта:

  • Доступность исходных файлов. Все (по возможности) исходные файлы должны быть доступны: файлы прошивок, файлы с HDL-дизайном, файлы CAD’ов с разводкой печатных плат, файлы дизайна, корпуса и прочие файлы. Причем они должны быть созданы (по возможности) в свободных редакторах, чтобы не было сложностей (в том числе и денежных) с их просмотром. Любой человек, обладающий соответствующими навыками и получивший исходные файлы, должен суметь собрать точно такое же устройство.

  • Возможность делать "производные" работы. Авторы подобных работ не должны преследоваться. Тут полная аналогия с софтом — я должен иметь возможность прикрутить к понравившейся мне железке все, что захочется и не загреметь при этом в руки копирастам.

  • Свободное распространение. Уже собранные устройства вполне можно продавать, но все исходные файлы должны свободно распространяться.

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

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

Рекомендую посмотреть презентации с конференции:

Вторая часть конференции была посвящена презентации Стива Сонга (Steve Song) и Дэвида Роуа (David Rowe) о проблеме обеспечения связью бедных районов Африки. Как известно, со связью в Африке все плохо — старых телефонных линий, как у нас, у них никогда не было, а операторы сотовой связи дерут втридорога за звонок на номер от другого ОПСОСа (да и вообще дерут втридорога).

В итоге, на заветах OSHW, была придумана штука, названная MeshPotato — гибрид WiFi-роутера и телефонной розетки. Эти коробочки занимаются передачей голосового трафика с телефона на телефон. При включении, они (MeshPotato) автоматически связываются друг с другом и образуют сеть с распределенной топологией — выход из строя одного узла не повлияет на всю сеть в целом. Трафик передается по узлам сети, пока не дойдет до принимающего абонента. Зато дешево, не надо платить горы денег и можно накрыть связью небольшой городок.

Поражает скорость разработки устройства - от идеи до полноценной реализации прошло чуть больше года (июнь 2009 — октябрь 2010).

На последней для меня, третьей части конференции, были представлены различные опенсорные "железные" проекты, сделанные в России.

Программно-аппаратный комплекс мониторинга объектов "GPFix"

Проще говоря, это GPS-трекер, позволяющий следить за перемещениями устройства через Web.

Устройство было сделано "just for fan". Печатная плата для него была заказана на китайском заводе. В устройстве используется ATMega 128 только потому, что ARM на тот момент был слишком дорог.

Марсоход

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

Услышанные плюсы платы — маленькая и дешевая (говорят, что продают её за 1000 рублей). Ну а минусы — ПЛИС, вроде как CPLD и поэтому число циклов перезаписи весьма ограничено (около 100 вроде бы).

В общем, это что-то вроде SDK 6.1, только более маленького и более дешевого.

Сайт проекта: http://marsohod.org/, презентация: http://www.slideshare.net/ipse/marsohod

Открытый одноплатный компьютер

В этом проекте, делается одноплатный компьютер на базе процессора ARM. Кстати, проект был задуман человеком из ИТМО, в качестве дипломной работы.

Название проекта AFEB — ARM and FPGA Evaluation Board. В первых версиях устройства на плате была микросхема FPGA ПЛИС для цифровой обработки сигналов (вроде как) и прочих развлечений. Но впоследствии выяснилось, что число циклов перезаписи слишком мало и не все люди, работающие с этой платой, могут припаять себе новую ПЛИС. Такие люди лишались части функциональности и, чтобы не огорчать их, ПЛИС решено было убрать.

К этому же проекту примыкает и другой проект — Wireless OSEB — платформа для разработки ZigBee устройств. В проекте используется чип MC13224, который включает в себя ядро ARM7 и радиомодуль. Печально, но этот чип показывает, каким может быть proprietary hardware — в нем есть специальная память, в которой хранятся библиотеки производителя, рекомендуемые им для работы с устройством. Память эта открывается только если заплатить за доступ к этим библиотекам, иначе она недоступна.

Сайт проекта: http://oshw.ru/, презентация: http://www.slideshare.net/ipse/0403-afeb-wireless-oseb

Конфигурируемый опорный генератор

В настоящий момент данный генератор используется в основном для исследования GSM сетей. Диапазон генерируемых колебаний — от 3 МГц до 100 МГц с шагом 1 Гц.

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

С оставшейся части конференции я ушел, но тем не менее просмотрел и рекомендую просмотреть следующие презентации: