python-miio项目入门指南:设备发现与令牌获取

python-miio项目入门指南:设备发现与令牌获取

项目简介

python-miio是一个用于与小米智能设备通信的Python库,它提供了与各类小米IoT设备交互的能力。本文将重点介绍如何安装该库以及如何发现网络中的小米设备并获取通信所需的令牌。

安装方法

通过pip安装

最简单的方式是使用pip安装最新发布版本:

pip install python-miio

使用poetry安装开发版本

对于希望使用最新开发版本的用户,可以使用poetry工具进行安装:

git clone 项目仓库地址
cd python-miio/
poetry install

安装完成后,可以通过以下方式运行工具:

poetry run miiocli --help

小技巧:如果需要连续执行多个命令,可以激活虚拟环境避免重复输入poetry run

poetry shell
miiocli --help
miiocli discover

设备发现机制

python-miio提供了强大的设备发现功能,可以自动检测同一网络中的小米智能设备。

发现命令

执行以下命令启动设备发现:

miiocli discover

该命令会同时使用两种发现机制:

  1. 握手发现:适用于所有MiIO设备,可能暴露设备通信所需的令牌
  2. mDNS发现:可返回设备类型信息,但不适用于所有设备

发现结果解读

发现结果中最重要的两个信息是:

  • 设备IP地址
  • 设备通信令牌

令牌有效性判断:如果返回的令牌不是全0或全f,则很可能是有效令牌。

令牌获取方法

与小米设备通信必须获取设备特定的加密令牌,以下是几种获取方式:

通过云服务获取

安装micloud包后,可以使用以下命令从云端获取令牌:

miiocli cloud list

执行后会提示输入:

  1. 小米账号用户名
  2. 密码
  3. 服务器地区(可选:all, cn, de, i2, ru, sg, us)

编程方式获取

开发者也可以通过miio.cloud.CloudInterface类以编程方式获取令牌。

环境变量配置

为简化命令行工具的使用,可以设置以下环境变量(以mirobo为例):

export MIROBO_IP=192.168.1.2
export MIROBO_TOKEN=476e6b70343055483230644c53707a12

其他工具的环境变量名称请参考相应工具的文档。

注意事项

  1. 设备发现需要在与设备相同的网络中进行
  2. 令牌是设备通信的关键凭证,请妥善保管
  3. 不同型号设备可能有不同的发现行为

通过本文介绍的方法,用户可以轻松开始使用python-miio库与小米智能设备进行交互。对于更高级的使用方法,建议参考项目的详细文档。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

严微海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值