Работа c usb

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Работа c usb

Сообщение xqz_me » 03.04.2006 (Пн) 15:36

Где можно почитать или найти пример про работу с usb-устройствами? Конкретно нужно: найти устройство, посылать на него команды и получать ответы.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 15:39

шо, опять :?:

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 03.04.2006 (Пн) 15:39

http://bbs.vbstreets.ru/viewtopic.php?t=24306

Не поверишь, даже тема так же называется... :roll:
Быть... или не быть. Вот. В чём вопрос?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 15:40

Код: Выделить всё
'Script for Win32_USBController WMI Class
'Generated using 'WMI Win32 Class Autoscript Generator' - Developed by Karthikeyan
'Homepage: http://www.geocities.com/marskarthik

On Error Resume Next
Computer = "."
Set OutFile = CreateObject("WScript.Shell")
Const ForAppending = 2
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Set TextFile = FileSystem.OpenTextFile ("c:\temp\Win32_USBController.txt", ForAppending, True)
TextFile.WriteLine "Script for Win32_USBController Class by Karthikeyan"
TextFile.WriteLine
Set WMIService = GetObject("winmgmts:\\" & Computer & "\root\cimv2")
Set Items = WMIService.ExecQuery("Select * from Win32_USBController",,48)
For Each SubItems in Items
TextFile.WriteLine "********************************************************************"
    TextFile.WriteLine "Availability: " & SubItems.Availability
    TextFile.WriteLine "Caption: " & SubItems.Caption
    TextFile.WriteLine "ConfigManagerErrorCode: " & SubItems.ConfigManagerErrorCode
    TextFile.WriteLine "ConfigManagerUserConfig: " & SubItems.ConfigManagerUserConfig
    TextFile.WriteLine "CreationClassName: " & SubItems.CreationClassName
    TextFile.WriteLine "Description: " & SubItems.Description
    TextFile.WriteLine "DeviceID: " & SubItems.DeviceID
    TextFile.WriteLine "ErrorCleared: " & SubItems.ErrorCleared
    TextFile.WriteLine "ErrorDescription: " & SubItems.ErrorDescription
    TextFile.WriteLine "InstallDate: " & SubItems.InstallDate
    TextFile.WriteLine "LastErrorCode: " & SubItems.LastErrorCode
    TextFile.WriteLine "Manufacturer: " & SubItems.Manufacturer
    TextFile.WriteLine "MaxNumberControlled: " & SubItems.MaxNumberControlled
    TextFile.WriteLine "Name: " & SubItems.Name
    TextFile.WriteLine "PNPDeviceID: " & SubItems.PNPDeviceID
    TextFile.WriteLine "PowerManagementCapabilities: " & SubItems.PowerManagementCapabilities
    TextFile.WriteLine "PowerManagementSupported: " & SubItems.PowerManagementSupported
    TextFile.WriteLine "ProtocolSupported: " & SubItems.ProtocolSupported
    TextFile.WriteLine "Status: " & SubItems.Status
    TextFile.WriteLine "StatusInfo: " & SubItems.StatusInfo
    TextFile.WriteLine "SystemCreationClassName: " & SubItems.SystemCreationClassName
    TextFile.WriteLine "SystemName: " & SubItems.SystemName
    TextFile.WriteLine "TimeOfLastReset: " & SubItems.TimeOfLastReset
TextFile.WriteLine "********************************************************************"
Next
TextFile.Close
OutFile.Run "notepad.exe c:\temp\Win32_USBController.txt",1,True

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 15:43

Извиняйте, искал в яндексе, ничего не нашёл.

Правда, в той теме ничего кроме слов
Вот есть WMI Class Win32_USBHub.
Он возвращает девайс, который включен в USB, и у него есть метод GetDescriptor, который дает хендл этого девайса.
В дальшейшем, можно использовать дескриптор для управления устройством.
Как? Мне было лень дальше копать, но в MSDN я думаю, можно найти ответ если копать в этом направлении.
полезного нет... Чё это за зверь то?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.04.2006 (Пн) 15:44

Надо пользоваться поиском!

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 15:55

Надо пользоваться поиском!
Извиняйте, искал в яндексе, ничего не нашёл.



А чё с этим кодом делать? :) Наверное, сам этот WMI Class ещё нужен. А где его взять?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.04.2006 (Пн) 15:57

Он уже есть. В системе так сказать.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 16:04

кидай код, что я тебе здесь выложил в файлик:
usb.vbs

и запускай его (кликни дважды на нем в эксплорере)
:lol:

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 16:07

Тогда чего с этим делать? Ну тупой я.

Код: Выделить всё
[b]Private Sub Command1_Click()[/b]
'Script for Win32_USBController WMI Class
'Generated using 'WMI Win32 Class Autoscript Generator' - Developed by Karthikeyan
'Homepage: http://www.geocities.com/marskarthik

On Error Resume Next
Computer = "."
Set OutFile = CreateObject("WScript.Shell")
Const ForAppending = 2
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Set TextFile = FileSystem.OpenTextFile("c:\temp\Win32_USBController.txt", ForAppending, True)
TextFile.WriteLine "Script for Win32_USBController Class by Karthikeyan"
TextFile.WriteLine
Set WMIService = GetObject("winmgmts:\\" & Computer & "\root\cimv2")
Set Items = WMIService.ExecQuery("Select * from Win32_USBController", , 48)
For Each SubItems In Items
TextFile.WriteLine "********************************************************************"
    TextFile.WriteLine "Availability: " & SubItems.Availability
    TextFile.WriteLine "Caption: " & SubItems.Caption
    TextFile.WriteLine "ConfigManagerErrorCode: " & SubItems.ConfigManagerErrorCode
    TextFile.WriteLine "ConfigManagerUserConfig: " & SubItems.ConfigManagerUserConfig
    TextFile.WriteLine "CreationClassName: " & SubItems.CreationClassName
    TextFile.WriteLine "Description: " & SubItems.Description
    TextFile.WriteLine "DeviceID: " & SubItems.DeviceID
    TextFile.WriteLine "ErrorCleared: " & SubItems.ErrorCleared
    TextFile.WriteLine "ErrorDescription: " & SubItems.ErrorDescription
    TextFile.WriteLine "InstallDate: " & SubItems.InstallDate
    TextFile.WriteLine "LastErrorCode: " & SubItems.LastErrorCode
    TextFile.WriteLine "Manufacturer: " & SubItems.Manufacturer
    TextFile.WriteLine "MaxNumberControlled: " & SubItems.MaxNumberControlled
    TextFile.WriteLine "Name: " & SubItems.Name
    TextFile.WriteLine "PNPDeviceID: " & SubItems.PNPDeviceID
    TextFile.WriteLine "PowerManagementCapabilities: " & SubItems.PowerManagementCapabilities
    TextFile.WriteLine "PowerManagementSupported: " & SubItems.PowerManagementSupported
    TextFile.WriteLine "ProtocolSupported: " & SubItems.ProtocolSupported
    TextFile.WriteLine "Status: " & SubItems.Status
    TextFile.WriteLine "StatusInfo: " & SubItems.StatusInfo
    TextFile.WriteLine "SystemCreationClassName: " & SubItems.SystemCreationClassName
    TextFile.WriteLine "SystemName: " & SubItems.SystemName
    TextFile.WriteLine "TimeOfLastReset: " & SubItems.TimeOfLastReset
TextFile.WriteLine "********************************************************************"
Next
TextFile.Close
OutFile.Run "notepad.exe c:\temp\Win32_USBController.txt", 1, True
[b]End Sub[/b]


На строку Set FileSystem = CreateObject("Scripting.FileSystemObject") ругается: expected variable or procedure, not module.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 16:12

ну ты ни фига не продвинутый юзъверь :D

я же тебе написал, что суешь мой код в файлик с раширением VBS и запускаешь его :!:

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 16:13

Всё, терь дошло. А как это в проге использовать?

Файрвол возмутился:
Malicious script detected. Your computer is halted and needs to do something about this script.
Object FileSystem Object
Activity OpenTextFile

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 16:14

Я же не могу каждые две минуты проверять, появились ли ковые посты или нет. :? Когда я это писал, твоего поста ещё не было.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 16:15


xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 16:24

Классная прога... Только смысл в чём? Мне нужно на конкретное устройство отправит команду и получить ответ. Можно на это пример?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 16:25

MSCOMM control подключай и работай

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 16:35

А он же для ком портов вроде...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 16:39

ну так есть же драйвер USB_2_COM
поищи по форуму (уже ссылку на него давали) или в инете, а если ты юзать хочешь новомодный какой мобильник ,через USB подключенный, то он наверное уже эти дрова поставил и выделил какой-нибудь COM11 для своего девайса :wink:

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 17:15

В этом вся проблема... В системе на нормальном ком порте висит motorola usb modem. В таком виде это обычный можем, ничего интересного делать не умеет. Но если на него отправить at+mode=8, то motorola usb modem из системы пропадает, появляется usb composite device (состоящий из 7 устройств, которым нужны отдельные дрова), для которого нет ком порта. C одним из этих семи устройств мне и надо связаться.

Драйвера поиск не нашёл.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 17:19

тебе прямая дорога на форум motorola для разработчиков, прежде чем посылать команды
Код: Выделить всё
at+mode=8
надо документацию на сам телефон почитать :lol:

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 17:21

Вся документация есть

Wild VB Code for Food
Постоялец
Постоялец
 
Сообщения: 387
Зарегистрирован: 16.06.2005 (Чт) 17:34
Откуда: ты, друг? =)) Сообщений: 1234

Сообщение Wild VB Code for Food » 03.04.2006 (Пн) 18:22

xqz_me
Дрова есть в PST для моторолл....или поищи в комплекте p2ktools от Bezols

Советую юзать p2kapi от отца моторолла программирования в России, те Vilko.
Если можешь, вышли мне документацию по AT командам модемов-моторолл. А если ты совсем продвинутый - то рой документацию по моторолам (я её не нашёл) и общяйся с Моторами через TSF комманды, но это отдельная, весьма сложная тема, с которой я ознакомлен лишь поверхностно..

ЗЫ. Всё это можно найти на motofan.ru

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 19:29

Wild VB Code for Food, дрова есть. И даже p2kapi я использовал. Только в реальности телефоны поддерживают раз в 30 больше комманд, чем их есть в p2kapi. Поэтому я и хочу разобраться с usb. Комманды только эти называются TCI (test command interface), а не TSF. И вообще, это форум не про телефоны, а про программирование.

Так кто-нить что-нить объяснит?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 03.04.2006 (Пн) 20:02

usb здесь совсем не причем, надо юзать API, которое тебе предоставил производитель (Motorola) и не париться 8)

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 03.04.2006 (Пн) 21:56

Какое ещё api производитель поставил? p2kapi это самодельная dll-ка.

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 04.04.2006 (Вт) 12:10

Другими словами, на вопрос никто не может ответить?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 04.04.2006 (Вт) 12:13

тебе сюда:

http://www.motocoder.com/motorola/pcsHome.jsp

и потом не говори, что ты не смог найти документацию :evil:

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 04.04.2006 (Вт) 12:35

Konst_One, ты вообще в теме? Вопрос звучит так: как работать с usb-устройством. ДОКУМЕНТАЦИЯ И СОВЕТЫ НЕ ПО ТЕМЕ НЕ НУЖНЫ. Я хоть где-то говорил, что не "не смог найти документацию". И вообще, это сайт про wap и java.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 04.04.2006 (Вт) 13:22

это сайт про программирование для телефонов Моторола со всеми его стандартами и спецификациями, а также тулзами для этого, если ты этого не понял :?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 04.04.2006 (Вт) 13:29

я так и не понял, чего ты хочешь добиться, но может вот это тебе поможет:
http://www.activexperts.com/activcomport/

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43

    TopList