捡垃圾 篇一:小娱C5 安装 home assistant 实现 homekit 控
0、前言
最近迷上了逛什么值得买,迷上了捡垃圾,先后买了矿渣猫盘,新3无线路由器,这几天又买了个小娱C5 路由器,还想买个斐讯的DC1 插排,在捡垃圾的道路上越走越远。。。
首富家95包邮,现在买这个价格已经有点不太值得了,但是我就是想折腾下,玩玩看吧。外观成色还可以,几乎全新,保修的易碎贴都还在,应该没有拆过
首先体验了高恪的固件,这个固件做的真的不错,web界面清新好看,功能也比较稳定没有很多花里胡哨的东西,我300m的联通宽带双播上传可以有翻倍的加成!!!
高恪的官方固件地址(我就用的最新版本的,不折腾的可以刷上安心的用):
用新三的底包和版本就行,本身这个路由器的硬件和新三十比较接近的。
http://www.gocloud.cn/bbs/forum.php?mod=viewthread&tid=17147&extra=page%3D1
然而逛张大妈的时候知道了home assitstant这个东西,一直想试试,但是没有7*24小时的设备,所以就想安装在这个路由器上面。
但是这个固件官方是不支持usb 和硬盘的(我强烈希望高恪官方能放开usb功能啊!!!),小娱本身自带的存储空间是装不下home assistant的,太可惜了,所以没办法只能换其他的固件了。
1、安装padavan 固件
我这里用的固件是: padavan(我用的最新版本的)
https://opt.cn2qq.com/padavan/
在最后面下载这个XY-C1的就可以了 ,下载之后通过bread 直接刷入就好了。默认的管理地址是 192.168.123.1
用户名 admin 密码 admin
成功进入之后首先开启ssh 功能,还要配置一下网络,路由器要能上网才行,因为后面安装的各种插件都是联网自动下载的。
2、挂载U盘扩展存储
用putyy 或者 secureCRT登录到设备:
注意这里我已经插入了一个8G的U盘,u盘我有两个分区。第一个是sda1,这个是安装windows系统之前用的没有删除,第二个分区是 ext4格式的5.5G总共。给这个U盘做分区的时候一定要搞大点,我第一次给弄了1G,结果装到最后提示没有空间了,差点摔键盘,本来在线安装就慢的要死,没办法重新弄了一遍又,蓝瘦香菇。。。
用U盘的目的就是用来扩展本身系统的存储空间的,下面的命令配置大概就是这个意思:
(参考帖子:https://aisoa.cn/post-2814.html
https://ghostcir.com/s/216.html
https://post.smzdm.com/p/aek8lp7q/)
mkdir /mnt/opt
mount /dev/sda2 /mnt/opt/ #我的这个是sda2 ,这个根据你自己的u 盘的分区情况换成自己的。
mount -o bind /mnt/opt/ /opt/
3、安装 entware:
wget -O - http://bin.entware.net/mipselsf-k3.4/installer/generic.sh | /bin/sh
更新软件包列表并安装一些依赖库:
opkg update
opkg install python3 python3-pip gcc pkg-config libopenssl libffi python3-pyopenssl python3-openssl make gcc busybox ldd make gawk sed libffi python-dev python3-dev
python3 -m pip install --upgrade pip setuptools
4、安装homeassistant :
安装的时候一直报各种错,找了半天搜到个帖子解决了:
就是下面的头文件搞过来:
cd /opt
wget -qO- http://pkg.entware.net/binaries/armv7/include/include.tar.gz | tar xvz -C /opt/include
配置ffi,因为home-assistant需要python-miio依赖,编译过程中需要ffi.h和ffitarget.h
wget ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz # 下载包
tar -zxvf libffi-3.2.1.tar.gz
cd libffi-3.2.1
./configure
make #这一步有可能会报错编译失败,可以不用管,我们只要能拿到后面的两个 .h 文件就可以了
cd mipsel-unknown-linux-gnu/include
cp ffi.h /opt/include/
cp ../../src/mips/ffitarget.h /opt/include/
cd /opt/lib
ln -s libffi.so.6 libffi.so
安装 homeassistant:
mkdir /opt/pip_home
HOME=/opt/pip_home pip3 install homeassistant
这一步时间会非常久,应为会从网络上下载很多依赖包,看你得网络环境了,如果有外网环境的话最好全程外网安装!!!
完成之后测试一下:
hass --open-ui
这个过程也是很慢很慢,可以直接扔那去睡一觉,哈哈!!
成功启动之后打开这个地址就可以看到配置页面啦:
因为是第一次折腾这个Home assistant 所以好多东西都不知道是怎么弄的,比如怎么添加一个小米的智能插座。。。。
5、配置关联小米智能插座
下面就是接入小米的智能无线插座了,这个也是费了我半天时间才弄好,主要是获取小米的 device token费了老劲了。。。(下面所用到的工具 链接: https://pan.baidu.com/s/1PQfjJiQcjlvwH1JkiA-qGA 提取码: uee2)
最开始搜到的帖子说安装 npm ,用 npm install -g miio ,miio discover 。
试了一下,这个路由器的固件版本中没找到安装方法,所以放弃了
后面找到个帖子是用这个命令:
wget https://codeload.github.com/rytilahti/python-miio/zip/master
unzip python-miio-master.zip
cd python-miio-master/
python3 setup.py install
mirobo discover --handshake 1
这个命令确实可以发现小米的设备,但是这个token 完全不对的,郁闷!!!
又找了半天这个全是ff 的意思大概是被加密了,所有不能用。
继续搜索方法,找到这么个帖子:
https://github.com/Maxmudjon/com.xiaomi-miio/blob/master/docs/obtain_token.md
手机我本身用的是iPhone X, 查了半天发现 iPhone 的获取方式是不太好弄了,因为新版本的米家app 已经没有帖子中说的那个db 数据库文件了。
所幸我有个老掉牙的htc M9+安卓手机,root了的,那就用这个方法获取吧,我最后通过用安卓手机的旧版本 米家app ,root 安卓手机导出 miio2.db 文件来获取的 token
首先要有个root 的安卓手机(这个用安卓模拟器应该也可以的,我没有试),安装旧版本的米家app, 安装个可以查看root 文件夹的文件管理器,然后用adb 命令将 miio2.db 数据库文件给导出来:
安装之前要先把已经安装的米家app卸载了(下面是用adb 命令安装,也可以导入到手机文件安装)
最后这个命令就是提示安装成功了,然后登陆账户,至少操作一下设备,让其产生数据库文件
按照github 上的帖子这个命令总是执行失败,手机也解锁了,本地的文件总是0 kib ,放弃这个方法。
换另一个方法....(其实也可以找个能在手机上打开sqlit3 数据库文件的软件直接看也行。)
先在手机上用root 文件管理器将 miio2.db 拷贝到一个非root权限可以访问的目录(为啥要这么做,因为我直接拷贝提示没有权限,adb 不能访问root 的文件路径):
原始文件的位置:/data/data/com.xiaomi.smarthome/databases/miio2.db
我手机有个存储卡,我拷贝到了这个目录 :/storage/emulated/0/miio2.db
第一个命令就是提示没有权限,后面我就把文件拷贝到存储卡然后adb取出来的,也可以拔卡插到电脑上。
这个sqlit3 不知道为啥中文显示是乱码,但是不影响,一眼就能看到这个token应该是那个一长串就好了。因为我这边就只有这个一个小米的智能插座,所以就能确定这个就是我千辛万苦找的token 啊!
赶紧去配置一下 Hass的configuration.yaml 配置文件:
cd /opt/home/admin/.homeassistant
vi configuration.yaml
在打开的文件最后添加
switch:
- platform: xiaomi_miio
name: "xiaomi_switch"
host: 192.168.2.226 # 这个地方要换成你自己设备的ip地址
token: c239ae3XXXXXXXXXXXXXXXXXX8c7dc1 # 这个地方要换成你自己设备的token
homekit: #开启 homehit 功能
重启 hass 服务:
hass --open-ui #启动的过程又是很慢很慢
最后 重新打开这个 hass 的服务地址就可以看到刚才配置的小米插座出现了,网页测试可以正常控制:
6、iPhone关联 homekit
手机上面开启 homekit 请参考这个下面教程:
最后测试终于可以用siri 成功控制这个小米的插座啦!!!
另外安装了hass 的路由器看CPU资源用的好像也不是特别多,对路由性能的影响不清楚没有测试。
安装hass 之后的系统负载还想没有什么大的变化,具体没有进行测试过。
一值不懈
校验提示文案
Tenhai丶鱼子
校验提示文案
Dream灬轨迹
校验提示文案
当代秃头青年
校验提示文案
咸鱼酱丶
校验提示文案
值友1535176099
校验提示文案
戴森
校验提示文案
戴森
校验提示文案
值友1535176099
校验提示文案
当代秃头青年
校验提示文案
Dream灬轨迹
校验提示文案
咸鱼酱丶
校验提示文案
Tenhai丶鱼子
校验提示文案
一值不懈
校验提示文案