UDP 30303 网络发现库。
项目描述
摘要
一个用于执行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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23c627a23604d494f96a5015be27550c0014b4a9138fb1f5a516b2b38b5977b4 |
|
MD5 | ec52eb4d07de272b0166e9524d62a7e1 |
|
BLAKE2b-256 | 6a6d82b7319f5caacf2b03874cb326d741e04ec0067ae24a3a1f178171fb2236 |