В течение двух дней я искал способ написания программ или создания драйвера для обработки последовательного USB-запроса на стороне моего USB-устройства.Я специально создал USB-устройство, и единственный способ подключиться к нему - через последовательный USB-порт. На моем компьютере я использую API Webusb от Google для доступа к терминальной консоли на устройстве.Поэтому я могу отправлять команды Linux (например, ifconfig), поэтому я хотел бы создать что-то, что может работать на устройстве для прослушивания запросов, поступающих через последовательный порт USB, и отправки правильного ответа.Например, у меня есть код C , который работает на Arduino и выполняет то, что я хочу, но проблема в том, что код работает только для Arduino, а не на моем устройстве, вот код c:
// Third-party WebUSB Arduino library
#include <WebUSB.h>
WebUSB WebUSBSerial(1 /* https:// */, "webusb.github.io/arduino/demos");
#define Serial WebUSBSerial
void setup() {
Serial.begin(9600);
while (!Serial) {
; // Wait for serial port to connect.
}
Serial.write("WebUSB FTW!");
Serial.flush();
}
void loop()
{
if (webUsbSerial)
{
if (webUsbSerial.available())
{
int byte = webUsbSerial.read();
if (byte == 'h')
{
webUsbSerial.write("hallo from Arduino");
}
else
webUsbSerial.write("sorry not a function yet!!!!");
webUsbSerial.flush();
}
}
}
Как вы видите в этом примере, я проверяю, есть ли команда « h », и отправляю hello world
.Я хотел бы сделать то же самое на моем устройстве с ОС Linux, я попробовал libusb
, но я думаю, что это USB-хост API, а не USB-устройство.Заранее спасибо.