Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用golang获取USB设备的序列号?_Go_Usb_Serial Number - Fatal编程技术网

如何使用golang获取USB设备的序列号?

如何使用golang获取USB设备的序列号?,go,usb,serial-number,Go,Usb,Serial Number,如何使用golang获取USB设备的序列号 是否有任何示例代码 任何知道的人 必须在golang中使用libusb的包装器(例如)。 但是这个包装器没有获取序列号的命令。 所以你必须实施它。libusb中执行此操作的命令是: C.libusb_get_string_descriptor_ascii Go软件包有一种方法,可用于获取USB设备的序列号 没有错误处理的示例 这对你有帮助吗,如果您使用的是unix/osx系统命令,则文档位于。我在获取github.com/gotmc/libusb时出

如何使用golang获取USB设备的序列号

是否有任何示例代码


任何知道的人

必须在golang中使用libusb的包装器(例如)。 但是这个包装器没有获取序列号的命令。 所以你必须实施它。libusb中执行此操作的命令是:

C.libusb_get_string_descriptor_ascii
Go软件包有一种方法,可用于获取USB设备的序列号

没有错误处理的示例
这对你有帮助吗,如果您使用的是unix/osx系统命令,则文档位于。我在获取github.com/gotmc/libusb时出错bjbus@bjbus:~$go get github.com/gotmc/libusb#pkg config--cflags libusb-1.0 libusb-1.0 libusb-1.0 libusb-1.0 libusb-1.0。。。在PKG CONFIG搜索路径中找不到PKG_CONFIG_PATH环境变量包libusb-1.0。也许您应该将包含
libusb-1.0.pc'的目录添加到PKG_CONFIG_PATH环境变量中,找不到包'libusb-1.0'。。。pkg config:exit status 1
I retry
go-get-github.com/gotmc/libusb
after
apt-get-install-libusb-1.0-0-dev
。并收到消息:
无法确定C.LIBUSB\u TRANSFER\u TYPE\u BULK\u STREAM的名称类型
@sope您是否也执行了
sudo apt get install LIBUSB-1.0-0
?我不确定
libusb-1.0-0-dev
是否安装了
libusb-1.0-0
依赖项。libusb-1.0-0已默认安装在ubuntu 14.04中
package main

import (
    "log"

    "github.com/gotmc/libusb"
)

func main() {
    ctx, _ := libusb.Init()
    defer ctx.Exit()
    devices, _ := ctx.GetDeviceList()
    for _, device := range devices {
        usbDeviceDescriptor, _ := device.GetDeviceDescriptor()
        handle, _ := device.Open()
        defer handle.Close()
        snIndex := usbDeviceDescriptor.SerialNumberIndex
        serialNumber, _ := handle.GetStringDescriptorASCII(snIndex)
        log.Printf("Found S/N: %s", serialNumber)
    }
}