Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32 CDC и Android
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
demiurg_spb
Кто-нибудь имеет удачный опыт соединения STMки с каким-либо планшетом под Android через USB?
В частности интересует как VCP.
IGK
Цитата(demiurg_spb @ May 22 2012, 17:59) *
Кто-нибудь имеет удачный опыт соединения STMки с каким-либо планшетом под Android через USB?
В частности интересует как VCP.

И меня интересует... Мы с налету не смогли виртуальный порт организовать, пришлось изернет раскручивать. Т.е. проблемы были в первую очередь у программиста на Андроиде, он под Qt работает. Но это лишнее, такие скорости нам не нужны, да и жрет оно на порядок больше СОМа... Т.е. пока ответ - нет :-)
Планшет нонейм китаеза на VM8650, 7". Вместо терминала...
KnightIgor
Цитата(IGK @ May 22 2012, 17:11) *
И меня интересует... Мы с налету не смогли виртуальный порт организовать, пришлось изернет раскручивать. Т.е. проблемы были в первую очередь у программиста на Андроиде, он под Qt работает. Но это лишнее, такие скорости нам не нужны, да и жрет оно на порядок больше СОМа... Т.е. пока ответ - нет :-)

Мне не понятен вопрос: проблема с реализацией VCP на STM или проблема драйвера для Android для общения с уже работающим VCP в STM?
IGK
Цитата(KnightIgor @ May 23 2012, 01:44) *
Мне не понятен вопрос: проблема с реализацией VCP на STM или проблема драйвера для Android для общения с уже работающим VCP в STM?

Проблема драйвера, конечно. Чувствуется, что Вы не имели дела с китайскими Андроидами :-) Это же опен сорц, там как левая нога разработчика пожелала... А пожелала она не то, что нам хочется надо. Просто не бывает... Это не АйПэд, там есть СОМ наружу (судя по книгам). Тут только отладочный TxD наружу торчит. Ось не в исходниках, поэтому самому не поправить. Можно линух поставить, но заказчик пожелал Андроид. Лучше, конечно, помучаться (С).
viael
Цитата(IGK @ May 23 2012, 08:29) *
Проблема драйвера, конечно. Чувствуется, что Вы не имели дела с китайскими Андроидами :-) Это же опен сорц, там как левая нога разработчика пожелала... А пожелала она не то, что нам хочется надо. Просто не бывает... Это не АйПэд, там есть СОМ наружу (судя по книгам). Тут только отладочный TxD наружу торчит. Ось не в исходниках, поэтому самому не поправить. Можно линух поставить, но заказчик пожелал Андроид. Лучше, конечно, помучаться (С).


А если так
MK2
Буквально только что было в соседней теме
ukpyr
если Андроид >=3.1 то можно работать прямо через USB API без всяких драйверов http://developer.android.com/guide/topics/usb/host.html. Насколько я понимаю, формат пакетов для CDC несложный.
если нет, то возможен вариант установки драйверов USB-CDC и портирования стандартной либы RXTX
EvilWrecker
Вы вероятно шутите, потому что есть примеры у того же стм(если память не изменяе)т где помимо хоста и хранилища был пример с VCP. Код традиционно не сильно красивый- да и тому, кто привык к плюсам может стошнить, но он работает. Если нужны более гибкие способы взаимодействия с ведроидом и усб- то стоит взглянуть на камни TI. Они даже одно время рассылку присылали- инструменты для сборки андродиа под их девайсы. Неплохая вещь, довольно удобно.
ukpyr
Цитата
Вы вероятно шутите, потому что есть примеры у того же стм(если память не изменяе)т где помимо хоста и хранилища был пример с VCP
чем это поможет на Андроиде ?
Цитата
Они даже одно время рассылку присылали- инструменты для сборки андродиа под их девайсы.
у автора STM32 и готовый планшет, при чем тут TI ?
EvilWrecker
Цитата(ukpyr @ May 27 2012, 18:09) *
чем это поможет на Андроиде ?у автора STM32 и готовый планшет, при чем тут TI ?


Не поможет, если только на стм сам планшет-но невероятная интуиция подсказывает, что это не так. TI при том, что есть и либы для работы с усб, и инструменты для работы с андроидом.


demiurg_spb
Пример CDC от STM я собрал первым делом и он под виндой заработал сходу (сериал порт появляется в диспетчере устройств).
А вот с андройдом пока не всё гладго (особенно при подключении через хаб), но свет в конце туннеля уже виднеетсяsm.gif
Danis
Цитата(demiurg_spb @ May 22 2012, 18:59) *
Кто-нибудь имеет удачный опыт соединения STMки с каким-либо планшетом под Android через USB?
В частности интересует как VCP.


USB HID не будет интересен? Там как будто драйвер и не нужен. Но скорости поменьше конечно. Помню, Андройд ставил на китайский планшет, по USB подключал клавиатуру, без всяких драйверов сразу заработала, поскольку HID.
ukpyr
Цитата
по USB подключал клавиатуру, без всяких драйверов сразу заработала, поскольку HID
вы разницу понимаете между "заработала в системе как клавиатура" и "передать данные в приложение на Андроиде" ?
Там программы работают в виртуальной машине, из которой нет прямого доступа к ресурсам системы, только то что реализовано в API, причем оно отличается в разных версиях Андроида.
IGK
Цитата(ukpyr @ May 28 2012, 16:41) *
вы разницу понимаете между "заработала в системе как клавиатура" и "передать данные в приложение на Андроиде" ?
Там программы работают в виртуальной машине, из которой нет прямого доступа к ресурсам системы, только то что реализовано в API, причем оно отличается в разных версиях Андроида.

Так и есть. Не нашли API для обмена данными по USB, поэтому пришлось городить на STM32 изернет, что сильно повысило энергопотребление. Сейчас я реализовал PHY на LAN8720 -устроила как цена, так и потребление этого камня. Другие железяки либо не поддерживают RMII, либо потребление в 2 раза больше.
Инфо по плате sparkfun интересное, только они мой планшет не проверяли :-) Я пытался переключать USB в отладочный режим (есть в настройках оси галка) и законнектиться примерно на таком же устройстве (только вместо ПИКа у меня СТМ32), однако "без такого же успеха" (С)...
А планшет хоть и хреновый, но в партиях по 10 шт цена 35$ (за штуку, конечно), включая доставку. Дешевле дисплея получается, а там ведь и тач, и корпус какой-никакой, и динамики есть. Причем можно еще цену снизить, так как нам батарея не нужна. Но с китайцем не я переписывался, а партнеры в России.
Насчет энергопотребления... Это потому, что планшет периодически хочет зарядки (каждые 1.5-2 часа при времени непрерывной работы 8 часов в сутки) и приходится его заряжать от основной батареи через преобразователь на ЛМке. Это не есть гуд, нужно бы снять внутреннюю батарею, да никак руки не дойдут до эксперимента...
ukpyr
Цитата
Не нашли API для обмена данными по USB
драйвера USB-serial под свой кернел собирать не пробовали ?
Вот вариант сборки RXTX: http://v-lad.org/projects/gnu.io.android/
Цитата
А планшет хоть и хреновый, но в партиях по 10 шт цена 35$
на чем ? случайно не на WM8505/8650 ? где дают ?
IGK
Цитата(ukpyr @ May 28 2012, 20:07) *
драйвера USB-serial под свой кернел собирать не пробовали ?
Вот вариант сборки RXTX: http://v-lad.org/projects/gnu.io.android/
на чем ? случайно не на WM8505/8650 ? где дают ?

Пробовал... не получилось. Может, и не отсюда, я месяц назад перешерстил весь Гугль и Яндекс, было 6-8 вроде реальных ссылок, но безуспешно. Ибо это MID на WM8650 Android 2.2 - далеко не Гнусмас или АйПэд... Вроде только с 3.3 доступно, судя по полупонятым ангельским форумам...
Дают в Китае, вестимо... Я купил на аукре за 700 грн с пересылкой, мои партнеры в Поднебесной за 45$, там же договорились о возможных поставках за 30-35$. Но я адрес не уточнял...
Кстати, на него есть Линух и СЕ6.0, но заказчик требует Андроид. Поэтому и мучаемся...
ukpyr
http://ftp.gpl-devices.org/pub/vendors/Wondermedia/WM8650/
http://code.google.com/p/android-serialport-api/
http://v-lad.org/projects/gnu.io.android/
http://www.ftdichip.com/Android.htm
http://www.slatedroid.com/topic/13293-pl23...page__p__144134

статья из Elektor по интерфейсу Andropod: http://www.onlinedisk.ru/file/884610/

еще можно использовать технологический СОМ-порт (он есть на разъеме расширения), или Bluetooth
san822
Цитата(ukpyr @ May 28 2012, 21:07) *
на чем ? случайно не на WM8505/8650 ? где дают ?


Здесь можно купить, а здесь можно купоны скидочные посмотреть. За 46...50 $ с купоном купить какой-нибудь планшет на WM8650 реально от одной штуки.
MrYuran
Цитата(san822 @ May 29 2012, 09:31) *
За 46...50 $ с купоном купить какой-нибудь планшет на WM8650 реально от одной штуки.

Разве что в качестве фоторамки.
ukpyr
Цитата
Разве что в качестве фоторамки.
почему ?
IGK
Цитата(MrYuran @ May 29 2012, 08:36) *
Разве что в качестве фоторамки.

Ну зачем так... У нас радар на нем собран, в смысле отображение инфо от радара. Планшет является клиентом. Вполне себе нормально работать, пальцем по экрану тычешь, и системный блок все отрабатывает. Тормозов нет. При ярком (солнечном) освещении включаем инверсный режим и все видно. За эту цену вполне нормальный терминал получился.
И зачем спор? Я думаю, каждый делает как хочет и на чем хочет, а жизнь (читай, деньги покупателей) всё расставит по местам... И этих планшетов сейчас - море. От 4" до 15", ставь какой хочешь. В результате из стоимости радара вообще можно планшет вычесть, у многих он уже есть. А встроенный ЖКИ с тачем не вычтешь :-) Есть минусы, но плюсов больше.

Цитата(ukpyr @ May 29 2012, 07:14) *
http://ftp.gpl-devices.org/pub/vendors/Wondermedia/WM8650/
http://code.google.com/p/android-serialport-api/
http://v-lad.org/projects/gnu.io.android/
http://www.ftdichip.com/Android.htm
http://www.slatedroid.com/topic/13293-pl23...page__p__144134

статья из Elektor по интерфейсу Andropod: http://www.onlinedisk.ru/file/884610/

еще можно использовать технологический СОМ-порт (он есть на разъеме расширения), или Bluetooth

Находил я эти ссылки, месяц назад... А статьи описывают бренды. СОМ-порт отладочный, при сборке ОСи его можно только отключить... по крайней мере только это мне и удалось. Собирал разные версии, с 4pda, starteroid'а, еще откуда-то... Этот СОМ я нашел на второй день после покупки и возрадовался. Оказалось, зря и рано. Да ладно, я уже с эзернетом смирился. Зато (см. выше) можно любое Андроид-устройство с экраном от 400х800 прикрутить. Так даже лучше :-)
ukpyr
Цитата
СОМ-порт отладочный, при сборке ОСи его можно только отключить...
почему ? полноценный порт, отображается в стандартный /dev/ttySxx. Остается отключить его от сист.консоли чтобы не мусорил лог, и прикрутить API для доступа из жабы, а может удастся работать как с обычным файлом.
demiurg_spb
Цитата(ukpyr @ May 29 2012, 11:03) *
почему ? полноценный порт, отображается в стандартный /dev/ttySxx. Остается отключить его от сист.консоли чтобы не мусорил лог, и прикрутить API для доступа из жабы, а может удастся работать как с обычным файлом.
Это интересно...
ukpyr
вот некоторая инфа:
http://projectgus.com/2010/06/eken-m001-te...-serial-consol/
http://www.techknow.t0xic.nl/forum/index.p...amp;topic=261.0

RX/TX присутствует на модуле расширения: http://postimage.org/image/os80utcjb/
я подключался терминалом, консоль работает через ttyS0
IGK
Цитата(ukpyr @ May 29 2012, 12:30) *
вот некоторая инфа:
http://projectgus.com/2010/06/eken-m001-te...-serial-consol/
http://www.techknow.t0xic.nl/forum/index.p...amp;topic=261.0
RX/TX присутствует на модуле расширения: http://postimage.org/image/os80utcjb/
я подключался терминалом, консоль работает через ttyS0

Первая ссылка для WM8505, это старое устройство.
Второе не то... Это просто перепрошивка загрузчика через терминал, когда планшет превратился в кирпич. Т.е. не дышит. Я тоже подключался терминалом, он гонит отладочную информацию. К функциям API не имеет отношения. Или у Вас заработала дуплексная связь? Как принять - передать байт? У нас есть SDK для Андроида, программируем на QT. Передать файл не подходит, информация должна накапливаться на экране по мере движения антенны. Открывать-закрывать все время файл долго... Нужно просто передавать байты и прорисовывать в области вывода.
Кстати, эти планшеты очень чувствительны к автоотключению при разряде. После этого - только перепрошивка. Имеет место баг контроля напряжения батареи, после отключения, как ни заряжай аккумулятор, АЦП выдает низкое напряжение. Планшет считает, что батарея не заряжалась, хотя заряд полный. Видимо, слетают (обнуляются) какие-то коэффициенты, хранимые в где-то в ОЗУ. Спасает только перепрошивка... Вот почему я решил использовать единую батарею большой емкости. Уже купил 2 батареи по 10 а*час, в России, на 3.7В, плоские. Сейчас делаю зарядку. Но, если рванет, мало не будет - это не малюсенький аккум от мобилы! Страшно :-) Скачал массу рекомендаций от моделистов, они их гоняют не по детски.
ukpyr
как вариант - работать через usb-блютус, вот готовые модули для этого:
http://www.slatedroid.com/topic/18333-addi...wm8650-tablets/

и апи есть наверно с самых первых версий андроида:
http://developer.android.com/guide/topics/.../bluetooth.html
IGK
Цитата(ukpyr @ May 30 2012, 16:15) *
как вариант - работать через usb-блютус, вот готовые модули для этого:
http://www.slatedroid.com/topic/18333-addi...wm8650-tablets/

и апи есть наверно с самых первых версий андроида:
http://developer.android.com/guide/topics/.../bluetooth.html

Для меня не пойдет: недопустима работа другого передатчика вблизи антенны, а она на расстоянии 1 м от этого планшета. СШП, блин... Но это мой геморрой, может ТСу и пригодится.

ukpyr
статейка из Elektor "AndroPod (1) A serial interface for Android smartphones and tablets": http://www.onlinedisk.ru/file/885653/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.