Это первая моя статья на Хабр. Спасибо Хабру за предоставление этой возможности нашей компании.
Мы делаем конечное устройство — ультратонкий клиент — терминальный клиент для «всех» (RDP, VMWare, S.P.I.C.E. и другие) терминальных систем. «Всех» в кавычках потому что это пока не реализовано, но пути есть.
Сейчас готов прототип — плата DS-109 (размером 100мм*100мм) — CPU 1 ГГц, RAM 1 ГБ, NAND 4Гб,…

Закончено производство платы DS-110, характеристики платы opensourceclient.org/faq/specifications-ds-110
Ниже я кратко расскажу о пути, который привел нас под предводительством меня к нынешнему состоянию дел.
Всё началось давным-давно. Моя средняя школа пришлась на середину 80-х, тогда я стал посещать радиокружок в нашем поселке, который находится на расстоянии ~1900 км от Москвы и ~2500 км от Санкт-Петербурга.
Огромное спасибо за организацию этого кружка военруку (в то время) поселкообразующего сельскохозяйственного техникума Михаилу Михайловичу — спасибо Папа! Спасибо бессменному руководителю кружка Юрию Ивановичу (кличка «ереваныч») за привитый интерес к электронике, работе руками и головой.
В конце 80-х я в первый раз увидел компьютер. О, это был класс Yamaha, модели уже не помню, но помню черно-зеленую картинку из игры карате. Большое спасибо преподавателю информатики за эти экскурсии, спасибо Мама!
В 1990-м году мною был собран первый Sinclair ZX Spectrum с этапом пайки и запуска с помощью осцилографа, потом ещё один с дисководом. Много играл, потом более интересно стало разбираться в программах. Выписывал ZX Review, зачитывал до дыр. Уехал учиться в Санкт-Петербург. Успел послужить в вооруженных силах РФ, работал сисадмином, начальником сисадминов. Но денег денег было мало, пошел продавать.
Продавали маленькие терминальные клиенты, это те, что запускают RDP клиент и подключаются к далекому или не очень терминальному серверу Windows и показывают рабочий стол. Производства они были китайского и очень дешевые. Построенные на SOC (системе-на-чипе) и WindowsCE 5/6 версии. Спрос на них был более менее стабильный.
Работать на дядю со временем надоело и стал возникать вопрос — что же делать дальше.
Радиокружок и сисадминство не прошло даром. На горизонте появились новости о Raspberry Pi. А ведь на нём можно сделать терминальный клиент, и он будет маленьким. Предзаказ Raspberry Pi. и ожидание, а также общение с пользователями китайских терминальных клиентов позволили уточнить требования к «идеальному» терминальному клиенту.
Но ряд требований не могли быть удовлетворены тонким клиентом на основе www.raspberrypi.org (который модель B), а именно:
От себя добавил, что очень удобно было бы подключаться не только к RDP серверам но и к другим (от VMware, RedHat и т.п.).
В период предзаказа Raspberry Pi, проводя время в поисках решения удовлетворяющего всем требованиям, наткнулся на Cubieboard, тогда ещё единственной версии, теперь это версия Cubieboard1.
Прямое сравнение характеристик Cubieboard с Raspberry Pi (да, я понимаю, что это не очень корректно, хотя...) было в пользу Cubieboard, а именно — больше памяти, быстрее процессор, открытые спецификации AllwinnerTech SOC A10, видеоускоритель позволяющий воспроизводить видео до 1080p, большое количество pin со всевозможными портами (цитирую «96 extend pin interface, including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP, and more»). Последнее для терминального клиента конечно лишнее, но это уже есть в базе, а значит можно использовать плату для встраивания в другие устройства, например в 3D принтеры или умный дом — есть мощный процессор, есть много портов для управления.
Есть NAND для хранения прошивки и SD slot для карты памяти.
Можно грузиться с NAND, можно с карты памяти.
Можно загрузить Android 4.0.4, можно Ubuntu 12.04 ARM версию с возможностью обновления с оф.сайта Ubuntu.
Есть начальная поддержка FreeBSD.
В конце концов можно запустить и WindowsCE 6.0 — но это не вписывается в концепцию открытого терминального клиента.
Концепция открытого терминального клиента в нашем понимании — это возможность использовать только открытое программное обеспечение в прошивке.
В Cubieboard всё также недостаточно портов USB, нет вывода на VGA D-Sub, нет корпуса подходящего для «коробочного» решения.
Проведя много времени в поисках и думах об возможном решении пришел к мысли, а почему бы не создать что-то типа Cubieboard самим? Радиокружок не прошел даром…
Однако с тех пор электроника шагнула далеко (очень далеко, можно сказать за горизонт) вперед. Посмотрев на проблему с разных сторон пришли к выводу, что если нырять в конструирование платы самим — это займет не просто очень много времени, это займет всё обозримое время и не факт, что приведет к положительному результату.
Стали искать профессионала, которым мог бы сделать что-то типа Cubieboard в обозримые сроки и средства. Поиск такого человека/организации — это тема отдельной истории. Если будет интерес — будет и история.
Много времени занял этот поиск. В результате была найдена организация, которая осуществила разработку и производство прототипа. Прототип был протестирован, требования к окончательному варианту слегка изменились, а именно заменили разъемы USB на немного другие для снижения общей высоты.
В результате у нас получилась плата по функциям аналогичная плате Cubieboard1с некоторыми отличиями:
Отдельным пунктом выделяю, что в полный рост возможно использование Linux/GNU в виде специального дистрибутива для SOC AllwinnerTech sunxi — весь исходный код доступен.
Можно использовать Ubuntu 12.04 ARM версию, она будет обновляться с официальных серверов Ubuntu.
Работают образы созданные для Cubieboard. Программные доработки необходимы только в виде переключения вывода видео с HDMI на VGA/dsub. Можно использовать полноценный Android 4.0.4.
Таким образом можно использовать нашу плату с прошивкой собранной только из открытого программного обеспечения.
Можно использовать нашу плату как отдельный «компьютер-на-плате», в самодельных конструкциях, например «умный дом», контроллер печати для 3D принтера и т.п. — огромное количество разных портов позволяет это.
Открывать документацию на плату вряд ли будем — повторить 6-ти слойную плату в домашних и не очень условиях очень непросто, наверное даже невозможно. Дарить документацию конкурентам тоже не хочется. И разработка такой платы стоила немалых средств — сначала надо их вернуть.
О начале продаж плат DS-110 будет новость на нашем сайте, до конца этого года, вероятнее всего на следующей неделе.
Характеристики платы opensourceclient.org/faq/specifications-ds-110
Для этой платы у нас есть корпус и крепление на монитор, и блок питания тоже есть.
Позже мы планируем продавать «коробочные» устройства — достал, подключил провода, настроил для подключения к «любому» терминальному серверу и работай.
Ссылки:
Сайт, который посвящен открытому терминальному клиенту opensourceclient.org, там же расположен и форум. Хабраэффект наверно не выдержит, мы работаем над этим.
Дистрибутив Linux специально для работы на AllwinnerTech SOC A1X — http://linux-sunxi.org/Main_Page
Сайт платы Cubieboard http://cubieboard.org/
Характеристики платы Cubieboard1 http://docs.cubieboard.org/products/start#hardware_specs
Производитель AllwinnerTech SOC A10 http://en.wikipedia.org/wiki/Allwinner_Technology, оф.сайт http://www.allwinnertech.com/
Если не хотите пропустить начало продажи нашей платы — на сайте opensourceclient.org можно подписать на рассылку новостей (слева внизу).
Upd-1. Почта на opensourceclient.org/kontakt теперь работает.
Upd-2. Готовы отгружать Подробности.
Мы делаем конечное устройство — ультратонкий клиент — терминальный клиент для «всех» (RDP, VMWare, S.P.I.C.E. и другие) терминальных систем. «Всех» в кавычках потому что это пока не реализовано, но пути есть.
Сейчас готов прототип — плата DS-109 (размером 100мм*100мм) — CPU 1 ГГц, RAM 1 ГБ, NAND 4Гб,…

Закончено производство платы DS-110, характеристики платы opensourceclient.org/faq/specifications-ds-110
Ниже я кратко расскажу о пути, который привел нас под предводительством меня к нынешнему состоянию дел.
Всё началось давным-давно. Моя средняя школа пришлась на середину 80-х, тогда я стал посещать радиокружок в нашем поселке, который находится на расстоянии ~1900 км от Москвы и ~2500 км от Санкт-Петербурга.
Огромное спасибо за организацию этого кружка военруку (в то время) поселкообразующего сельскохозяйственного техникума Михаилу Михайловичу — спасибо Папа! Спасибо бессменному руководителю кружка Юрию Ивановичу (кличка «ереваныч») за привитый интерес к электронике, работе руками и головой.
В конце 80-х я в первый раз увидел компьютер. О, это был класс Yamaha, модели уже не помню, но помню черно-зеленую картинку из игры карате. Большое спасибо преподавателю информатики за эти экскурсии, спасибо Мама!
В 1990-м году мною был собран первый Sinclair ZX Spectrum с этапом пайки и запуска с помощью осцилографа, потом ещё один с дисководом. Много играл, потом более интересно стало разбираться в программах. Выписывал ZX Review, зачитывал до дыр. Уехал учиться в Санкт-Петербург. Успел послужить в вооруженных силах РФ, работал сисадмином, начальником сисадминов. Но денег денег было мало, пошел продавать.
Продавали маленькие терминальные клиенты, это те, что запускают RDP клиент и подключаются к далекому или не очень терминальному серверу Windows и показывают рабочий стол. Производства они были китайского и очень дешевые. Построенные на SOC (системе-на-чипе) и WindowsCE 5/6 версии. Спрос на них был более менее стабильный.
Работать на дядю со временем надоело и стал возникать вопрос — что же делать дальше.
Радиокружок и сисадминство не прошло даром. На горизонте появились новости о Raspberry Pi. А ведь на нём можно сделать терминальный клиент, и он будет маленьким. Предзаказ Raspberry Pi. и ожидание, а также общение с пользователями китайских терминальных клиентов позволили уточнить требования к «идеальному» терминальному клиенту.
Но ряд требований не могли быть удовлетворены тонким клиентом на основе www.raspberrypi.org (который модель B), а именно:
- только 2 USB порта — получается что если хочешь подключить что-то кроме клавиатуры/мыши, то надо городить гирлянду из хаба или использовать ещё что-то
- вывод видео только по HDMI, на тот момент мониторы с HDMI были редкостью, да и сейчас есть огромный парк мониторов имеющих только VGA/D-Sub
- отсутствие корпуса, который позволил бы сделать «коробочное» решение
- питание через USB порт. Ничего плохого нет в питании через USB, но посчитали это недостатком
- обязательное использование карты памяти — любая штука которая торчит из корпуса имеет шанс на исчезновение или поломку
- часть ПО используемого в Raspberry Pi имеет характер проприетарного, вроде бы не сильно это и страшно, но наследие сисадминства и любовь к открытым системам подсказывала что это неправильно.
От себя добавил, что очень удобно было бы подключаться не только к RDP серверам но и к другим (от VMware, RedHat и т.п.).
В период предзаказа Raspberry Pi, проводя время в поисках решения удовлетворяющего всем требованиям, наткнулся на Cubieboard, тогда ещё единственной версии, теперь это версия Cubieboard1.
Прямое сравнение характеристик Cubieboard с Raspberry Pi (да, я понимаю, что это не очень корректно, хотя...) было в пользу Cubieboard, а именно — больше памяти, быстрее процессор, открытые спецификации AllwinnerTech SOC A10, видеоускоритель позволяющий воспроизводить видео до 1080p, большое количество pin со всевозможными портами (цитирую «96 extend pin interface, including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP, and more»). Последнее для терминального клиента конечно лишнее, но это уже есть в базе, а значит можно использовать плату для встраивания в другие устройства, например в 3D принтеры или умный дом — есть мощный процессор, есть много портов для управления.
Есть NAND для хранения прошивки и SD slot для карты памяти.
Можно грузиться с NAND, можно с карты памяти.
Можно загрузить Android 4.0.4, можно Ubuntu 12.04 ARM версию с возможностью обновления с оф.сайта Ubuntu.
Есть начальная поддержка FreeBSD.
В конце концов можно запустить и WindowsCE 6.0 — но это не вписывается в концепцию открытого терминального клиента.
Концепция открытого терминального клиента в нашем понимании — это возможность использовать только открытое программное обеспечение в прошивке.
В Cubieboard всё также недостаточно портов USB, нет вывода на VGA D-Sub, нет корпуса подходящего для «коробочного» решения.
Проведя много времени в поисках и думах об возможном решении пришел к мысли, а почему бы не создать что-то типа Cubieboard самим? Радиокружок не прошел даром…
Однако с тех пор электроника шагнула далеко (очень далеко, можно сказать за горизонт) вперед. Посмотрев на проблему с разных сторон пришли к выводу, что если нырять в конструирование платы самим — это займет не просто очень много времени, это займет всё обозримое время и не факт, что приведет к положительному результату.
Стали искать профессионала, которым мог бы сделать что-то типа Cubieboard в обозримые сроки и средства. Поиск такого человека/организации — это тема отдельной истории. Если будет интерес — будет и история.
Много времени занял этот поиск. В результате была найдена организация, которая осуществила разработку и производство прототипа. Прототип был протестирован, требования к окончательному варианту слегка изменились, а именно заменили разъемы USB на немного другие для снижения общей высоты.
В результате у нас получилась плата по функциям аналогичная плате Cubieboard1с некоторыми отличиями:
- имеет 6 портов USB, из которых 4 доступны с края платы
- видео вывод возможен на HDMI или VGA D-Sub (с разрешением до 1920*1080)
- питание возможно через USB-OTG и отдельным штекером
- в окончательных требованиях сознательно не ставили наличие WiFi модуля, потому что это удорожает производство и очень сильно удорожает ввоз таких плат в РФ. При необходимости wifi может быть добавлен USB «свистком» для которого есть место на плате.
Отдельным пунктом выделяю, что в полный рост возможно использование Linux/GNU в виде специального дистрибутива для SOC AllwinnerTech sunxi — весь исходный код доступен.
Можно использовать Ubuntu 12.04 ARM версию, она будет обновляться с официальных серверов Ubuntu.
Работают образы созданные для Cubieboard. Программные доработки необходимы только в виде переключения вывода видео с HDMI на VGA/dsub. Можно использовать полноценный Android 4.0.4.
Таким образом можно использовать нашу плату с прошивкой собранной только из открытого программного обеспечения.
Можно использовать нашу плату как отдельный «компьютер-на-плате», в самодельных конструкциях, например «умный дом», контроллер печати для 3D принтера и т.п. — огромное количество разных портов позволяет это.
Открывать документацию на плату вряд ли будем — повторить 6-ти слойную плату в домашних и не очень условиях очень непросто, наверное даже невозможно. Дарить документацию конкурентам тоже не хочется. И разработка такой платы стоила немалых средств — сначала надо их вернуть.
О начале продаж плат DS-110 будет новость на нашем сайте, до конца этого года, вероятнее всего на следующей неделе.
Характеристики платы opensourceclient.org/faq/specifications-ds-110
Для этой платы у нас есть корпус и крепление на монитор, и блок питания тоже есть.
Позже мы планируем продавать «коробочные» устройства — достал, подключил провода, настроил для подключения к «любому» терминальному серверу и работай.
Ссылки:
Сайт, который посвящен открытому терминальному клиенту opensourceclient.org, там же расположен и форум. Хабраэффект наверно не выдержит, мы работаем над этим.
Видео с демонстрацией работы прототипа, платы DS-109
Демонстрация работы прототипа платы под Ubuntu 12.04
Демонстрация работы прототипа платы под Android 4.0.4
Демонстрация работы прототипа платы под Android 4.0.4
Дистрибутив Linux специально для работы на AllwinnerTech SOC A1X — http://linux-sunxi.org/Main_Page
Сайт платы Cubieboard http://cubieboard.org/
Характеристики платы Cubieboard1 http://docs.cubieboard.org/products/start#hardware_specs
Производитель AllwinnerTech SOC A10 http://en.wikipedia.org/wiki/Allwinner_Technology, оф.сайт http://www.allwinnertech.com/
Если не хотите пропустить начало продажи нашей платы — на сайте opensourceclient.org можно подписать на рассылку новостей (слева внизу).
Upd-1. Почта на opensourceclient.org/kontakt теперь работает.
Upd-2. Готовы отгружать Подробности.