跳转到主要内容

UDP 30303 网络发现库。

项目描述

Test Status Package Build Codecov Read the Docs

摘要

一个用于执行UDP网络发现的异步Python库。

支持的协议

该库支持3种协议

  • 30303 - 简单且基本

  • wiznet - Wiznet设备,尚未完全解码数据包(尚未)

  • ecowitt - Ecowitt气象站

关于30303协议的说明

当您执行303030发现时,任何响应的设备都会报告3件事情。

IP地址

主机名

主机名将从设备的角度提供,而不是DNS。通常设备将具有硬编码的主机名,例如Balboa Spa WiFi将报告为BWGSPA。

MAC地址

格式为XX-XX-XX-XX-XX-XX

使用方法

pip install py30303_disc

参见src/py30303_disc/d30303_discover.py中的示例

解析函数有几个模式

parse(data, addr)

简单解码消息,并返回元组

parse(data, addr, hostname="blah")

仅当主机名匹配时返回元组

parse(data, addr, mac_prefix="XX-XX-XX")

只有当MAC地址与给定的前缀匹配时才返回元组。前缀可以是任意大小。

parse(data, addr, hostname="blah", mac_prefix="blah")

匹配主机名和mac_prefix。

对于send_discovery()函数,有4种模式。默认模式是“basic_30303”。

send_discovery("basic_30303")

发送“Discovery: Who is out there?”

send_discovery("simple_30303")

发送“D”

send_discovery("wiznet")

发送“FIND”(需要绑定到5001的回复端口)

send_discovery("ecowitt")

发送ecowitt CMD_BROADCAST,需要绑定到59387的回复端口

问题和讨论

像GitHub上的任何项目一样,如果您发现任何错误或改进空间(肯定有很多),请提出问题,或者如果您想讨论或交谈(新功能!!),请开启讨论 :-)

版本

v0.3.0

变更日志

v0.3.0 (2021-11-27)

v0.2.0 (2021-11-14)

  • 添加run_d30303_discovery类以简化使用

v0.1.5 (2021-11-14)

v0.1.4 (2021-11-14)

v0.1.3 (2021-11-14)

  • 首次发布在PyPI。

v0.1.2 (2021-11-13)

v0.1.1 (2021-11-13)

v0.1.0 (2021-11-13)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

py30303_disc-0.3.0.tar.gz (16.9 kB 查看哈希值)

源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面