2 окт. 2010 г.

Отчет о конференции Russian OpenSource Hardware

Сегодня в Петербурге проходила конференция, посвященная "опенсорсному железу" и конкретно, российскому опенсорсному железу. Будучи человеком любопытным и рьяно обожающим всякие железяки, я конечно же пошел на эту конференцию.
А железяки там должны были быть весьма вкусные:
  • gpfix (Geo Tracker) — система мониторинга перемещения объектов
  • Марсоход — открытая платформа на основе ПЛИС
  • AFEB — одноплатный компьютер на базе ARM
  • Wireless OSEB — платформа для разработки Zigbee-устройств
  • ClockTamer — конфигурируемый опорный генератор

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

Удивительно, но история OSHW началась задолго до Столлмана и его проекта GNU. Достаточно вспомнить Altair-8800 и Apple-I.
Altair-8800
Эти компьютеры были своего рода конструкторами "сделай сам", кроме того любой пользователь мог модифицировать или дублировать аппаратуру по своему усмотрению и никто его за это не преследовал.
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'ов с разводкой печатных плат, файлы дизайна корпуса и прочие файлы. Причем они должны быть созданы (по возможности) в свободных редакторах, чтобы не было сложностей (в том числе и денежных) с их просмотром. Любой человек, обладающий соответствующими навыками и получивший исходные файлы, должен суметь собрать точно такое же устройство.
  • Возможность делать "производные" работы. Авторы подобных работ не должны преследоваться. Тут полная аналогия с софтом - я должен иметь возможность прикрутить к понравившейся мне железке все, что захочется и не загреметь при этом в руки копирастам.
  • Свободное распространение. Уже собранные устройства вполне можно продавать, но все исходные файлы должны свободно распространяться.
Естественно, вокруг подобных железяк будет собираться свое коммьюнити, которое будет заниматься поддержкой, а производители и распространители на местах смогут вносить желаемые улучшения и исправления в устройство (например его локализация) и спокойно продавать, не забывая выкладывать все изменения в свободный доступ.
Ответственность за проблемы конечного пользователя может лечь либо на самого пользователя, если он подкован в электронике и прочих областях знаний; либо на конечного производителя, особенно если устройство было произведено как законченный продукт, не требующий доработки напильником.
Рекомендую посмотреть презентации с конференции:
  1. Обзорная презентация - "Что такое Open Source Hardware?"
  2. Презентация об OSHW от технического директора компании Linux Inc - Олега Садова. Приведено много примеров современного открытого железа, в том числе и линуксовый смартфон OpenMoko.

Вторая часть конференции была посвящена презентации Стива Сонга (Steve Song) и Дэвида Роуа (David Rowe) о проблеме обеспечения связью бедных районов Африки. Как известно, со связью в Африке все плохо - старых телефонных линий, как у нас, у них никогда не было, а операторы сотовой связи дерут втридорога за звонок на номер от другого ОПСОСа (да и вообще дерут втридорога).
В итоге, на заветах OSHW, была придумана штука, названная MeshPotato - гибрид WiFi-роутера и телефонной розетки. Эти коробочки занимаются передачей голосового трафика с телефона на телефон. При включении, они (MeshPotato) автоматически связываются друг с другом и образуют сеть с распределенной топологией - выход из строя одного узла не повлияет на всю сеть в целом. Трафик передается по узлам сети, пока не дойдет до принимающего абонента. Зато дешево, не надо платить горы денег и можно накрыть связью небольшой городок.
Поражает скорость разработки устройства - от идеи до полноценной реализации прошло чуть больше года (июнь 2009 - октябрь 2010).

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

Программно-аппаратный комплекс мониторинга объектов "GPFix"
Проще говоря, это GPS-трекер, позволяющий следить за перемещениями устройства через Web.
Устройство было сделано "just for fan". Печатная плата для него была заказана на китайском заводе. В устройстве используется ATMega 128 только потому, что ARM на тот момент был слишком дорог.
Сайт проекта: http://www.oshec.org/projects/geotracker

Марсоход
Было много пафоса на тему "с использованием микроконтроллера вам нужно использовать кучу дополнительной обвязки, плюс вы привязаны к используемому железу, а в случае с ПЛИС можно использовать любое железо, которое удастся туда прошить". Рассказали бы лучше еще больше о проектах, которые используют эту плату.
Услышанные плюсы платы - маленькая и дешевая (говорят, что продают ее за 1000 рублей). Ну а минусы - ПЛИС, вроде как CPLD и поэтому число циклов перезаписи весьма ограничено (около 100 вроде бы).
В общем, это что-то вроде SDK 6.1, только более маленького и более дешевого.
Сайт проекта: http://marsohod.org/

Открытый одноплатный компьютер
В этом проекте, делается одноплатный компьютер на базе процессора ARM. Кстати, проект был задуман человеком из ИТМО, в качестве дипломной работы.
Название проекта AFEB - ARM and FPGA Evaluation Board. В первых версиях устройства на плате была микросхема FPGA ПЛИС для цифровой обработки сигналов (вроде как) и прочих развлечений. Но впоследствии выяснилось, что число циклов перезаписи слишком мало и не все люди, работающие с этой платой, могут припаять себе новую ПЛИС. Такие люди лишались части функциональности и, чтобы не огорчать их, ПЛИС решено было убрать.
К этому же проекту примыкает и другой проект - Wireless OSEB - платформа для разработки ZigBee устройств. В проекте используется чип MC13224, который включает в себя ядро ARM7 и радиомодуль. Печально, но этот чип показывает, каким может быть proprietary hardware - в нем есть специальная память, в которой хранятся библиотеки производителя, рекомендуемые им для работы с устройством. Память эта открывается только если заплатить за доступ к этим библиотекам, иначе она недоступна.
Сайт проекта: oshw.ru

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

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