telegamochka ([info]telegamochka) wrote in [info]ru_wearable,

Архитектура AR-Go

В данном топике обсуждается конкретика архитектуры новой версии ПО для AR-Go.
Tags: argo

  • Post a new comment

    Error

    Your IP address will be recorded 

  • 119 comments

[info]assargaddon

January 17 2012, 15:47:57 UTC 4 months ago

Как я говорил раньше, перво-наперво надо придумать, из каких железок AR-Go будет состоять на первом этапе. Причин для "перво-наперво" несколько:

1) В презентации картинка с отдельными девайсами, связанными цветными стрелочками, будет смотреться выигрышно. И всякому сразу понятно, что именно собираются сделать. После этого можно и слайд с цветными прямоугольниками - модулями ПО можно вставлять :) А без картинки с девайсами никто ничего не поймёт.

2) Цикл разработки существенно уменьшится, если у каждого разработчика будет нужный комплект. Без этого цикл разработки, как мне кажется, будет таким длинным, что вряд ли вообще получится что-то. Ну представь - поправил баг, а чтобы затестить - надо его слать кому-то, потом он напишет, получилось ли...нереально.

3) Существенно выше мотивация разработчиков. Одно дело знать, что где-то там есть прототип, работающий с твоим софтом. И другое дело - иметь этот самый работающий прототип перед носом.

4) Вполне вероятно, что это дополнительно мотивирует Lenovo - ведь им будет видна их выгода. Мол, вот такие и такие железки у вас будут покупаться, если наш проект получится. Да и в рекламном проспекте написать, "именно эта клавиатура/наладонник/карта связи используется в инновационном проекте AR-Go" тоже неплохо.

5) Возможно, хотя и не очень вероятно, что Lenovo'вские железки можно будет получить от Леново нахаляву. Даже если сами железки нахаляву и не дадут - возможно, удастся получить информацию, нужную для написания драйверов для этих железок.

[info]telegamochka

January 17 2012, 16:08:51 UTC 4 months ago

> перво-наперво надо придумать, из каких железок AR-Go будет состоять на первом этапе

Мой вариант девайса состоит из следующих частей:
1) системный блок на ARM-процессоре (Nokia N900)
2) наголовный дисплей Eyetop Centra
3) камеры: 2 встроенные в N900 и одна внешняя, подключаемая по USB - Logitech C300
4) внешний пульт (Nokia N900)

Скорее всего, для стимуляции разработки стоит продумать версию для x86-ых ноутбуков. На таком варианте можно будет вести разработку на привычных программеру инструментах. А при некотором желании - превратить ноутбук в носимый компьютер - пусть более громоздкий и неудобный, чем мой, но носимый.

AR-Go x86:
1) системный блок (ноутбук под Linux/Windows/MacOS)
2) в качестве дисплея можно использовать дисплей ноута или любые удобные видеоочки
3) камера - встроенная в ноутбук или внешняя веб-камера. При желании ее можно за 15 минут переделать в наголовную.
4) В качестве внешнего пульта можно использовать или мышь/клавиатуру, или приложение-эмулятор пульта, или телефон с bluetooth/j2me и установленным пульт-приложением

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

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]gdane

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]gdane

4 months ago

[info]assargaddon

January 17 2012, 16:40:46 UTC 4 months ago

Теперь конкретно по железякам.
Я предполагаю далее (только предполагаю!), что состоять всё счастье будет из:

* "системного блока"
* блока батарей
* видеоочков
* видеокамеры (с микрофоном?)
* блютус-гарнитуры
* карты связи
* наладонника/телефона с GPS и тачскрином (всё остальное - это, типа, аксессуар к этому вот наладоннику, хотя на самом деле этот наладонник - аксессуар к системному блоку)
* клавиатуры или клавиатурозаменителя

Теперь вопросы (ну и немного мыслей) по пунктам:

==== 1. "СИСТЕМНЫЙ БЛОК" ====

Во-первых, вынужден не согласиться, для системного блока первоначальной конструкции следует брать x86. Даже несмотря на то, что у меня есть eeepc со сломанным экраном специально для этого :)
Тому есть несколько причин:
а) x86 очень любит кушать батарейку и греться почём зря. А для носимого компьютера очень важна автономность.
б) обычно x86 дороже (или ошибаюсь?)
в) шансы на то, что наше ПО будет портировано с ARM на x86 гораздо выше, чем наоборот. Потому хотя бы, что x86 у всех есть.
В конце-то концов, не зря же ты после терзаний отказалась от x86 в прльзу ARM.

Надо решить два важных вопроса:
а) какую ж всё-таки железку брать за основу сначала (понятно, что потом попробуем и другие). Возможно, тот самый долгожданный 25-35 долларовый компьютер?
б) будет ли системный блок отдельным блоком, или мы всё-таки попытаемся запихать его в очки?


==== 2. "БЛОК БАТАРЕЙ" ====

Тут сразу надо решить - будет ли у нас вообще отдельный батарейный блок, или каждый модуль будет питаться своим собственным аккумулятором. И у того и у другого решения есть свои плюсы и минусы.

Наличие батарейного блока означает, что не имеет смысла особенно заморачиваться на беспроводные каналы связи между теми модулями, которые будут подключены к батарейному отсеку. Раз там всё равно будут провода.

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


==== 3. "ВИДЕООЧКИ" ====

Больная тема. Тут проблема в том, какие именно использовать. Телегамочкина Eyetop Centra не производится и на ебее её совсем немного - не очень надёжно. А других, как я понял, просто нет в природе. В смысле таких других, которые бы не заслоняли мир.

Если других действительно не найдётся, тогда придётся, видимо, брать Eyetop, и приниматься проектировать какие-нибудь свои...хотя очень не хочется. Но даже если проектировать - это должно делаться во вторую очередь, не тормозя остальной процесс.

С другой стороны, если будет принято решение интегрировать системный блок в очки, тогда в любом случае придётся придумывать какие-то свои очки.

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

January 17 2012, 16:41:15 UTC 4 months ago

==== 4. "ВИДЕОКАМЕРА" ====

Где она будет установлена и как будет связана с системным блоком?
Эти вопросы во многом снимаются, если системный блок будет интегрирован в очки. Во многом - но не полностью.

Желательно использовать одну из ленововских, но не уверен, что это выйдет. Нам же не вебкамера нужна, а что-то типа набора для её сборки.

==== 5. "БЛЮТУС-ГАРНИТУРА" ====

Даже несмотря на то, что микрофон с наушниками можно приспособить к очкам, я бы всё-таки советовал использовать гарнитуру. В первую очередь для того, чтобы отработать технологию обращения с блютусом.

Использовать одну из ленововских.


==== 6. "КАРТА СВЯЗИ" ====

Мне кажется, что для связи с интернет имело бы смысл попытаться использовать карту связи ту, что у леново нарылась.
Она вроде бы довольно универсальна...а использовать в этом качестве наладонник/телефон не очень хочется:

1) во-первых, связь GPRS-3G прерывается, когда идёт разговор (или уже нет?)
2) во-вторых, через блютус много траффика не пошлёшь. А это значит - привязка к системному блоку проводом. И это ещё тоже вопрос - бросить ethernet через USB задача хотя и решаемая, но нетривиальная.


==== 7. "НАЛАДОННИК" ====

Я имею в виду, что наладонник будет предоставлять
1) Свои возможности как телефона
2) GPS-координаты
3) Свой сенсорный экран, который сможет быть тем пультом, которым у Телегамочки сейчас Нокия работает. При этом видео туда с системного блока пересылаться не будет, а будет пересылаться тот самый "поток векторных примитивов".

Но он НЕ будет предоставлять
1) Свои возможности как устройства для GPRS-3G-WIFI
2) Свою камеру (разве что - для снимков, но не как видео)

При соблюдении этих условий наладонник может быть подключен к системному блоку посредством Bluetooth.

Ну и, конечно, сам бог велел взять для этой цели ленововские наладонники в первую очередь.

==== 8. "КЛАВИАТУРА" ====

Ну и тут тоже есть тот ленововский аксессуар - клава с трекболом. Не то чтобы она очень уж удобна - но зато она ЕСТЬ. А может и товаришь с октодоном что-то подкинет. Тогда будет сразу два существенно разных интерфейса и можно будет попробовать их взаимозаменяемость, и насколько получается переключаться с одного на другой без переписывания всего на свете.

Паралельно хотелось бы поиметь-таки аккордник, но это уж как пойдёт. Ведь его придётся всё-таки, видимо, проектировать. Несмотря на наличие готовых - что-то они все позакрывались...(или я неправ и готовый аккордник купить всё же можно?)

[info]telegamochka

January 17 2012, 17:25:43 UTC 4 months ago

Не поняла вопроса по поводу видеокамеры. У меня - Logitech C300 со снятым корпусом, пришитая к адидасовскому хайратнику. Хотя в идеале камерЫ должны быть встроены в очки. Или прикреплены к ним.

[info]telegamochka

January 17 2012, 17:31:38 UTC 4 months ago

Насчет _идеальной_ клавы для НК - она у меня есть. Но недопаяна... :( Она, кстати, могла бы быть самостоятельным продуктом - ввиду засилья бесклавиатурных мобильников и планшетов.

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

January 18 2012, 10:24:00 UTC 4 months ago

Принялся рисовать картинку-диаграмму для презентации...вот и первый затык - Lenovo не выпускает ничего, что могло бы звонить. Их планшеты с вайфаем и блютусом, но без модуля сотовой связи.

Соответственно, есть три варианта:
* Забить на леновоские планшеты, и в качестве "планшетника-телефона" использовать что-то другое, тот же N900. Самый простой вариант.

* Попытаться получить нужную информацию, чтобы порутить ленововские планшеты и писать на них без андроид-обёртки. И использовать эти планшеты в качестве "системного блока". А в качестве телефона использовать что-то другое.

* Использовать в качестве планшета ленововские планшеты, а телефонную связь поддерживать или через "карту связи" (если это возможно), или добавив ещё один модуль - собственно, модуль сотовой связи.

Итак?

[info]telegamochka

January 18 2012, 10:37:12 UTC 4 months ago

Для себя мы, естественно, не ориентируемся на Lenovo - берем то, что лучше подходит. Но для конкурса Lenovo, думаю, лучше указать 3-й вариант.

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

January 18 2012, 10:37:44 UTC 4 months ago

А вы знаете, у леново есть ещё вот такая железяка: http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:item.detail?GroupID=38&Code=45K5296¤t-category-id=F518DEACD67248538629B17343AFFB25&tab=1

А именно - USB-видеокарта, как я понимаю. "Lenovo USB-to-DVI Monitor Adapter".

[info]ornicum

January 18 2012, 15:02:46 UTC 4 months ago

А оно надо? HD-разрешение в НК.

[info]assargaddon

January 18 2012, 13:24:33 UTC 4 months ago

Вот, по результатам обсуждения нарисовал:


Всё верно?

А вот архив с "исходниками" картинки
http://statusquo.googlecode.com/files/AR-Go.zip

P.S. Ненавижу рисовать. Но - надо.

[info]telegamochka

January 18 2012, 13:38:26 UTC 4 months ago

Вроде, верно.

[info]assargaddon

January 18 2012, 14:05:23 UTC 4 months ago

Где бы взять девичий силуэт, чтоб туда воткнуть вместо мужского?

[info]ornicum

4 months ago

[info]ornicum

January 18 2012, 14:59:00 UTC 4 months ago

Вопрос: а налодонник же должен был пойти в системный блок, нет? Если это все же манипулятор, то как-то нелогично в нем GPS держать.

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

Anonymous

4 months ago

[info]ornicum

4 months ago

[info]ravwin

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]assargaddon

January 19 2012, 11:11:42 UTC 4 months ago

Чем дальше в лес, тем толще тролли партизаны.
Озаботился я вопросом, нельзя ли всё-таки использовать IdeaPad Tablet в качестве системного блока. В результате получилась куча спутанной информации...если бы это был код, я бы сказал, что это спагетти-код.

Прежде чем начать, обращу внимание на две немаловажных вещи:

  1. Устройство, которое присоединяется к интернету, должно быть связано с "системным блоком" проводами. Потому что через блютус много траффика не прокачаешь, а даже если прокачаешь - батарейка сядет.

  2. Устройству, которое играет роль системного блока, практически не может использоваться пользователем "напрямую". В плане, если у этого устройства и есть тачскрин или клавиатура - они будут практически бесполезны. Причина - к "системному блоку" идёт слишком много проводов, чтобы его доставать и что-то с ним делать.


[info]ornicum

January 19 2012, 11:14:49 UTC 4 months ago

Ну есть же вариант поднять точку доступа Wi-Fi в системном блоке. Правда батарейке от этого будет еще плохее.

[info]assargaddon

January 19 2012, 11:17:44 UTC 4 months ago

Вот-вот. Причём, плохо будет сразу двум батарейкам - батарейке "системного блока" и батарейке "устройства с доступом в инет". Последней надо будет не только вайфай питать, но и 3G, или через что там будет связь с инетом. Думаю, это неприемлемо совершенно.

[info]gdane

January 20 2012, 08:41:38 UTC 4 months ago

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

[info]ornicum

4 months ago

[info]assargaddon

January 19 2012, 11:41:35 UTC 4 months ago

Ну а теперь - "спагетти-код":


  • Как я и говорил, позвонить с ThinkPad Tablet в стандартной комплектации нельзя

  • Тем не менее, у ThinkPad Tablet есть разъём PCI Express Mini, в который эта MC8355 (карта связи на моей диаграмме) вставляется и работает, причём это штатно предлагаемая Lenovo опция

  • Но, в этой MC8355 нет голосовых возможностей. Именно потому в инет выйти можно, а позвонить - нет

  • Но я посмотрел даташит производителя этой MC8355 - и в одном даташите с ней есть похожие, так же, через PCI Express Mini, подключаемые модули, но с голосовой функцией

  • Причём в этом даташите указано, что линуксовые драйверы для всех этих модулей (включая MC8355) имеются. Однако, скачать их не дают, а вместо этого предлагают обратиться...эээ...ну к местному представителю, или как-то так.

  • Не вполне ясно, сможет ли Lenovo поставить модули с голосовой функцией. Не вполне ясно, предоставит ли Lenovo линукс-драйвера для этих модулей. Спросить их?

  • Сам ThinkPad Tablet работает на андроиде. Ясно, что возможностей этой ихней виртуальной машины нам катастрофически недостаточно. Потому что мы хотим использовать стандартные библиотеки, хотим делать свои устройства со своими драйверами и т.п. Поэтому если его всё-таки использовать в качестве "системного блока", то нужен способ его "порутить" и или поставить туда "обычный линукс", или просто получить возможность писать произвольный софт непосредственно под андроид, делая "настоящие бинарники"...а не на этой их псевдо-яве. Неизвестно, одобрит ли это Lenovo. А проще всего, если они сами дадут нам такую возможность. Cпросить их?

  • И кстати, мне даже неясно, что в ThinkPad Tablet'е за платформа - x86, ARM, ещё что-то...

  • Ах да, чуть не забыл - во всех этих модулях есть встроенный GPS. Учитывая, что GPS в ThinkPad Tablet заявлен даже в моделях без этого модуля, GPS-возможности этого модуля, видимо, не используются.

  • Если думать о применении этой карты связи в другом "системном блоке", забыв о ThinkPad Tablet'е, то нужен системный блок с PCI Express Mini (или не "мини" - припаяем как-нибудь)

  • Да, и не забывайте - и GPS'у, и 3G нужны антенны.

  • Конечно, теоретически есть USB-to-PCI Express Mini адаптеры. И даже, вроде как, с драйверами под линукс. Но это "дополнительное звено", дополнительный фактор неопределенности.

  • Ну и наконец, в принципе можно использовать в качестве "системного блока" один из ленововских ноутбуков. Большая их часть умеет работать с этой картой связи.

  • Имеется целое сообщество с набитой инфой вики, которая ставит линуксы на ThinkPad'ы, но не на тот ThinkPad, который ThinkPad Tablet, а на те, которые ноутбуки и нетбуки (причём в названиях некоторых из этих нут-нетбуков тоже фигурирует слово Tablet, но они с клавиатурой и не на андроиде, а на x86, там винда идёт)



Брррр....что делать-то?
Посовещайтесь да решите уже, что поднимать или чего не поднимать - надо принять какое-то определенное решение.

[info]ornicum

January 19 2012, 12:07:07 UTC 4 months ago

Андроид вполне себе понимает нативный код, там существует специальная песочница под него. И стандартные библиотеки там есть (правда местами подрезанные). Этот факт известен с моей предыдущей работы (умолчу в паблике где именно работал), правда я непосредственно не ковырялся, но есть у кого спросить как и что. Есть конечно свои нюансы, которые прямо скажем не фонтан, но софт нативный пишется и работает.
Возникает вопрос: а зачем писать свои низкоуровневые драйверы? Что-то кастомное, спаянное самостоятельно, вроде еще не используется. В крайнем случае пишем модуль для ведроидного ядра, заявляем ведроиду об этом, узнаем как вкрутить модуль в ядро, ..., profit!
Нет никакой разницы, какой процессор стоит, ARM или x86, собрать софт можно хоть под что, я уже писал.
GPS вроде неплохо справляется и без внешних антенн, если конечно ты не сидишь в бункере, а речь идет о НК.

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]rigidus

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]ornicum

4 months ago

[info]ornicum

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]telegamochka

January 20 2012, 18:37:05 UTC 4 months ago

> неясно, что в ThinkPad Tablet'е за платформа - x86, ARM, ещё что-то...

На странице
http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:category.details?current-catalog-id=12F0696583E04D86B9B79B0FEC01C087¤t-category-id=00CE3A2177ABA63564CDF6AE8CD837B3&tabname=Overview
есть ссылка на спеки:
http://www.lenovo.com/shop/americas/content/pdf/system_data/thinkpad_tablet_tech_specs.pdf

Dual-core ARM CortexTM-A9 processor (1.0 GHz per core), 1MB L2 cache

[info]assargaddon

4 months ago

[info]telegamochka

January 20 2012, 18:53:22 UTC 4 months ago

> Ну и наконец, в принципе можно использовать в качестве "системного блока" один из ленововских ноутбуков. Большая их часть умеет работать с этой картой связи.

Lenovo ThinkPad X1?
Он указан в числе конкурсных инструментов: "Ультрапортативные, сверхпрочные. Надежные, как военная техника, могут использоваться и на рабочем месте, и за его пределами."

[info]assargaddon

4 months ago

[info]telegamochka

4 months ago

[info]gdane

January 20 2012, 08:48:58 UTC 4 months ago

Вы форум то для проекта прикрутили? Могу помочь с хостингом и покупкой домена под это все.

[info]gdane

January 20 2012, 14:16:43 UTC 4 months ago

Насчет команды и рекламы. Зарулил я сейчас на linuxcenter.ru. Там требуются фрилансеры для написания статей. Через эти статьи можно прорекламировать НК и заодно начать собирать комьюнити. Думаю будут те кому будет интересен данный вопрос. А так как журнал линуксоидный, то и специалистов по линуксу, юниксу или андроиду тоже прибавится.

[info]assargaddon

January 20 2012, 18:04:19 UTC 4 months ago

Телегамочка - наша координатор - потерялась куда-то, довольно внезапно причём.
Я уж волнуюсь - не случилось ли чего, "кровавая гэбня", как-никак, не спит...

[info]telegamochka

4 months ago

[info]assargaddon

4 months ago

[info]ornicum

4 months ago

[info]telegamochka

4 months ago

[info]ornicum

4 months ago

Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…