#c #libusb
#c #libusb
Вопрос:
У меня есть запрос на функцию в проекте, над которым я работаю, он заключается в интеграции с карманным компьютером Paylife CC, который имеет USB-разъем для подключения к компьютеру. У меня есть документы, и я читаю об этом.
Когда я искал в Google, как читать / записывать на USB-устройство в Linux, он сказал: используйте libusb.
Мне было интересно, есть ли другая возможность? Разве я не могу просто открыть его как файл, записать в него поток и прочитать поток из него?
На самом деле мне не нужно делать ничего особенного. Мне просто нужно записать строку управляющих кодов на устройство, и было бы неплохо прочитать коды подтверждения и ошибок. Но поскольку они уже отображаются на экране устройства, мне не нужно ничего с этим делать, просто укажите сумму, необходимую для оплаты.
Итак, мой вопрос в том, каковы мои варианты?
Подключенный компьютер представляет собой обычный старый ящик ubuntu linux.
Комментарии:
1. Поставляется ли он с драйвером? Если да, вы можете выполнить поиск в документации системы.
2. Нет, он не поставляется ни с чем, кроме нескольких файлов .pdf, которые охватывают все возможные сценарии, которые можно себе представить, так что это немного сложно. Не помогает то, что они написаны исключительно на немецком языке, на котором я не говорю 🙂 Боже, как мне нравится быть инженером-программистом.
Ответ №1:
Это определенно возможно, когда устройство соответствует одному из классов USB-устройств — драйверы для них универсальны.
Если это не так, то вы можете использовать драйвер, предоставленный производителем или сторонним поставщиком, при условии, что он есть, и у вас достаточно документации.
Если это тоже не так, вам подойдет libusb-1.0, если только вы не хотите сами написать драйвер ядра 🙂
Комментарии:
1. Мне не предоставили никаких драйверов, и, похоже, в документации даже не указано, что у него есть USB, он утверждает, что RS232, но у него есть только USB-порт… Я получу устройство физически через 2 часа и буду молиться, чтобы оно работало как USB-принтер, и я мог просто писать на него. В противном случае мне придется позвонить в компанию и выяснить…
2. Это может создать com-интерфейс через usb. Выполните поиск в журналах ядра при подключении устройства. Он может регистрировать созданные файлы com-порта
3. Терминалы торговых точек почти повсеместно используют RS232, поэтому вы можете ожидать, что это будет последовательный переход через USB.
4. Да, serial-over-USB — частый случай, он обрабатывается ядром как класс связи . Если да, то в итоге у вас будет только TTY.
5. По сути, это то, что в итоге произошло, конечно, теперь проблема связана с последовательными-> USB-конвертерами. По какой-то причине тот, который у меня есть, через некоторое время перестает работать, и мне приходится отключать и подключать его заново.