motofan logo
2 страниц V  1 2 >        
> 

команды The OBject EXchange Protocol (OBEX), тема о OBEX

Booroondook
сообщение 30.7.2005, 12:07


Старый мотокодер
******

Группа: Разработчики
Сообщений: 1 132
Регистрация: 7.7.2003
Из: Москва
Пользователь №: 179
Модель телефона: EM30
Прошивка: R6716_G_71.03.04R

Рейтинг: 303



Цитата(Shaded @ Суббота, 30 Июля 2005, 12:11)
Мда... Пожалуй действительно геморно получается...

Но если вспомнить P2KAE, у него совсем немного времени уходит на считывание настроек "стилей" звонка.

P2KAE считывает список всех файлов телефона (без флеш-карты), затем отсеивает из них только те, что попадают в БД мелодий (каталог /a/mobile/picture с подкаталогами), сортирует их по определенному алгоритму с учетом имен и атрибутов, ну а потом нумерует.
Для "стилей звонка" и других процедур используется именно эта нумерация.
Цитата
А вообще зачем колесо изобретать, если можно в тот же P2k Tools просто добавить поддержку OBEX?

Я говорил с автором P2KTools на эту тему. Он пока не знает, как подлезть в OBEX.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G.off
сообщение 30.7.2005, 12:14


Меломан
******

Группа: Пользователи
Сообщений: 1 171
Регистрация: 21.9.2004
Пользователь №: 13 430
Модель телефона: спирали проводов

Рейтинг: 76.5



Цитата(Booroondook @ Суббота, 30 Июля 2005, 16:07)
Я говорил с автором P2KTools на эту тему. Он пока не знает, как подлезть в OBEX.
*


Вилко же писал, что в OBEX режим можно переключится через команду at+mode=22

я конечно понимаю, что проблема скорее всего не в этом, но это так, к слову
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Booroondook
сообщение 30.7.2005, 16:30


Старый мотокодер
******

Группа: Разработчики
Сообщений: 1 132
Регистрация: 7.7.2003
Из: Москва
Пользователь №: 179
Модель телефона: EM30
Прошивка: R6716_G_71.03.04R

Рейтинг: 303



Цитата(Gopher @ Суббота, 30 Июля 2005, 16:14)
Вилко же писал, что в OBEX режим можно переключится через команду  at+mode=22

я конечно понимаю, что проблема скорее всего не в этом, но это так, к слову
*


Ну, переключиться-то можно. А дальше-то что? Оббежать три раза вокруг телефона, прокукарекать два раза и сказать: "Телефон, телефон, прими файл!" Так?
Как известно, одной из причин того, почему в людных местах не занимаются любовью, является избыточное количество советчиков....
Это так, к слову - ничего личного.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 1.8.2005, 11:27


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(Booroondook @ Суббота, 30 Июля 2005, 19:30)
Ну, переключиться-то можно. А дальше-то что?
*



Vilko кажется давал ссылки на ресурсы по OBEX (не помню топик) - там даже был пример работы через OBEX, но для Ericsson (ещё до Sony), причём лежало полное описание команд и файлов. Те команды не работают под Мотор, да и файлы не те, но может просто поищем дружно инфу про OBEX для Моторолы... я уже пошёл искать...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 1.8.2005, 11:43


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(max.wiz @ Понедельник, 1 Августа 2005, 14:27)
не помню топик
*



Motofan Media! - Новая программа
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 1.8.2005, 19:18


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Весь Яндекс перерыл в поисках OBEX (даже шторы какие-то нашёл :))
Инфы очень мало :( ИМХО возможно на "первых порах" придётся юзать MMCenter от Random'a?
Найдены вот какие OBEX'ы:
1) Используется в сонериках для передачи файлов в/из телефон, синхронизация тел. книжки, календаря и т.п. НО для инициализации OBEX используется AT*EOBEX - в мотороле AT+MODE=22 - может и другие команды отличаются;
2) Есть софт использующий OBEX (ObexFTP + OpenObex), но даже потестить его не получилось, т.к. он под ЛИНУКС!!! (а потом говорят "вот софта под никсы не найдёшь" - а здесь под винды его нету)... самое неприятное, что размер исходников довольно приличный (я бы не взялся за портирование его под win32);
3) все найденные OBEX-утилиты юзают IrDA / Bluetooth - Моторола опять отличилась с USB?
4) оффтоп: в очередной раз поковыряв МРТ нашёл конфиги для Philips/Ericsson/Sagem - ну понимаю что с сименсами U10/U15 он работает (на них прошивка 1 в 1 мотороловская)... может там ещё и под Palm M100 чё-нить найдётся :)
5) блин на сонериках даже мидлеты делают с поддержкой OBEX (не напрямую - класс не реализован, а обходным маневром). Нашёл даже на Яве (J2SE) апплет получающий доступ к телефону через OBEX - но не пихать же в комплекте с exe-шником ещё и JAR! Представляю себе мессадж для пользователя "Чтобы залить ваши мелодии необходимы: J2RE + Bluetooh adapter + телефон с "синим зубом" <_<
...
а может нам и не нужен ОВЕХ "целиком"???
попробую путём подбора и анализа найденных описаний команд чё-нить подобрать. Дамп обращений МРТ к телефону ведь относительно небольшой (опущены ожидания):
WRITE: "AT+MODE=22" - переход в OBEX
WRITE: 80 00 1A 12 00 20 00 46 00 13 F9 EC 7B C4 95 3C 11 D2 98 4E 52 - ???
WRITE: 85 00 0D 02 00 CB 00 00 00 00 01 00 03 - ???
WRITE: 83 00 26 CB 00 00 00 00 01 00 05 00 00 42 00 19 78 2D 6F 62 65 - а ля "ls" в формате "x-obex/folder-listing"
а дальше уже чтение из телефона XML-ки списка файлов
причём команда "85" как я понял - это типа "cd", т.к. перед чтением папки "audio" передаётся 85 ... "audio"
P.S. Ряды двухзначных 16-ричных чисел - бинарные данные. "audio" - передаётся в формате UCS-2, остальной текст в кавычках = 8bit ASCII.
--------------------
[Добавлено после окончания закачки документации]
Точно:
опкод 80h = Connect
опкод 81h = Disconnect
опкод 83h = Get object
опкод 85h = SetPath
... надыть поюзать эту вещь... :)
P.S. У кого-нибудь есть компонента Delpi для работы с COM-портом на уровне винды (в IOCTL я мало разбираюсь :()???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 1.8.2005, 19:42


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



max.wiz,
Под Дельфи есть неплохая библиотека TMS Async32 (http://www.tmssoftware.com)
я пробовал ее в качестве терминала для работы с телдефоном - все работает.
Вообщем, я тоже про OBEX инфу искал еще давно, и тоже ниче не нашел, кроме статейки с IXBT.com.
Впрочем ее вполне достаточно чтобы попробовать что-нить сделать.
Я сам хотел OBEX-прогу сделать, да только времени щас нет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 1.8.2005, 20:11


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Пытался делать работу с файлами через OBEX
мониторил MPT
вообщем кое чего понятно, но реализовать не получилось пока что, времени не было особо...

а если честно, то и не особо что то хочется...

насколько я понял, это то, что так мы и не сможем получить доступ к непользовательским файлам...

про OBEX кажется инфы с IXBT достаточно, далее более детально поможет мониторинг МПТ берем прогу PortMon и вперед


что то не в ту сторону тема стала развиваться :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 1.8.2005, 20:12


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



вот небольшой кусок "дешифрованного дампа" (что успел за час сделать) - см. аттач

Random
Спасибо за компоненту - попробую поюзать :)

Цитата
насколько я понял, это то, что так мы и не сможем получить доступ к непользовательским файлам...

А зачем нам все файлы? Сделать под-режим какой-нибудь "Менеджер мелодий телефона" - в плане закачка/удаление мелодий. Причём как я понял OBEX "совместим" c AT-режимом в смысле не требует переподключения телефона как P2K-режим.

Цитата
что то не в ту сторону тема стала развиваться

Это точно - может стоит вынести в отдельный топик "по интересам" :)

[OFF][зевая] - а я пошёл спать[/OFF]

[02.08.05 - 11:24]
Сделал демку, которая успешно открывает и закрывает OBEX (уже в бинарном режиме) ... осталось только "мяса" (чтение/запись данных) на этот скелет навесить :)

Сообщение отредактировал max.wiz - 2.8.2005, 7:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 2.8.2005, 8:15


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Вот ещё какая-то прога под OBEX _http://fma.sourceforge.net/index2.htm
floAt’s Mobile Agent

_http://www.mwiacek.com/gsm/soft/gammu.html
_http://www.m2xdam.nl/phonemanager
_http://www.mobnav.com/products Mobile Navigator v2.01
_http://www.clevercell.com/ CleverCell Phone Manager

?

Сообщение отредактировал Osta - 2.8.2005, 9:08
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 2.8.2005, 8:23


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



это под SE
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 3.8.2005, 14:16


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Сегодня доделал свою демку в более-менее стабильное состояние.
Теперь понятно почему закачка файлов через MPT так долго идёт - там таймауты вездо надо ставить :( Иногда передача притормаживает даже в середине пакета...
+ обламывает то что список файлов/папок при чтении приходит в формате XML - ещё и парсер пришлось писать (целых 43 строчки :) )
Как сделаю чтение файлов из телефона - кину сюда исходники :)

+ во время сеанса OBEX с телефоном приходится отрубаться от инета (другой модем), т.к. телефон отзывается на AT-команды, но после инициации OBEX перестаёт вообще реагировать (может браузер туда "тычется"?)

[04.08.05 2:35]
Сделал переход по папкам (двойной клик по папке).
Заодно выяснил одну "замечательную" особенность OBEX от Моторолы - глюк при переходе на флешку. Если войти "MMC (...)", то потом корнем ФС будет считаться не "корень" телефона (audio/picture/video), а "корень" флешки. Лечится повторным переходом в "корень" - эта же ошибка есть и в МРТ. У кого есть желание - могут потестить :)
Демка: http://max.h15.ru/public/ файл "OFC_demo.exe"

Вот скриншот демки:

Сообщение отредактировал max.wiz - 3.8.2005, 22:39
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
wRAR
сообщение 4.8.2005, 12:23


Ветеран
*****

Группа: Почётные мотофаны
Сообщений: 367
Регистрация: 19.2.2005
Из: Екатеринбург
Пользователь №: 37 277
Модель телефона: Galaxy S4

Рейтинг: 97



Специцификация OBEX 1.3: http://www.irda.org/associations/2494/file...Plus_Errata.zip
Спецификация OBEX over USB (разрабатывалась с участием Motorola, между прочим): http://www.usb.org/developers/devclass_docs/cdc_wmc10.zip
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 4.8.2005, 22:30


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(wRAR @ Четверг, 4 Августа 2005, 15:23)
Специцификация OBEX 1.3
*



ОФФТОП:Напомнил про МРТ. МРТ при соединенни с телефоном указывает на поддержку OBEX v1.2 (со стороны клиента), а телефон в ответку "пишет" что выше 1.0 не потянет (со стороны сервера) :)

По теме:
Забил сегодня на работу и пости доделал OBEX-демку - теперь это уже готовая программа: остались мелкие доделки, но основные операции с файлами (если точнее, то все которые возможны через OBEX) уже сделал.
ЗАМЕЧАНИЯ!!!
1) Файлы с русскими именами ПОКА НЕ ПОДДЕРЖИВАЮТСЯ - там с ними вообще одни макароны (то в UTF-8, то в UCS-2);
2) Автоопределения порта на котором висит телефон не делал - потом возможно сделаю перечисление в проге. ВНИМАНИЕ!!! Правильно указывайте порт, т.к. если вылетит окно типа "Port COM5 not found" - то придётся закрывать прогу и переподключать телефон (иногда мне приходилось и комп перезагружать)... всё-таки бета-версия :)
3) Проверка свободного пространства на телефоне НЕ ПРОИЗВОДИТСЯ (как и в МРТ), т.к. протокол не поддерживает таких команд :(
4) Возможность работы с несколькими файлами (мультиселект) сделаю позже - пока придётся для группы файлов "тыкать" на каждом;
5) Команды В КОНТЕКСТНОМ МЕНЮ (правая кнопка мышки на файле) - тулбара пока нету;
6) По спецификации OBEX 1.0 можно создавать папки в телефоне (внутри audio/picture/video), но на практике не проверял - если "прокатит" то добавлю эту функцию;
7) Во избежание сбоев в работе программы желательно во время работы с телефоном отключать все активные соединения с другими модемами (для тех кто сидит в инете на модеме). С сетевухами проблем нету.

В общем, в аттаче бета...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 5.8.2005, 13:33


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



чо то список файлов так мне и не выдал :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
alo33
сообщение 5.8.2005, 14:11


Мастер
****

Группа: Пользователи
Сообщений: 233
Регистрация: 10.12.2004
Из: Ульяновск
Пользователь №: 26 053
Модель телефона: Defy+
Прошивка: 4.5.1-134_DFP-231

Рейтинг: 51



Цитата(Bezols @ Пятница, 5 Августа 2005, 17:33)
чо то список файлов так мне и не выдал
*


А мне все выдал только файлы в телефон не закачивает
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 5.8.2005, 14:22


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



вот лог

Код


*** Transfer log ***
>Port opened OK.
>Have a nice OBEX :)
"CONNECT"
>Data sended OK.
>Reading response ...
>Reading packet sign ...
>Data sign read OK.
$Unhandled code! 0x00
*** SETPATH: ROOT ***
>Data sended OK.
>Reading response ...
>Reading packet sign ...
>Data sign read OK.
$Unhandled code! 0x00
"GET (folder content)"
>Data sended OK.
>Reading response ...
>Reading packet sign ...
>Data sign read OK.
$Unhandled code! 0x00

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 5.8.2005, 14:51


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Коннект быть таким:
Цитата
*** Transfer log ***
>Port opened OK.
>Have a nice OBEX :)
"CONNECT"
>Data sended OK.
>Reading response ...
>Reading packet sign ...
>Packet sign: 0xA0
>Packet extra data length = 28
>Data sign read OK.
$OK
"GET (folder content)"
>Data sended OK.
>Reading response ...
>Reading packet sign ...
>Packet sign: 0x90
>Packet extra data length = 3
>Data sign read OK.
$Continue
>Data length = 3
>Repeat reading data ...
>Reading response ...
>Reading packet sign ...
>Packet sign: 0x90
>Packet extra data length = 509
>Data sign read OK.
$Continue
>Data length = 509
>Repeat reading data ...
>Reading response ...
>Reading packet sign ...
>Packet sign: 0xA0
>Packet extra data length = 3
>Data sign read OK.
$OK

Если в конце не $OK или $Continue - значит произошла ошибка.
0x00 - означает, что телефон "не отвечает" :(

Только что (во время написания поста) потестил на Моторолке V620 у друга - всё работает unsure.gif
Завтра дома на V300 поизгаляюсь...
Точно № порта указали?
Попробую на 300-ке... :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 7.8.2005, 22:20


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Потестил на своей 300-ке - блин, всё без проблем работает blink.gif
Вот очередная бета: программа пытается теперь определить COM-порт с телефоном (но другие варианты доступны), увеличен диапазон обрабатываемых ошибок, исправил переход в родительскую папку (на 1 уровень вверх).
Мотофаны - плиз пишите даже об "успешных запусках программы" - интересно же :)
P.S. Программа без сбоев работает даже при параллельном подключении к инету по другому модему (COM1) - телефон на COM5.

Порядок работы:
1) подключаете телефон к компу (для телефонов с флешкой не забудьте выставить USB-подключение как "Модем", а не как "Флешка");
2) запускаем программу;
3) если порт указан верно, то жмём "Open port";
4) если порт подключился без ошибок, то жмём "OBEX connect".
При удачной инициализации OBEX, лог должен быть примерно таким:
Код
*** Debug log ***
>Port opened OK.
>OBEX initialized OK.
"CONNECT"
>Data sended OK. Reading response ...
>Packet sign: 0xA0 ... Extra data length = 28
$OK

5) Жмём "Refresh" - и вперед!

При ошибках лог выскакивает в таком виде (на примере перехода в родительскую папку из корневой - "выше" уже некуда... после получения ошибки перехода осуществляется удачное считывание оглавления текущей папки "GET (folder content)"):
Код

*** SETPATH: PARENT ***
>Data sended OK. Reading response ...
!!! Forbidden - Access unavailable !!!
>Packet sign: 0xC3 ... Extra data length = 0
$Error or unhandled code! 0xC3
"GET (folder content)"
>Data sended OK. Reading response ...
>Packet sign: 0x90 ... Extra data length = 3
$Continue
>Data length = 3
>Repeat reading data ...
>Data sended OK. Reading response ...
>Packet sign: 0x90 ... Extra data length = 509
$Continue
>Data length = 509
>Repeat reading data ...
>Data sended OK. Reading response ...
>Packet sign: 0xA0 ... Extra data length = 3
$OK
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-SeM-
сообщение 10.8.2005, 8:09


Новичок
*

Группа: Пользователи
Сообщений: 12
Регистрация: 16.7.2005
Пользователь №: 46 289
Модель телефона: C650

Рейтинг: 1



max.wiz
Цитата
Мотофаны - плиз пишите даже об "успешных запусках программы" - интересно же

Успешным запуском это назвать тяжело (правда порт определяет правильно)
*** Debug log ***
>Port opened OK.
!!! OBEX initialization failed !!!
Хотя в MMCenter и в терминале на том же порту работает без проблем.
Без исходников :) тяжело сказать что у тебя и где но на всякий случай кусочек лога портмона:
<LOG>>Port opened OK.
15 OBEXFileManager IRP_MJ_WRITE USBSER000 Length 4: AT..
15 SUCCESS
16 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
16 SUCCESS
17 OBEXFileManager IRP_MJ_WRITE USBSER000 Length 8: AT+GMM..
17 SUCCESS
18 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
18 SUCCESS
19 OBEXFileManager IRP_MJ_WRITE USBSER000 Length 12: AT+MODE=22..
19 SUCCESS
20 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
20 SUCCESS
21 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
21 SUCCESS
22 OBEXFileManager IRP_MJ_READ USBSER000 Length 96
22 SUCCESS Length 96: AT...OK....AT+GMM...+GMM: "GSM900","GSM1800","GSM1900","MODEL=C6
23 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
23 SUCCESS
<LOG>!!! OBEX initialization failed !!!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 10.8.2005, 11:01


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(-SeM- @ Среда, 10 Августа 2005, 11:09)
Успешным запуском это назвать тяжело (правда порт определяет правильно)
*** Debug log ***
>Port opened OK.
!!! OBEX initialization failed !!!
Хотя в MMCenter и в терминале на том же порту работает без проблем.
Без исходников :) тяжело сказать что у тебя и где но на всякий случай кусочек лога портмона:
<LOG>>Port opened OK.
15 OBEXFileManager IRP_MJ_WRITE USBSER000 Length 4: AT..
15 SUCCESS
16 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
16 SUCCESS
17 OBEXFileManager IRP_MJ_WRITE USBSER000 Length 8: AT+GMM..
17 SUCCESS
18 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
18 SUCCESS
19 OBEXFileManager IRP_MJ_WRITE USBSER000 Length 12: AT+MODE=22..
19 SUCCESS
20 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
20 SUCCESS
21 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
21 SUCCESS
22 OBEXFileManager IRP_MJ_READ USBSER000 Length 96
22 SUCCESS Length 96: AT...OK....AT+GMM...+GMM: "GSM900","GSM1800","GSM1900","MODEL=C6
23 OBEXFileManager IOCTL_SERIAL_GET_COMMSTATUS USBSER000
23 SUCCESS
<LOG>!!! OBEX initialization failed !!!

*



Странно...
Инициализация OBEX осуществляется следующим образом:
1) посылка "AT" - ответ "OK" - проверка открытия порта;
2) посылка "AT+GMM" (для "раскачки", у меня без к-л команды телефон "молчит") - ответ
"GSM900","GSM1800","GSM1900","MODEL=ХХХ";
3) посылка "AT+MODE=22" - ответ "ОК" - переход в OBEX-режим.

Данные полученные во 2-м пункте игнорируются.
Если на 3-й запрос, программа не получила "OK" - то пишет, что !!! OBEX initialization failed !!!
Судя по логу - ответ на 1-й и 2-й запрос приходят з запозданием. Вывод: в программе надо будет предусмотреть побольше таймауты, т.к. программа просто "не дождалась" ответа на AT+MODE=22 :(

[полистав исходники]
Блин, у меня там ожидание между отправкой "AT..." и получением ответа стоит около 10 мс - поставлю больше.

------------------------------------------
11.08.2005
------------------------------------------
Увеличил таймауты и переделал процедуру инициализации и OBEX-коннекта.
Для OBEX - инициализация и коннект - разные понятия.
Инициализация - переход из AT-режима в режим OBEX без установления соединения.
Коннект - создание соединения device-device. Протокол OBEX разрешает несколько соединений одновременно, но для телефона это невостребовано.

Новая альфа (внимательно читать два мессаджа при запуске)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 12.8.2005, 0:10


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



ВСЁ!!!!!!!!! Банзай!!!!! zootaz;

Доделал версию и выложил у себя на сайте в разделе "Software".
Выложил ехешник + исходники + доку по ОВЕХ + компоненту TMS Async32.

Теперь если у кого-то не работает прога и он умеет программить - вперёд!!!
У меня прога работает нормально... хотя это возможно "синдром автора" (сам автор инстинктивно юзает свои программы так, что не использует заведомо проблемные действия для программы - вот почему и нужны бета-тестеры).
Предупреждаю сразу - код довольно запутанный - много рекурсий и неявных вызовов (напр. закачка файла идёт как очередь запросов SendCommand, а скачивание только за один вызов SendCommand - он сам "внутри" loop'ит).
Если будут вопросы по коду - пишите в топик... на вопросы по протоколу сразу отсылаю к мануалу по ОВЕХ (для жителей Наро-Фоминска или Москвы могу даже один распечатанный мануал подогнать нахаляву - итак уже почти наизусть выучил).
Советую также при некоторых вопросах юзать уже упоминавшийся PortMon в связке с МРТ для выяснения тонкостей "разговора" мобилы и компа.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
wRAR
сообщение 13.8.2005, 18:28


Ветеран
*****

Группа: Почётные мотофаны
Сообщений: 367
Регистрация: 19.2.2005
Из: Екатеринбург
Пользователь №: 37 277
Модель телефона: Galaxy S4

Рейтинг: 97



max.wiz,
Выдает OBEX initialization failed, и вот почему:
а момент проверки if s='OK' (424 строка) в s содержится вот что: 'AT+MODE=22'#$D#$D#$A#$D#$A'OK'
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 14.8.2005, 7:52


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(wRAR @ Суббота, 13 Августа 2005, 21:28)
max.wiz,
Выдает OBEX initialization failed, и вот почему:
а момент проверки if s='OK' (424 строка) в s содержится вот что: 'AT+MODE=22'#$D#$D#$A#$D#$A'OK'
*



Сенкс :)
Сегодня вечером постараюсь обновить исходники.
Идёт проверка типа:
Trim(s);
...
if s='OK' then ...
а надо
if copy(s,Length(s)-1,2)='OK' then ...

-----------------------
После 20-00 кину на сайт... к 23-00 должен закончить и обновить сайт (сбросить кэш)

Сообщение отредактировал max.wiz - 14.8.2005, 15:19
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KEO
сообщение 17.8.2005, 15:31


Мастер
****

Группа: Разработчики
Сообщений: 258
Регистрация: 18.9.2003
Из: Барнаул
Пользователь №: 580
Модель телефона: E398 >> E1 iTunes
Прошивка: R373_G_0E.30.42R

Рейтинг: 151



Вот это круто! Я завтра попробую реализовать поддержку OBEX для своей программы! Respect Max.Wiz!

Вот это круто! Я завтра попробую реализовать поддержку OBEX для своей программы! Respect Max.Wiz!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-SeM-
сообщение 19.8.2005, 5:23


Новичок
*

Группа: Пользователи
Сообщений: 12
Регистрация: 16.7.2005
Пользователь №: 46 289
Модель телефона: C650

Рейтинг: 1



max.wiz
Проанализируй закачку файлов в телефон - под 9х приводит к перезагрузке компа. Форма прогреса отображается, положение прогресса где-то на половину.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 19.8.2005, 8:50


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(-SeM- @ Пятница, 19 Августа 2005, 8:23)
max.wiz
Проанализируй закачку файлов в телефон - под 9х приводит к перезагрузке компа. Форма прогреса отображается, положение прогресса где-то на половину.
*



Исходники есть? :)
У меня 9е винды уже 4 года не стоят.
Могу сразу сказать, что прога может "не увидеть" СОМ-порт под 9-ми (там реестровая ветка другая).
И вообще, 9е винды уже официально "на пенсии", уже до 2000-й добрались.

Перезагрузка компа может быть от... блин, я даже не знаю от чего? Там exceptшенов-то один или два на всю программу может быть (и то не во время закачки).

Вспомнил!
Лог работы пишется в TMemo (внизу слева). Под 2К/ХР размер текста в нём может доходить до 2Гб. Под 9-ми только 64 килобайта (!!!). По ходу лог переполняется и виндюк ребутится... Можно попробовать во время закачки файлов время от времени тыкать "Clear Log" - если не ребутнётся, значит ошибка в Мемо...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-SeM-
сообщение 19.8.2005, 9:42


Новичок
*

Группа: Пользователи
Сообщений: 12
Регистрация: 16.7.2005
Пользователь №: 46 289
Модель телефона: C650

Рейтинг: 1



max.wiz
Цитата
Исходники есть?

Да я и не спорю, но ты же писал ее не только для себя (иначе зачем выкладывал)? А ведь кто-нибудь да найдется с 9х и скажет о пролемах с твоей прогой. Понимая что у тебя может и нет 9х, и как разработчик прог я надеялся что помогу, протестировав твою прогу. Мне особо и не нужно - пользуюсь своей.
Цитата
там реестровая ветка другая

Та же HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. Только не получится автоматического определения мотора по USBSER (т.к. просто СОМх).
С мемо вечером перепроверю, но маловероятно, т.к. в 64к стопудово влазим - опен порт, коннект, аплоад, сброс. Там что-то другое.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 20.8.2005, 11:35


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



-SeM-,
Ну не на чем мне даже проверить прогу. У меная стоит 2000-я винда. Даже у знакомых 9-х уже давно нету (на хрюшке сидят теперь).
Сегодня попробую через VMware поставить и проверить (VMWare может что "скажет") - но это максимум что я могу сделать, т.к. извиняюсь, но 9-е уже действительно устарели, хотя я понимаю, что на 1-м пне ставить ХР или 2К нереально :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
induction
сообщение 22.8.2005, 6:07


Интересующийся
**

Группа: Пользователи
Сообщений: 59
Регистрация: 16.10.2004
Из: ЯНАО
Пользователь №: 16 866
Модель телефона: Motorola E398
Прошивка: R373_G_0E.30.1ER

Рейтинг: 6



В помощь max.wiz, Можешь взглянуть на мои исходники:
http://217.17.172.179/images/files/btcontrol_src.zip

Реализована правильная работа с COM портом (асинхронный режим и таймауты) без компонентов...
Над кодом не глумиться...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Тушик
сообщение 1.9.2005, 5:48


Гуру С650
*****

Группа: Пользователи
Сообщений: 574
Регистрация: 12.1.2005
Пользователь №: 33 679
Модель телефона: -

Рейтинг: 96.5



max.wiz,

Не определяет мопед.И точка.Что же ты так мало комов сделал ???
Пользователю запрещено создавать сообщения
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 2.9.2005, 6:57


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(Тушик @ Четверг, 1 Сентября 2005, 8:48)
Не определяет мопед.И точка.Что же ты так мало комов сделал ???
*



Это не я столько COMов сделал, а сколько в винде "видно" - столько и вытаскивает.
Принцип поиска COM-портов такой же как и в p2kapi.dll.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
pahan_tver
сообщение 4.9.2005, 18:16


Мастер Ритма
*****

Группа: Почётные мотофаны
Сообщений: 483
Регистрация: 15.6.2004
Пользователь №: 6 222
Модель телефона: Moto Z4 XT1980-3
Прошивка: 10 amazon alexa

Рейтинг: 400



max.wiz,
Скачал OBEXFileManager_1_3_0_9.
Всё работает, скачал и удалил фотки поштучно и пачкой, мелодии тоже.
Глюков не обнаружил.
Коннект без проблем.
Удобно отслеживать прогресс.

Итог: прога рулит.

WinXP SP1 MotoC650 Com5
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 8.9.2005, 13:49


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543
Модель телефона: Z3 - Z6
Прошивка: R452B_G_08.02.0DR

Рейтинг: 26



:) max.wiz, Спасиб тебе за исходный код. Давно хотел посмотреть как это рулит.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zieg
сообщение 9.11.2005, 9:21


Новичок
*

Группа: Пользователи
Сообщений: 20
Регистрация: 1.8.2005
Пользователь №: 47 524
Модель телефона: e398
Прошивка: MPX398_Final_49R

Рейтинг: 2



Через зуб не будет работать (я о перспективах ) :) ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
n0wheremany
сообщение 12.11.2005, 21:36


Прогр@ммер
*****

Группа: Почётные мотофаны
Сообщений: 564
Регистрация: 10.9.2005
Пользователь №: 51 111
Модель телефона: E398

Рейтинг: 341



Если я сделаю компонент и включю его в состав MotoVCL автор (max.wiz) будет не против?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 13.11.2005, 1:06


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Vovan_mail,
n0wheremany,

OBEX Manager попадает под определение OpenSource, т.е. можете использовать исходники без ограничения :)
Единственное - в них (исходниках) немного трудновато разобраться, т.к. модель связи программы и телефона разрабатывалась постепенно, поэтому в коде "макароны".

Кстати, в аттаче к посту прилагаю один юнит "MotorolaPortsNotifier.pas".
Если его подключить как юнит программы и воспользоваться классом "TMotorolaPortsNotifier" - этот класс "наблюдает" за реестром и в возвращает (через callback-процедуру) список текущих подключённых устройств к COM-портам (фильтр на Мотороловские девайсы: телефоны и т.п.). Подробнее - см. комменты по тексту юнита.
В архиве прилагается также демка, использующая данный класс для вывода текущего списка в TListBox.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
2p0i1T
сообщение 14.11.2005, 11:54


Интересующийся
**

Группа: Пользователи
Сообщений: 45
Регистрация: 16.10.2005
Из: Челябинск
Пользователь №: 54 725
Модель телефона: e51

Рейтинг: 0



в видкомовских дравах для Блуитуза есть втсроенный ОБЕХ клиент! тоесть через зуб можно лазить по телефону! Вот вам и перспектива! кстати в ериках , в самих телах тоже есть обех клиент! они по нашим моторам лазят и удаляют файло! СВОЛОЧИ! evil_zloi;
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 14.11.2005, 13:00


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



Цитата(2p0i1T @ Понедельник, 14 Ноября 2005, 14:54)
в видкомовских дравах для Блуитуза есть втсроенный ОБЕХ клиент! тоесть через зуб можно лазить по телефону! Вот вам и перспектива! кстати в ериках , в самих телах тоже есть обех клиент! они по нашим моторам лазят и удаляют файло! СВОЛОЧИ! evil_zloi;
*



OBEX - платформо-независимый протокол (типа TCP/IP). Различные производители лишь допускают незначительные умолчания, т.к. если прога 100% использует все условия протокола, то может спокойно общаться с любыми OBEX-совместимыми девайсами.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MOTOROKR
сообщение 14.5.2006, 7:11


Гуру
******

Группа: Разработчики
Сообщений: 933
Регистрация: 11.9.2005
Из: RU-MOW (ISO-3166-2)
Пользователь №: 51 143
Модель телефона: VA76r (Tundra)
Прошивка: Various

Рейтинг: 476



Нашёл такую вот доку http://www.ixbt.com/mobile/review/obex.shtml
Вопрос такой. Посылаю я на мотор комманду "AT+MODE=22", после чего он пишет "OK" и перестаёт отвечать на любые другие комманды. В доке написано, что для инициализации надо послать 80h. Но что конкретно посылать: "80h", "128" или даже символ, отдалённо напоминающий буквы Т и Б, наложенные друг на друга (этот символ соответствует 80) я так и не понял. Правильно ли я понимаю, что после перевода в режим OBEX дальнейшие команды всё равно отсылаются на модем? Можете привести несколько obex-комманд с поянениями, которые можно отправить через терминал и получить от телефона ответ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
команды The OBject EXchange Protocol (OBEX), тема о OBEX · Ломаем и строим! · Forum
 

2 страниц V  1 2 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18.6.2025, 2:40

Форум живёт: