发现本地网络上的设备

netdisco的Python项目详细描述


NetDisco

netdisco是一个python 3库,用于发现本地设备和服务。它允许按需扫描或提供一项服务,该服务将在设置的时间间隔内在后台扫描网络。

当前扫描方法:

  • MDN(包括Chromecast、HomeKit)
  • UPNP
  • 使用良好的日常伴侣协议的Plex媒体服务器
  • Logitech媒体服务器发现协议
  • Daikin发现协议
  • Web OS发现协议

是库在Home Assistant中驱动设备发现。

我们不再接受实现自定义发现协议的prs。仅支持使用mdns或upnp的prs。见this issue

安装

PYPI上提供NetDisco。使用pip3 install netdisco安装。

示例

从命令行:

python3 -m netdisco
# To see all raw data:
python3 -m netdisco dump

在您的脚本中:

fromnetdisco.discoveryimportNetworkDiscoverynetdis=NetworkDiscovery()netdis.scan()fordevinnetdis.discover():print(dev,netdis.get_info(dev))netdis.stop()

将生成已发现设备及其最重要信息的列表:

DLNA ['http://192.168.1.1:8200/rootDesc.xml', 'http://192.168.1.150:32469/DeviceDescription.xml']
google_cast [('Living Room.local.', 8009)]
philips_hue ['http://192.168.1.2:80/description.xml']
belkin_wemo ['http://192.168.1.10:49153/setup.xml']

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
HTTP标头的java InputStream未终止   java测试SpringWebListener   具有定义的替换编号Java的regex ReplaceAll   在java中使用contains()方法   java在选择查询中使用JoinColumn字段   具有用户的java Start-stop demon不是以给定用户启动   java glBufferData生成GL\u无效\u操作   java中循环代码的循环   Java位无符号移位(>>>>)会产生奇怪的结果   java HQL使用点分隔符从select获取结果   条纹、弹簧、玩耍(或?):使用哪种高性能Java框架?   广播接收机中的java停止服务   java回收器视图占据整个屏幕。不在上面显示我的UI元素   java使MySQL查询更快   java MappedByteBuffer查询   java递归算法问题