python-miio python-miio

⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
rytilahti 2388 Stars 未知 BOM 完整度: /5 教程完整度: /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 协议的实现方式,或为未支持的设备贡献代码。