1. 前提
- 在配置米家设备环境之前我们先分析一下目前市面上能打通小米设备的API 或者开源软件。分别需要做哪些工作。
- 通过
python-miio
库实现对米家设备的控制- 先例1:https://sspai.com/post/68306
- 先例2:https://www.5axxw.com/wiki/content/ns4pf4
-
- 在Android 5.0手机或者设备上安装配置
Termux
- 在Android 5.0手机或者设备上安装配置
-
- 在Termux环境里安装
ssh
,方便电脑连接操作
- 在Termux环境里安装
-
- 在Termux环境里安装
Alpine Linux
(Android 7.0 以上的Termux应该满足安装最新版cryptography库)
- 在Termux环境里安装
-
- 安装Python3环境以及安装最新版
python-miio
库
- 安装Python3环境以及安装最新版
- Home assistent
- 自行通过爬虫方式实实现对米家设备的控制
2. 实现
2.1 安装配置Termux
参考安装配置:https://blog.csdn.net/xiaokai1999/article/details/128862942
2.2 在Termux中安装ssh
参考安装配置:https://blog.csdn.net/xiaokai1999/article/details/128863003
2.3 在Termux中安装Alpine Linux
参考安装:https://blog.csdn.net/xiaokai1999/article/details/129143661
2.4 在Alpine Linux中配置环境
- 安装依赖
$ apk add python3 rust git clang py3-pip cargo
$ apk add libffi-dev libressl-dev python3-dev gcc
- 配置系统参数
安装cryptography==35.0.0时会出现 error: failed to get
asn1 as a dependency of package...
错误
github issue:https://github.com/spack/spack/issues/29669
解决方案:https://community.home-assistant.io/t/error-failed-building-wheel-for-cryptography/352020/14
export CRYPTOGRAPHY_DONT_BUILD_RUST=1
export CARGO_NET_GIT_FETCH_WITH_CLI=true
- 安装 python-miio0.5.12 最新包支持的cryptography35.0.0
由于当前的Alpine版本支持Rust1.44.0,所以安装cryptography==35.0.0
$ pip3 install cryptography==35.0.0
- 安装 python-miio
$ pip3 install python-miio
- 测试 python-miio
$ miiocli --help
返回帮助信息的话,说明已经安装完成了。