Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2012, 17:39   #1
Marinesku
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 13
По умолчанию Программирование через USB

Никогда с этим не работал, подскажите. COM-порт - это пережиток прошлого, поэтому за него уже и не берусь.

Говорят, есть компонента HidDeviceController. Дык... искал, не нашел. Говорят, для этого нужна особая версия Delphi - Delphi for Win32. И там не нашел. Это вообще не делфи, а непонятно что.

1. Я хочу понять, как создать обработчик событий, чтоб регировал на подсоединение внешнего устройства USB. Например, флешки.

2. И как управлять внешними устройствами через USB. Есть такие маньяки, что все приборы в доме, вроде выключателя, кондиционера, управляют через USB. Я хоть и такой маньяк, но знать мне это нужно. Просто как включить/выключить лампочку. Самое простое. А дальше разберусь.

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

Последний раз редактировалось Marinesku; 24.01.2012 в 17:48.
Marinesku вне форума Ответить с цитированием
Старый 24.01.2012, 18:05   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
HidDeviceController
зайдите на JEDI проект.

Цитата:
1. Я хочу понять, как создать обработчик событий, чтоб регировал на подсоединение внешнего устройства USB. Например, флешки.
отрабатывайте сообщение devicearrival.

Цитата:
2. И как управлять внешними устройствами через USB. Есть такие маньяки, что все приборы в доме, вроде выключателя, кондиционера, управляют через USB. Я хоть и такой маньяк, но знать мне это нужно. Просто как включить/выключить лампочку. Самое простое. А дальше разберусь.
http://raxp.radioliga.com/cnt/s.php?p=us1.djvu
http://raxp.radioliga.com/cnt/s.php?p=us2.pdf
http://raxp.radioliga.com/cnt/s.php?p=us3.djvu
http://raxp.radioliga.com/cnt/s.php?p=us4.pdf
http://raxp.radioliga.com/cnt/s.php?p=us5.djvu
http://raxp.radioliga.com/cnt/s.php?p=usb6.pdf
http://raxp.radioliga.com/cnt/s.php?p=usb7.pdf

Цитата:
3. И как при этом при аварийном отключении известить об этом комп
смотря какой интерфейс и канал связи выберете, AX10 поверх 220 вольт это одно, зигби - другое, RS-485 - третье.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 25.01.2012, 12:58   #3
Marinesku
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 13
По умолчанию

За статьи спасибо, почитаю.

А что до devicearrival - я смог сделать только WM_DEVICEARRIVAL. Сделал так:

var
AMessage: TMsg;
S : String;

begin
S := ParamStr(1);
while GetMessage(AMessage, 0, 0, 0) do
begin
if
AMessage.Message=WM_DEVICECHANGE then ShellExecute(0, '', pChar(S), '', '', SW_RESTORE);
end;
end;


В Users еще надо вписать ShellAPI

Только непонятно, на какой именно обработчик событий эту хрень ставить. Поставил на FormOnCreate, так оно вообще без формы компиллируется, а при подключении флешки выгружает текущую папку (и не мудрено, там же стоит ShellExecute). Пытался на другие обработчики ставить - вообще виснет. И вместо ShellExecute другие действия ставить - не работает. Но уже хотя бы что-то. Хоть реагирует.
Marinesku вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование usb nordos Win Api 4 17.10.2011 14:25
программирование USB dostt Помощь студентам 3 28.05.2011 19:37
Программирование USB epirat Общие вопросы по Java, Java SE, Kotlin 3 04.02.2011 16:51
Работа с джойстиком через USB Gonzo Мультимедиа в Delphi 4 17.11.2010 20:22