정기적으로 내 리눅스 PC에 연결된 USB 장치를 감지하기 위해 파이썬에서 폴링 명령 (glob ('/ dev/tty [A-Za-z] *'))을 사용하고 있습니다. 내 신청서. 자동으로 연결된 USB 장치를 감지 할 수있는 방법이 있습니까?리눅스 env에 대한 파이썬의 USB 자동 감지
답변
여기가 시작되었습니다. 당신은 당신의 usb 공급 업체 here을 찾을 수 있습니다. current_list_usb
코드를 작성하여 확인해야 할 시간 간격을 설정하여 새 장치가 연결되었는지 여부를 비교하고 확인할 수 있습니다. USB 모듈을 가져올 때 일부 코드를 사용 :
import usb, usb.core, usb.util, usb.backend.libusb1
...snippet...
# usb.core.find()
# find our device
dev = usb.core.find(idVendor= ...., idProduct= ....)
#dev_1 = usb.util.find_descriptor(cfg, find_all =True)
# was it found?
if dev is None:
raise ValueError('Device not found')
#x = dev.set_configuration()
#print (dev)
#print (help(usb.core))
if usb.core.find(find_all=True, bDeviceClass=7) is None:
raise ValueError('No printer found')
이 작업을 수행하는 일반적인 방법은 새로운 tty
이있는 프로그램을 알려주는 udev
규칙을 만드는 것입니다.
사용자 정의 된 udev 규칙은 다음과 같이 보일 수 있습니다 (의이 /etc/udev/rules.d/50-custom-tty.rules
를 호출하자.
KERNEL=="ttyUSB[0-9]+", RUN+="/usr/bin/my-program"
Here's 쓰기 udev 규칙에 좋은 가이드를이 경우
을, 프로그램 /usr/bin/my-program
때마다 실행됩니다 새로운 ttyUSB
장치가/dev에 생성되면 udev는 방금 연결 한 것을 알려주는 환경 변수를 설정합니다. 그러면 주 프로그램에 새로운 ttyUSB
이 있음을 알릴 수 있고 그것을 사용해야합니다. 너는 ~해야한다. 작은 경우, 그렇지 않으면 udev
데몬은 시간이 오래 걸리면 죽일 것입니다.
libudev를 사용하고 hotplugged 디바이스를 탐지하는 udev 모니터 오브젝트를 생성하는 것이 좋습니다.
이https://www.freedesktop.org/software/systemd/man/libudev.html
당신이 C 코드를 작성하지 않고 기능을 사용할 수 있습니다 udev에 랩 이미 좋은 파이썬 라이브러리가있을 수 있습니다 : 당신이 libudev 및 모니터 기능에 대해 배울 수 여기 출발점이 될 것입니다.
- 1. 파이썬의 인코딩 감지 라이브러리
- 2. USB 장치 자동 감지 연결/연결 해제
- 3. 파이썬의 특정 인터페이스에 대한 리눅스 루프백 인터페이스
- 4. 리눅스 USB 매핑 질문
- 5. USB UVC 장치로 리눅스
- 6. USB 디스플레이로 리눅스 데스크탑
- 7. USB 장치 감지 이벤트
- 8. 파이썬의 주요 색상 감지
- 9. 파이썬의 언어 감지 코드
- 10. USB 전원 상태 감지
- 11. USB 토큰 - * .dll 감지
- 12. 리눅스 시스템에서 파이썬의 고해상도 시간
- 13. 리눅스 USB 드라이버 : 인터럽트 URB
- 14. 리눅스 : USB 키보드로 직접 연결
- 15. 리눅스 USB : libusb 대 sysfs
- 16. 리눅스 - USB 장치 대역폭 제한
- 17. USB 스틱에서 리눅스 파티션 복사
- 18. USB 키 보안 - 리눅스 부팅
- 19. USB 장치가 C로 연결되어있을 때 감지
- 20. 시리얼 브레이크 리눅스 감지
- 21. 리눅스 - 게으름 감지
- 22. 모음 감지 대 파이썬의 자음
- 23. Windows에서 Qt의 USB 알림 감지
- 24. USB 장치 감지 및 제거 #
- 25. Tkinter 및 USB 장치 감지
- 26. USB 모뎀 다이얼 톤 감지
- 27. 특정 연결된 USB 장치 감지
- 28. 안드로이드의 USB 호스트 - OTG 감지
- 29. 자동 감지
- 30. 프록시 설정 리눅스 자동 설정
'dbus' 모듈을 사용할 수 있습니까? – Pavel
'tty'장치 핫 플러그를 모니터하는'pyudev' 코드 https://stackoverflow.com/a/39885881/1778421 –