锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

如何通过Python HIDAPI为一个廉价的称重传感器秤去皮?

时间:2022-10-03 19:30:00 数字地磅传感器型号qs

好消息是厦门便宜ELANE.NET称重传感器在网站上USB上通电进入报告3模式;以克为单位不断显示当前重量。

这是它的数据表:

我可以用标准的pyusb调用阅读。这个样本可以读出刻度。

。。。如果将设备搜索替换为usb.core.find(idVendor=0x7b7c, idProduct=0x301)

(我还滥用sudo操作我的程序,bc我拒绝使用设备权限,sudo树莓派很容易

使用标准的pyusb调用,我可以这样读我的scale的spew:device.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize)

返回6字节数组:

^{pr2}$

现在,当我试图向秤发送命令时,乐趣开始了。将当前重量归零的命令(zero-weight,也叫皮重 4 2 0 0 0。在

假如我用类似的https://github.com/walac/pyusb/blob/master/docs/tutorial.rst找到这样的示例代码ENDPOINT_OUT ENDPOINT,并使用以下任一行对其进行写操作,不能计算皮重:# ep_out.write('\x07\x04\x02\x00\x00\x00', 6)

ep_out.write([0x07, 0x04, 0x02, 0x00, 0x00, 0x00], 6)

(症状是,我可以在我的称重传感器上放一个负载,使用上述负载.read()线称重,然后去皮,当我再次去皮时.read()时不会得到零。)

我们还没死。我们还没试过HIDAPI。所以我apt-get我一些libusbhid-common,一些cython-dev,一些libusb-dev,我升级了一些{}和一些{}HIDAPI C试着去皮示例代码:handle = hid_open(0x7b7c, 0x301, NULL);

buf[0] = 0x07;

buf[1] = 0x04;

buf[2] = 0x02;

res = hid_write(handle, buf, 3);

那是皮重

复制我在Python成功之一(尽管在C 重写我的应用程序的小层有多诱人!),我拿出了一些cythonhidapi(大概来自git://github.com/signal11/hidapi.git),并升级了它们的try.py示例代码:h = hid.device()

h.open(0x7b7c, 0x301)

print("Manufacturer: %s" % h.get_manufacturer_string())

print("Product: %s" % h.get_product_string())

print("Serial No: %s" % h.get_serial_number_string())

res = h.write([0x07, 0x04, 0x02, 0,0,0])

你猜怎么着?最后一行没有皮重。但是如果我跑三次,皮重!res = h.write([0x07, 0x04, 0x02, 0,0,0])

res = h.write([0x07, 0x04, 0x02, 0,0,0])

res = h.write([0x07, 0x04, 0x02, 0,0,0])

所以,在我写循环之前,反复调用皮重线,直到read在回到零级之前,有人能检查我的数学并给出捷径吗?一个原始的pyusb解决方案也会很有效。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章