python-miio
python-miio
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
Python library & console tool for controlling Xiaomi smart appliances
python-miio 是一个开源的 Python 库,旨在通过 miIO 和 MIoT 协议控制小米(及生态链)旗下的智能设备。该项目由社区志愿者维护,与小米公司无直接关联,但已成为控制小米智能家居设备最流行的第三方工具之一。
标签
项目特点
**双协议支持**:同时兼容旧版 miIO 协议和现代 MIoT 协议,覆盖广泛的小米设备。
**通用 MIoT 集成**:通过 `genericmiot` 模块自动适配所有 MIoT 设备,无需为每款设备单独编写代码。
**命令行工具**:提供 `miiocli` 命令行工具,支持设备发现、状态查询、参数设置和动作调用。
**云 Token 获取**:内置 `miiocli cloud` 命令,可从小米云账户自动获取设备 IP 和 Token。
**设备模拟器**:内置 miIO 和 MIoT 协议模拟器,方便开发者调试和测试。
**Python API**:提供简洁的 Python 接口,支持 `DeviceFactory` 自动识别设备型号并实例化对应的控制类。
**活跃的社区支持**:拥有 Matrix 聊天室和 GitHub Issues/Discussions,持续维护和更新。
技术规格
| 编程语言 | |
|---|---|
| 协议支持 | |
| 安装方式 | |
| 依赖库 | |
| 文档地址 | |
| 许可证 | |
| 主要维护者 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Python 3 | 1 | — | 运行环境 |
| python-miio 库 | 1 | — | pip 安装 |
| 小米智能设备 | 1 | — | 任意支持的设备 |
| 局域网连接 | 1 | — | 设备与电脑在同一网络 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| Python 3 | 运行库和 CLI 工具 | ✅ 是 |
| pip | 安装 python-miio | ✅ 是 |
| 文本编辑器/IDE | 编写脚本或修改代码 | ▢ 推荐 |
| 小米云账户 | 通过云获取设备 Token | ▢ 推荐 |
能力画像
记忆与知识检索
1/5
逻辑推演
2/5
表达与交流
1/5
感知与观察
1/5
数理与计算
2/5
动手与操作
2/5
狂热与坚持
1/5
创造与创新
2/5
所需技能
🔧 **动手能力**:需要能够将电脑与智能设备连接到同一局域网,并获取设备 IP 和 Token(可通过云账户自动获取)。
💻 **编程能力**:需要基础的 Python 编程知识,能够使用 pip 安装库、运行命令行工具,以及编写简单的 Python 脚本调用 API。
⚡ **电子电路**:不需要硬件电路知识。
适用场景
智能家居自动化:通过脚本或 Home Assistant 集成,实现设备定时开关、联动控制等。
设备调试与测试:使用 CLI 工具快速查询设备状态、测试新功能或排查问题。
开发第三方应用:基于 python-miio 的 API 构建自己的智能家居控制面板或移动应用。
协议研究与学习:学习 miIO/MIoT 协议的实现方式,或为未支持的设备贡献代码。