目标
序号 | 内容 | 状态 |
---|---|---|
1. | 了解当前温湿度,提前准备是否使用空调暖气 | CHECK |
2. | 床头灯的远程控制,via手机、遥控器联动 | CHECK |
3. | ios 安卓 电脑多平台通用,同时hb ha | CHECK |
4. | lg g pad旧物利用,作为控制终端使用 | CHECK |
5. | 室内机apk 部署于lg g pad上 | CHECK |
6. | 树莓派作为主控隐藏化 | CHECK |
7. | 改造家庭局域网络,分析mesh网络与电力猫差别 | CHECK |
8. | 修复电力猫dns错误 | CHECK //Newifi问题 |
9. | 路由器多功能 | CHECK |
10. | 目前的灯光控制优化,增加射频遥控器控制已有射频开关 需购博联rm pro | POSTPONED |
现状
已有树莓派,安装stretch后docker下安装hassio+homebridge插件
智能装备有
米家:
- 网关二代 * 1
- 温湿度传感器 * 2
- 开关 //20180325购入
- zigbee版插座 //20180325购入
yeelight:
- 床头灯蓝牙版
射频遥控开关:
- 单火线版 * 2 (不同品牌)
射频电源插座:
- 单品牌 * 2 (遥控器不灵,需要配对,//已修复、原因为电池导片生锈导致接触不良,铲掉即可,但其中一个插座配对无效)
控制终端:
- intel nuc 6i5syh
- lg g pad v500 android
- iphone7、 iphone6p、ipad mini4
- maybe galaxy s7 and iphone7p
输入输出设备:
- 罗技k380、thinkpad蓝牙鼠标、magic mouse2、magic keyboard(g6)、罗技mk270
- dell u2415h 23.8寸显示器
- sharp 47寸电视
- 网络架构
- 主路由器: 电信光猫、 Tenda千兆电力猫(pw3)
- 从路由器:Tenda千兆电力猫(pa3)*2
-- 设备均下挂于Tenda下 - 外网访问: TeamViewer(nuc, raspberry pi3b, yoga book, iPad mini 4) 、Ngrok内网穿透(natapp)用于DiskStation( File, Video, Audio)、Nat123(备用访问) 、FRP、域名
- 内网访问: ds-nuc( DiskStation), Desktop-nuc( NUC)
规划
计划
1. 总体计划
2. 待购清单
设备 | 参考价格 |
---|---|
broadlink rm pro | 140 |
米家空调伴侣升级版 | 199 |
客厅柜式空调 3p | ??? |
mesh路由器 | 1000以内 |
墙内火线开关 | 68一个 |
3. 下一步目标
树莓派备份 DONE!
树莓派wifi固定ip DONE!
树莓派yeelightbt整合入HA PARTIALLY DONE! yeelightbt整合入PYTHON,且可被HA识别。运行出错。
Homebridge插件yeelight 链接床头灯 DONE!
开关控制温奶器电源 DONE!
备案 done!20180404
FRP双开 done!
续费cvm done! //2019-04-04 10:02 到期
HA、HB重复识别问题配置解决 DONE!
验证开关HB可用 DONE!
修正rsync文件较大问题 目前可用,4g仅多80mb。可能是docker问题 DONE!
开搞平板电脑,刷机。弄台能刷机的电脑Done x81s
部署lg驱动,备份win7 DONE!
研究降级及root done!
刷第三方rom,选择aosp还是第三方 lineageOS 7.1.2 done!
尝试安装室内机 done!
研究室内机是否可用
nuc远程开机 done!
HA接入yeelightbt,使用custom_components,自己开发
学习nodejs编程方法,本地编译及调试yeelight_ble
3.2 操作记录
20180327
购买腾讯cvm7天试用
购买1年域名
小米插座zigbee版、小米无线开关到货并连接上网关。触发可用。距离网关较远(卧室-客厅)//20180329, 改为卧室-小房间,经两日验证,关门后信号无法识别。需要稳定性还是放在一个房间或者仅隔一面墙。
新增设备对HA识别需要重启HA服务,HB可自动识别
新购入的micro hdmi、thinkpad 蓝牙鼠标、罗技k380已经部署在yogabook上。蓝牙鼠标有较明显延迟 //经x220 mac os验证为yogabook问题。//20180329 经yogabook驱动自动加载后修复该问题。
部署frp 成功映射部分端口,提供服务有dsm、rdp、photo、ssh
参考:十分钟配置frp
简要步骤:
- 登陆64位linux服务器ssh
- 获取frp,最新版本
参考语句
wget https://github.com/fatedier/frp/releases/download/v0.16.1/frp_0.16.1_linux_amd64.tar.gz
- 解压
tar -zxvf frp_0.16.1_linux_amd64.tar.gz
- 进入解压目录
cd frp_0.16.1_linux_amd64
- 配置服务端(公网服务器)
[common]
bind_port = xxxx #与客户端绑定的进行通信的端口
vhost_http_port = xxxx #访问客户端web服务自定义的端口号
- 后台启动
nohup ./frps -c ./frps.ini &
- 配置客户端(略)
- 在客户端启动
frpc -c ./frpc.ini
20180327
- frp双开、cvm1年
- 备份rpi,挂载ftp,策略:
- 本地img镜像
- 备份完成后复制到ftp目录中(nas上)
20180329
- 备份脚本验证后得出结论:所需空间比df -P大得多。(实际恢复出来没那么多)
- 正在尝试恢复。恢复成功! 实际占用空间比原计划多一些
- 验证脚本成功,修订脚本完成!脚本地址:rpi-bk.sh
先执行sudo apt-get -y install rsync dosfstools parted kpartx exfat-fuse
使用前确定挂载路径(U盘、移动硬盘、本地)、再重启后运行脚本
经验:
- 使用curlftpfs无法加载ftp 上img文件,不能加载为读写,仅只读
- 备份实际空间变化出入较大,比率由1.2->1.5
20180330
- 树莓派上设置静态ip成功(备用镜像,待运行镜像设置),设置方法:
- 右键无线图标选择wireless and wired network settings
- 设置ssid以及wlan0的固定ip,其他留空。勾选Automatically configure empty options
- 重启树莓派
注: 实际修改的文件为/etc/dhcpcd.conf , 末尾增加了如下内容
interface wlan0
inform 192.168.x.xx
SSID xxxx
inform 192.168.x.xx
- HA、HB重复识别问题配置解决
- 使用HB的话,在HA的customize.yaml中将状态中的设备id的homebridge_hidden设为true:
group.all_switches:
homebridge_hidden: true
- 使用HA的话, 在HB的config.json 中"MiAqaraPlatform"下的defaultValue进行修改:
"defaultValue": {
#这个序列号在HOMEKIT中可查询到
"xxx": {
"PlugBase_Outlet": {
"disable": true
}
}
验证HB可以控制小米插座,并可模拟出单击、双击(未验证)
小米插座使用HA,在HB中识别为开关,改为插座的方法:
switch.plug_xxx:
homebridge_switch_type: outlet
20180402
- yeelight床头灯接入ha尝试(python-yeelightbt)。目前支持HA的yeelight插件仅发现 python-yeelightbt。测试后命令行可用。docker下不知道该如何安装,目前在pyhton虚拟环境成功安装。步骤如下:
- 基于mossbian 0.3.1安装
- 修改homeassistant密码及添加sudoers权限
sudo su
visudo
homeassistant ALL=(ALL:ALL) ALL
保存退出
passwd homeassistant
exit
- 进入虚拟环境
sudo su -s /bin/bash homeassistant
cd /srv/homeassistant
source bin/activate
- 安装yeelightbt
sudo apt-get install python-pip libglib2.0-dev git build-essential
sudo pip3 install construct==2.9.25
pip3 install --no-binary :all: bluepy
cd ~
git clone https://github.com/rytilahti/python-yeelightbt
cd python-yeelightbt
python3 setup.py build
sudo python3 setup.py install
cd /usr/local/lib/python3.5/dist-packages/
寻找bluepy目录,在目录下有bluepy-helper
sudo setcap cap_net_admin,cap_net_raw+eip bluepy-helper
- 测试是否安装正常
yeelightbt scan
或者sudo yeelightbt scan
以上步骤可以获取mac地址
- 将yeelightbt添加入HA
sudo mkdir -p /home/homeassistant/.homeassistant/custom_components/light
sudo cp ~/python-yeelightbt/custom_components/light/yeelight_bt.py /home/homeassistant/.homeassistant/custom_components/light
- 设置HA下的configuration.yaml
light:
- platform: yeelight_bt
devices:
Bedside:
mac: 'f8:24:41:xx:xx:xx'
20180403
- 安装nodejs 使用国内源
- 更换apt-get源
sudo leafpad /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
sudo leafpad /etc/apt/sources.list.d/raspi.list
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
- 添加nodesource配置
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
- 替换源
sudo leafpad /etc/apt/sources.list.d/nodesource.list
将https://deb.nodesource.com/node/
替换为https://mirrors.tuna.tsinghua.edu.cn/nodesource/deb_9.x/
sudo apt-get update
- 安装nodejs
sudo apt-get install -y nodejs
- 替换npm源
npm config set registry https://registry.npm.taobao.org
- mossbian 下使用hassbian-config安装homebridge
sudo hassbian-config install homebridge
20180404
- 挂载ntfs
- 安装ntgs-3g
sudo apt-get install ntfs-3g
- 查看移动硬盘
sudo fdisk -l
- 创建挂载点
sudo mkdir -p /mnt/ntfs
- 挂载硬盘
sudo mount -t ntfs-3g /dev/sda1 /mnt/ntfs
- 查看系统版本
lsb_release -a
hassbian-config安装的homebridge相关配置
Running as: homebridge
Configuration dir: /home/homebridge/.homebridge/
Start service:sudo systemctl start homebridge.service
Stop service:sudo systemctl stop homebridge.service
Restart service:
sudo systemctl restart homebridge.service
- You have to do this when changing configuration.
Service status:sudo systemctl status homebridge.service
View Log: sudo journalctl -f -u homebridge
20180404
- Yeelight床头灯成功接入HB,步骤:
- 切换至homebridgey用户并加入sudoer
- 安装环境
sudo apt-get install libbluetooth-dev libudev-dev
Go to your node_modules folder
(You can find it by using by npm -g root)
sudo npm install -g --unsafe-perm noble
会出现err,可无视optional dependence,usb等
sudo apt-get install libcap2-bin
Run following command:
sudo setcap cap_net_raw+eip $(eval readlink -f
which node)
Run following command:
sudo hciconfig hci0 up
sudo hciconfig hci0 reset
- 安装 homebridge-re-yeelight-ble
sudo npm install -g homebridge-re-yeelight-ble
- 配置config.json
"platforms": [
{
"platform": "ReYeelightBLEPlatform",
"defaultValue": {
"f8:24:41:e9:xx:xx": "Bedside Lamp"
}
}
]
- 重启Homeassistant
sudo systemctl restart home-assistant@homeassistant.service
20180409
- 完成部署刷机电脑,win7环境。临时解决接口问题
- 报废a7jr
20180410
- 将frp部署至树莓派,自启动方法树莓派程序开机自启动方法总结,摘录:
使用systemctl设置服务
在/usr/lib/systemd/system/ 下新建文件frp.service
sudo nano /usr/lib/systemd/system/frp.service
如果目录system不存在,请自行创建:
sudo mkdir /usr/lib/systemd/system/
frp.service文件内容如下:
[Unit] Description=frp After=network.target [Service] Type=simple ExecStart=/home/pi/frp/frpc -c /home/pi/frp/frpc.ini Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
这里直接指定启动文件的路径,无法指定到pi用户执行,所以只能在root用户下执行。
- 设置服务自启动:
sudo systemctl enable frp.service
- 查询状态:
sudo systemctl start frp.service
- root lg g pad 8.3 刷入recovery和android 7.1.2
具体参见lg g pad文档 - 室内机apk安装至lg g pad等待测试
20180411
- nuc成功远程开机
需将win10的快速启动关闭,关闭方法:设置 -> 系统 -> 电源和睡眠 -> 其他电源设置 -> 选择电源按钮的功能 -> 更改当前不可用设置 -> 取消“启用快速启动”
20180412
x81s休眠情况下远程唤醒成功
方法:在网络适配器中配置以太网卡->电源管理->取消 允许计算机关闭此设备以节约电源、 勾选 允许此设备唤醒计算机、勾选 允许幻数据包唤醒计算机
高级中 唤醒数据包 启用增加外网唤醒页面,可远程唤醒网段内所有设备
20180416
- mesh网络观点:没有ac+ap好。现有状态下可以分步实施。准备部署aimesh。已购入r6300v2,支持刷机成aimesh
下一步准备根据5g情况分析是否合适aimesh
20180501
- 手动更新HOMEASSISTANT
sudo systemctl stop home-assistant@homeassistant.service
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
exit
sudo systemctl start home-assistant@homeassistant.service
查看日志:sudo journalctl -u home-assistant@homeassistant.service -f
重启:sudo systemctl restart home-assistant@homeassistant.service
- 设备追踪
- asus-merlin只开了telnet。所以protocol填telnet,登录成功。参考device_tracker
- 更新时间>3分钟