Jump to content
Калькуляторы

Управление USB Нужна помощь

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

Блютуз как бы очевиден, но крайне не желателен. Всеж хочется по меди.

Порт USB есть. Даже в некоторых моделях он Хост. Но таких моделей мало, что не есть хорошо.

Есть ли у кого подобный опыт? Хотелось бы или проконсультироваться, или заказать разработку. Заказать разработку даже более желательно.

 

Share this post


Link to post
Share on other sites

Порт USB есть.

Купить в КИтае за $2 переходник usb-com и общаться с железкой через com-порт.

Share this post


Link to post
Share on other sites

если в мобиле usb-device, то переходник вроде не сильно поможет. А в чем прикол мобилы, привязанной к меди? это же получается стационарное устройство? Может проще тогда купить планшетник с usb-хостом(и переходник) или нетбук?

Share this post


Link to post
Share on other sites
если в мобиле usb-device, то переходник вроде не сильно поможет. А в чем прикол мобилы, привязанной к меди? это же получается стационарное устройство? Может проще тогда купить планшетник с usb-хостом(и переходник) или нетбук?
Мобила - т.к. есть ограничение на размер и цену. И необходим сенсорный экран (тут нетбук однозначно не подходит).

Хотя если есть дешевый планшетник (до 10-15 р) - можно думать ;-)

Тут варианта по сути два -

1. есть ЮСБ хост (такие мобилы тоже есть, но точно читал про HTC HD2)

2. Нет юсб хоста. Можно ли тут вообще хоть что-то придумать???

 

 

 

Порт USB есть.
Купить в КИтае за $2 переходник usb-com и общаться с железкой через com-порт.

Гхм. На железке нет ком-порта.

И будет ли переходник работать без usb-host?

А если не будет - чем так принципиально он облегчит жизнь?

Share this post


Link to post
Share on other sites

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

 

да и под винЦЕ планшетов хватает.

 

а за 12тр. можно таблетку под виндой на атоме взять (10" сенсорный экран)

Share this post


Link to post
Share on other sites
а за 12тр. можно таблетку под виндой на атоме взять (10" сенсорный экран)
Это вариант, в общем-то. Хотя винду недолюбливаю, но это не принципиально.

Размер только великоват, поэтому и думал о мобиле.

 

Устройство, которым управлять, на сегодня не существует. Это предмет разработки по техзаданию. ;-)

Задача разработки - вполне оплачиваемая.

 

 

 

 

А wifi, который почти у всех, не считается? :-)

 

Кроме того есть еще такая вещь как SDIO, а к нему периферии много.

http://mdatabg.com/index.php?page=SDRS (SDIO конвертер, там есть в списке)

Вайфай тоже нежелателен. Проще с ним не будет, а надежность ниже.

А вот наводка на SDIO интересна весьма.

Т.е. RS-232 получить более чем просто (хоть и не на всех моделях телефонов, но это переживаемо).

А как 232 управлть - боле-менее понятно.

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

Share this post


Link to post
Share on other sites

В общем уговорили. Бороться с железками без USB-Host точно не буду. ;-)

Но все осталное в силе. ;-)

Share this post


Link to post
Share on other sites

Где есть USB host - там можно легко поиметь и другой serial, в т.ч. и RS232. Что, в принципе, вполне чётко определяет решение ;-)

А девайс, которым управлять, - не хочет сам стать USB device?

Share this post


Link to post
Share on other sites
Где есть USB host - там можно легко поиметь и другой serial, в т.ч. и RS232. Что, в принципе, вполне чётко определяет решение ;-)

А девайс, которым управлять, - не хочет сам стать USB device?

Девайса нет, его надо сделать. ;-)

Уже понял, что RS232 вытащить реально. Но, по идее, зачем промежточный протокол?

Хотя не спорю, под 232 есть туева хуча микросхем на все случаи жизни. И это может быть решающим преимуществом.

Интересно, для USB нет такого богатства?

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

 

ЗЫ. Возьму на постоянную работу электроника, который шарит в этой теме. ;-)

Share this post


Link to post
Share on other sites
Где есть USB host - там можно легко поиметь и другой serial, в т.ч. и RS232. Что, в принципе, вполне чётко определяет решение ;-)

А девайс, которым управлять, - не хочет сам стать USB device?

Девайса нет, его надо сделать. ;-)

Уже понял, что RS232 вытащить реально. Но, по идее, зачем промежточный протокол?

Хотя не спорю, под 232 есть туева хуча микросхем на все случаи жизни. И это может быть решающим преимуществом.

Интересно, для USB нет такого богатства?

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

Паш, повторяю: девайс, который ты планируешь родить, - не может стать USB устройством, которое "девайс", то-есть "не хост"? Внутре у него что? Для того, что у него внутре, нет опции "USB соска"? Тогда останется только драйвер в ПЗУшку влить, - и на тебе готовый разъём, причём популярный.

Share this post


Link to post
Share on other sites
Паш, повторяю: девайс, который ты планируешь родить, - не может стать USB устройством? Внутре у него что? Для того, что у него внутре, нет опции "USB соска"? Тогда останетс только драйвер в ПЗУшку влить, - и а тебе готовый разъём.
Я же говорю - устройства пока НЕТ.

Если кто-то возьмется туда всунуть юсб-соску - яж не против. ;-)

Share this post


Link to post
Share on other sites

В нем желательно полное отсутствие интеллекта, прозрачный переброс данных...

Что-то мне подсказывает, что тебе может подойти USB mass storage модель или HID какой-нибудь.... Отличия проще будет учесть в драйверах, зато оставить сам транспорт стандартным и неизменным.

Share this post


Link to post
Share on other sites

По описанию тут - http://www.fclab.ru/2010/02/27/1304/ (и вообще - http://www.fclab.ru/tag/handmade/) ничего сложного в управлении по usb нет, но захочет ли автор делать разработку под заказ я не знаю

Share this post


Link to post
Share on other sites

Элементарно. Покупаем HTC Dream (б/у валом по 150 баксов), включаем Serial port, паяем кабель. Получаем RS232, делаем с ним что хотим ;).

 

Вообщем Serial можно включить почти во всех Linux-железках. В этом отношении плюс HTC в том, что не надо подпаиваться к плате - просто кабель делаем и в разьем суём.

 

Кстати, для Android-устройств есть ещё один вариант - TCP/IP через USB. В этом случае оставляем себе некоторую свободу, т.к. можно будет в случае чего на Wi-Fi переключиться.

Edited by Abram

Share this post


Link to post
Share on other sites
Элементарно. Покупаем HTC Dream (б/у валом по 150 баксов), включаем Serial port, паяем кабель. Получаем RS232, делаем с ним что хотим ;).

 

Вообщем Serial можно включить почти во всех Linux-железках. В этом отношении плюс HTC в том, что не надо подпаиваться к плате - просто кабель делаем и в разьем суём.

Хм. Ну б.у. не вариант, но мысль интересная. А сам телефон экзотика изрядная. :-)

Во многих ли телефонах есть сериал? И во многих ли он "без паяльника"?

Может и правда не циклиться на ЮСБ...

 

Share this post


Link to post
Share on other sites

Паш, ты когда-нибудь какой-нибудь GSM-мобильнник в качестве модема настраивал? Он выглядит как 2 или больше COM-портов. Один низкоскоростной основной, по нему так натурально AT-команды надо вводить, как в детстве для диалапа ;-) Так-что так или иначе, но COM-порт достать можно из любого мобильника, - вопрос только в трудоёмкости доставания. Другой вопрос, - как ты его заюзаешь из софта. Из сонериков P-series при желании получается вполне удобный "комп в кармане - циски конфигурять". Из HTC-шных андроидов, судя по всему, тоже. Это то, что тебе надо?

Share this post


Link to post
Share on other sites
Элементарно. Покупаем HTC Dream (б/у валом по 150 баксов), включаем Serial port, паяем кабель. Получаем RS232, делаем с ним что хотим ;).

 

Вообщем Serial можно включить почти во всех Linux-железках. В этом отношении плюс HTC в том, что не надо подпаиваться к плате - просто кабель делаем и в разьем суём.

Хм. Ну б.у. не вариант, но мысль интересная. А сам телефон экзотика изрядная. :-)

Во многих ли телефонах есть сериал? И во многих ли он "без паяльника"?

Может и правда не циклиться на ЮСБ...

Без паяльника внутри телефона (кабель сделать все равно придется):

 

Быстренький гугл говорит, что почти во всех современных HTC с ExtUSB можно переключить порт в сериал. Внутре - либо Android, либо сериал можно достать из Win Mobile, либо существует порт Linux/Android.

 

Siemens-ы x55, x60, x65: порт по умолчанию работает как Serial, доступ есть из Java (ну и из нативных программ, наверное, тоже :)). Может, и в новых Benq-Siemens так же. Внутре - своя ОС, существует возможность запуска своего native софта (даже SDK есть, самодельный, конечно).

 

Motorola на Linux (EZX). Внутре - костыльный Linux 2.4 и пачка проприетарщины; выбрасываем, ставим кошерный OpenEZX (2.6). По идее, serial должен включаться программно. Если я правильно помню - при сборке ядра OpenEZX что-то там надо в конфиге включить. В любом случае - работает. Если получится - это ИМХО идеальный вариант, т.к. они ещё встречаются в продаже. Могу подогнать всё необходимое для сборки своего ядра, rootfs и гуя (Qt 4.x). http://wiki.openezx.org/Serial_console - вот, кстати.

 

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

Share this post


Link to post
Share on other sites

ИМХО проще заюзать всетаки юсб. Мобильники с андройдом нынче в китае меньше сотенки, тебе, Павел, их достать не проблема и вовсе. Зато свобода полнейшая, че хошь можно прикрутить. Ведь далеко не факт что мобила с сериалом сможет всё что ты хочешь. Ну и да, к будущему девайсу юсб соску далеко не проблематично прикрутить.

Share this post


Link to post
Share on other sites

Если у будущего девайса будет USB-Host и какая-нибудь ОСь, то вообще всё упростится.

Share this post


Link to post
Share on other sites

Павел, необходимый Вам "переходник" с портом USB-хост (дабы подключать любые мобилы с портом USB-девайс) и несколькими UART'ами можно сделать на одном чипе - STM32F105R8 - http://www.st.com/stonline/products/literature/ds/15274.pdf

 

Для небольших партий цена 4,5..5 $ за чип.

 

Но возможно наворотов в этом 32-битном микроконтроллере с ядром ARM Cortex-M3 будет слишком избыточно в Вашем применении. В чуть старшем STM32F107xx есть даже Ethernet-контроллер в чипе :-)

 

Если функционал Вашего "переходника" совсем простой - можно взглянуть на линейку Cypress'овских микроконтроллеров. Возможно получится дешевле.

Share this post


Link to post
Share on other sites

1) смарт-мобила с USB-хостом.

всё относительно просто, под мобилу пишется дровина(kernel mode) + API(user mode), для девайса пишется фирмварь с ответной частью функций. Некоторую проблему представляет собой получение USB Device ID для твоего вновь-проектируемого девайса. можно его не получать, но тогда можно нарваться на incompatibility.

 

2) смарт-мобила с USB-device.

тут многое зависит от реализации функций таргета в мобиле. Если они жестко забиты в микросхему контроллера - то жёппа, ничего не выйдет (а такое сделано в 95% случаев). Аппарат при таком раскладе предназначен только для работы с нативным софтом на PC. Ну либо как "universal mass storage". Правда управление при этом получится... ..странное. Перечитывать содержимое этого хранилища с интервалом в 1сек? хмм...

При этом возможен вариант с RS232.

Если же можно добавлять функции таргетов из-под оси мобилы, то возможен вариант 1), мобила и девайс меняются местами ;-)

 

3) RS232

тут вообще палка-верёвка.

в программе тупо открываешь порт и шарашишь в/из него. Так кстати сделаны абсолютно все GPS-навигаторы.

 

 

кстати, каков бюджет вновь-разрабатываемого девайса?

какие габариты, вес, потребление и какое планируется место размещения? Может быть дисплей стоит встроить в него, а не таскать спец-мобилу?

в курсе, что USB-разъемы не являются всепогодными, через год пребывания на улице они окислятся и ктото может поиметь изза этого проблемы?

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

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

Share this post


Link to post
Share on other sites

имхо, если уж так надо провода - посмотрите лучше на вариант с Ethernet-ом.

Связь при этом однозначно надёжнее, быстрее и ПО для него пишется быстрее и проще.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this