文章目录

  • 191126
  • 191127
  • 191128
  • 191129
    • 尝试第二种方案 Devcon
  • 191130

191126

连接6摄像头运行,开始运行正常,能够正常识别,但不小心线动了一下,视频窗口卡死,报错runtime error:

Traceback (most recent call last):File "D:/20191031_tensorflow_yolov3/tensorflow-yolov3/test-使用locals()函数批量配置摄像头运行识别程序并画框.py", line 206, in <module>YoloTest().dontla_evaluate_detect()File "D:/20191031_tensorflow_yolov3/tensorflow-yolov3/test-使用locals()函数批量配置摄像头运行识别程序并画框.py", line 141, in dontla_evaluate_detectfor i in ctx.devices:
RuntimeError

后来添加了打印已连接摄像头个数的代码和打印摄像头序列号和接口号的代码,打印如下:


可看到,摄像头个数为6个,但打印第六个序列号时却未能正常打印

已经在官方github下提问了,等待消息
RuntimeError #5329

趁他们还未回复,先自己折腾一阵。

参考文章1:How do you reset a USB device from the command line?

参考文章2:python3 自动识别usb连接状态,即对usb重连的判断方法

无果。。。

191127

又继续测试这个:usb之python(pyusb)

#!/usr/bin/python
# -*- coding:utf-8 -*- import usb.util
import sys
#USB\VID_1C4F&PID_0051
dev =  usb.core.find(idVendor= 0x1C4F, idProduct= 0x0051)
if dev is None:raise ValueError('Device not found')
print(dev)
# set the active configuration. With no arguments, the first
# configuration will be the active onecfg = dev.get_active_configuration()

运行后报错:

  File "D:/20191031_tensorflow_yolov3/needed/test/test_Intel_realsense/test_191127_测试usb(已知摄像头序列号).py", line 13, in <module>dev = usb.core.find(idVendor=0x1C4F, idProduct=0x0051)File "D:\20191031_tensorflow_yolov3\python\lib\site-packages\usb\core.py", line 1263, in findraise NoBackendError('No backend available')
usb.core.NoBackendError: No backend availableProcess finished with exit code 1

参考Pyusb on windows 8.1 - no backend available - how to install libusb?

后来安装了pyusb库,还是没法运行,想放弃了。。。

还是按照他的解释从 http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.20/libusb-1.0.20.7z/download 下载了libusb-1.0.20.7z,解压然后拷贝一些文件:

I downloaded latest libusb windows binaries from here: http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.20/libusb-1.0.20.7z/download then I copied libusb1.dll according to this: when you are on 64-bit Windows, MS64\dll\libusb-1.0.dll must be copied into C:\Windows\System32 and (for running 32-bit applications that use libusb) MS32\dll\libusb-1.0.dll must be copied into C:\Windows\SysWOW64. and then I copied libusb1.lib from binaries to lib dir in python directory and now pyusb works for me. hope it helps.

我从此处下载了最新的libusb Windows二进制文件:http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.20/libusb-1.0.20.7z/download,然后根据此文件复制了libusb1.dll。 :在64位Windows上时,必须将MS64 \ dll \ libusb-1.0.dll复制到C:\ Windows \ System32和(对于运行使用libusb的32位应用程序)MS32 \ dll \ libusb-1.0.dll 必须复制到C:\ Windows \ SysWOW64。 然后将libusb1.lib从二进制文件复制到python目录中的lib dir,现在pyusb对我有用。 希望能帮助到你。



发现可以运行了,但是报错ValueError: Device not found

191128

后续内容参考这个吧:python pyusb库使用教程【在window10系统上操作USB】(操作Intel Realsense D435)

看到这个,有点启发:
How to restart USB device(如何重启USB设备)
看看python是否能够调用设备控制台DevCon(Devcon.exe)【先挂起不管】

又看到这个,usb 设备 复位,作者在最后提到了libusb,遂下,libusb 1.0.22b8 ,将之前老版本的libusb删除,包括system32里的等等,但是这个貌似不太友好,找了半天也没找到教程在哪,只有这个:A cross-platform user library to access USB devices

确实太不友好了,看见github上有个libusb1,看看那个是咋回事

貌似,使用python libusb1库也蛋疼,还是重新回到librealsense去找重置usb的答案吧。。。

191129

提问后,Intel Realsense 官方客服人员MartyG小姐给出了回答,https://github.com/IntelRealSense/librealsense/issues/5345#issuecomment-559583087,让我参考这个#3329 (comment):

ctx = rs.context()
devices = ctx.query_devices()
for dev in devices:dev.hardware_reset()

试了一下,还是不行,没法重置:

尝试第二种方案 Devcon

How to restart USB device(如何重启USB设备),尝试使用Devcon.exe工具

如何安全的下载Devcon.exe文件

下好后(要根据系统版本号下载哦),解压到一个文件夹里:


右键以管理员身份运行控制台:

参考这里输入命令:Devcon的用法

具体测试结果,请见:devcon的测试 尝试使用devcon命令重置Intel Realsense D435摄像头

发现使用devcon重启也还是不行,有一个摄像头都地址设定失败了。。。不知道怎么把它弄回来?


程序中也是,只要一遍历访问信息就会出错。。。

没办法,看来还是得启用PCIE了:
20190812_Intel Realsense D435 关于摄像头USB掉线问题问题汇总

191130

设置了hardware_reset()并设置了重置后的睡眠时间为5秒,但运行时还是报错了:

D:\20191031_tensorflow_yolov3\python\python.exe D:/20191031_tensorflow_yolov3/tensorflow-yolov3/test-multicam.py
2019-11-30 12:46:21.906107: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-11-30 12:46:22.838489: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1411] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.6575
pciBusID: 0000:0e:00.0
totalMemory: 11.00GiB freeMemory: 9.10GiB
2019-11-30 12:46:22.996493: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1411] Found device 1 with properties:
name: GeForce GT 710 major: 3 minor: 5 memoryClockRate(GHz): 0.954
pciBusID: 0000:05:00.0
totalMemory: 2.00GiB freeMemory: 1.67GiB
2019-11-30 12:46:22.997060: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1461] Ignoring visible gpu device (device: 1, name: GeForce GT 710, pci bus id: 0000:05:00.0, compute capability: 3.5) with Cuda compute capability 3.5. The minimum required Cuda capability is 3.7.
2019-11-30 12:46:22.997586: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1490] Adding visible gpu devices: 0
2019-11-30 12:46:24.450762: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-11-30 12:46:24.451066: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977]      0 1
2019-11-30 12:46:24.451246: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990] 0:   N N
2019-11-30 12:46:24.451422: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990] 1:   N N
2019-11-30 12:46:24.451754: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1103] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 8789 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:0e:00.0, compute capability: 6.1)
摄像头838212073161重置成功
摄像头836612072369重置成功
摄像头827312071726重置成功
摄像头838212073249重置成功
摄像头827312070790重置成功
摄像头826212070395重置成功
摄像头个数:6
serial number 1:838212073161;usb port:3.2
serial number 2:836612072369;usb port:2.1
serial number 3:827312071726;usb port:3.2
serial number 4:838212073249;usb port:3.2
serial number 5:827312070790;usb port:3.2
serial number 6:826212070395;usb port:3.2
Traceback (most recent call last):File "D:/20191031_tensorflow_yolov3/tensorflow-yolov3/test-multicam.py", line 241, in <module>YoloTest().dontla_evaluate_detect()File "D:/20191031_tensorflow_yolov3/tensorflow-yolov3/test-multicam.py", line 174, in dontla_evaluate_detectlocals()['pipeline' + str(i)].start(locals()['config' + str(i)])
RuntimeErrorProcess finished with exit code 1

然后给重置程序加了多重延时,希望不再报错:

tensorflow-yolov3 调试Intel Realsense D435摄像头所遇到的问题(USB自动检测并重置机制)hardware_reset() pyusb libusb devcon相关推荐

  1. devcon的测试 尝试使用devcon命令重置Intel Realsense D435摄像头 USB

    文章目录 Devcon概要 测试devcon 输入命令`Devcon find pci\*`,列出所有PCI设备的ID 输入命令`devcon status *`,查看所有设备id devcon dr ...

  2. Intel Realsense D435 摄像头插入电脑无法监测(识别)的可能原因及解决方案 USB SCP overflow

    Intel Realsense D435 摄像头插入电脑无法监测(识别)的可能原因及解决方案 问题描述: 查找解决方案: 1. 是否是shell hardware detection 服务未开启? 2 ...

  3. 20200301 Intel Realsense D435摄像头掉线问题测试数据记录

    计算机号 测试摄像头数量 序列号(无序) USB线长(米) 插入口 测试开始时间 测试结束时间 测试时长 是否硬掉线 软掉线次数 备注 DESKTOP-FPE66EJ 2 '838212073249' ...

  4. 华硕主板X99-E WS/USB 3.1 Intel Realsense D435摄像头掉线是否与Intel推行的xhci有关?

    到bios中的usb设置中将intel xhci 模式改成禁用试试(关闭usb3.0)? 还没试,等下一次掉线再试 参考文章:华硕主板不停地提示无法识别的USB设备

  5. Intel RealSense D435摄像头被识别成D430的解决办法

    解决办法: 安装官方Universal Windows Platform (UWP) 驱动 https://downloadcenter.intel.com/download/28723/Intel- ...

  6. python pyusb库使用教程【在window10系统上操作USB】(操作Intel Realsense D435)

    发现位置:usb之python(pyusb) pypi:pyusb 1.0.2 Libraries.io教程 :pyusb Release 1.0.2 github教程:Programming wit ...

  7. yunyang tensorflow-yolov3 Intel Realsense D435 (并发)调用两个摄像头运行识别程序并画框

    只是一个测试,测试在并发运行下,同时开启两个摄像头获取视频流并调用识别函数的运行结果,以后在摄像头多的情况下,肯定不能这样,需要批量创建各种对象. 并发,指的是不在多线程的情况下,每个摄像头的视频流送 ...

  8. SLAM之camera(Intel RealSense D435)调试第一弹:Win10平台下getting started

    参见官方的getting started文档 https://software.intel.com/en-us/realsense/d400/get-started,这个quick start gui ...

  9. Intel Realsense D435 是否启动pipeline.start()就开始传输帧,还是只有我们调用wait_for_frames()函数时它才会传输帧?(任务管理器USB带宽内存测试)

    我猜想Intel Realsense D435摄像头只要启动pipeline.start()函数,就会开始传输帧,无论我们是否调用wait_for_frames()或者poll_for_frames( ...

最新文章

  1. idea swagger生成接口文档_spring boot集成Swagger-UI接口文档
  2. selenium2与python自动化1-selenium简介与降级
  3. 学习MySQL我们应该知道哪些东西?
  4. android 恢复出厂设置 时间,Android 恢复出厂设置后,时间不能恢复为:2013年1月1日...
  5. 【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用
  6. java writeint_Java DataOutputStream writeInt()方法
  7. stm32F103驱动ADS1115程序-4通道可用-ALERT中断可用-ADC芯片,应该是最全了
  8. SAP BPC最佳实践-BPC安装及配置的常见问题
  9. 接口测试搭建之JMeter接口测试与SoapUI接口测试
  10. 词法分析器(分析C语言)
  11. 让RTL8187无线网卡在linux 2.6.28内核支持aircrack-ng注入。
  12. 微信小程序仿支付宝滑动图标
  13. 用origin画不同柱族柱状图
  14. 阿里全国脱贫攻坚先进-万祥军:谋定中国农民丰收节交易会
  15. 网络课笔记整理——物理层
  16. windows 查看端口
  17. Xcode 项目运行不成功,有没有朋友可以指导一下
  18. Developing Application Frameworks in .NET(隨書源碼下載地址)
  19. Python selenium模拟QQ邮箱登录
  20. 数据库高级应用学习报告【T-sql】

热门文章

  1. 【转】NAST表的使用
  2. 生产订单形成的差异如何传递到COPA
  3. ABAP 生成ZIP压缩文件的代码
  4. 物料编码原则外部分配还是内部分配
  5. SAP License审计说明及合并
  6. ABAP Subscreen and tabstrip controls
  7. 松果出行CTO朱蓝天做客《智慧Talk》,解开共享电单车产研密码
  8. 超级猩猩:网红健身房的故事很好,但别为他人做了嫁衣
  9. 科大讯飞同时公布年报和一季度报,冰火两重天
  10. mysql里面的sql_mysql工作中的sql