智能家庭改造計劃

目標(biāo)

序號 內(nèi)容 狀態(tài)
1. 了解當(dāng)前溫濕度,提前準(zhǔn)備是否使用空調(diào)暖氣 CHECK
2. 床頭燈的遠(yuǎn)程控制,via手機、遙控器聯(lián)動 CHECK
3. ios 安卓 電腦多平臺通用,同時hb ha CHECK
4. lg g pad舊物利用,作為控制終端使用 CHECK
5. 室內(nèi)機apk 部署于lg g pad上 CHECK
6. 樹莓派作為主控隱藏化 CHECK
7. 改造家庭局域網(wǎng)絡(luò),分析mesh網(wǎng)絡(luò)與電力貓差別 CHECK
8. 修復(fù)電力貓dns錯誤 CHECK //Newifi問題
9. 路由器多功能 CHECK
10. 目前的燈光控制優(yōu)化,增加射頻遙控器控制已有射頻開關(guān) 需購博聯(lián)rm pro POSTPONED

現(xiàn)狀

  1. 已有樹莓派,安裝stretch后docker下安裝hassio+homebridge插件

  2. 智能裝備有

米家:

  • 網(wǎng)關(guān)二代 * 1
  • 溫濕度傳感器 * 2
  • 開關(guān) //20180325購入
  • zigbee版插座 //20180325購入

yeelight:

  • 床頭燈藍(lán)牙版

射頻遙控開關(guān):

  • 單火線版 * 2 (不同品牌)

射頻電源插座:

  • 單品牌 * 2 (遙控器不靈,需要配對,//已修復(fù)、原因為電池導(dǎo)片生銹導(dǎo)致接觸不良,鏟掉即可,但其中一個插座配對無效)

控制終端:

  • intel nuc 6i5syh
  • lg g pad v500 android
  • iphone7、 iphone6p、ipad mini4
  • maybe galaxy s7 and iphone7p

輸入輸出設(shè)備:

  • 羅技k380、thinkpad藍(lán)牙鼠標(biāo)、magic mouse2、magic keyboard(g6)、羅技mk270
  • dell u2415h 23.8寸顯示器
  • sharp 47寸電視
  1. 網(wǎng)絡(luò)架構(gòu)
  • 主路由器: 電信光貓、 Tenda千兆電力貓(pw3)
  • 從路由器:Tenda千兆電力貓(pa3)*2
    -- 設(shè)備均下掛于Tenda下
  • 外網(wǎng)訪問: TeamViewer(nuc, raspberry pi3b, yoga book, iPad mini 4) 、Ngrok內(nèi)網(wǎng)穿透(natapp)用于DiskStation( File, Video, Audio)、Nat123(備用訪問) 、FRP、域名
  • 內(nèi)網(wǎng)訪問: ds-nuc( DiskStation), Desktop-nuc( NUC)

規(guī)劃

計劃

1. 總體計劃

2. 待購清單

設(shè)備 參考價格
broadlink rm pro 140
米家空調(diào)伴侶升級版 199
客廳柜式空調(diào) 3p ???
mesh路由器 1000以內(nèi)
墻內(nèi)火線開關(guān) 68一個

3. 下一步目標(biāo)

  1. 樹莓派備份 DONE!

  2. 樹莓派wifi固定ip DONE!

  3. 樹莓派yeelightbt整合入HA PARTIALLY DONE! yeelightbt整合入PYTHON,且可被HA識別。運行出錯。

  4. Homebridge插件yeelight 鏈接床頭燈 DONE!

  5. 開關(guān)控制溫奶器電源 DONE!

  6. 備案 done!20180404

  7. FRP雙開 done!

  8. 續(xù)費cvm done! //2019-04-04 10:02 到期

  9. HA、HB重復(fù)識別問題配置解決 DONE!

  10. 驗證開關(guān)HB可用 DONE!

  11. 修正rsync文件較大問題 目前可用,4g僅多80mb??赡苁莇ocker問題 DONE!

  12. 開搞平板電腦,刷機。弄臺能刷機的電腦Done x81s

  13. 部署lg驅(qū)動,備份win7 DONE!

  14. 研究降級及root done!

  15. 刷第三方rom,選擇aosp還是第三方 lineageOS 7.1.2 done!

  16. 嘗試安裝室內(nèi)機 done!

  17. 研究室內(nèi)機是否可用

  18. nuc遠(yuǎn)程開機 done!

  19. HA接入yeelightbt,使用custom_components,自己開發(fā)

  20. 學(xué)習(xí)nodejs編程方法,本地編譯及調(diào)試yeelight_ble

3.2 操作記錄

20180327

  • 購買騰訊cvm7天試用

  • 購買1年域名

  • 小米插座zigbee版、小米無線開關(guān)到貨并連接上網(wǎng)關(guān)。觸發(fā)可用。距離網(wǎng)關(guān)較遠(yuǎn)(臥室-客廳)//20180329, 改為臥室-小房間,經(jīng)兩日驗證,關(guān)門后信號無法識別。需要穩(wěn)定性還是放在一個房間或者僅隔一面墻。

  • 新增設(shè)備對HA識別需要重啟HA服務(wù),HB可自動識別

  • 新購入的micro hdmi、thinkpad 藍(lán)牙鼠標(biāo)、羅技k380已經(jīng)部署在yogabook上。藍(lán)牙鼠標(biāo)有較明顯延遲 //經(jīng)x220 mac os驗證為yogabook問題。//20180329 經(jīng)yogabook驅(qū)動自動加載后修復(fù)該問題。

  • 部署frp 成功映射部分端口,提供服務(wù)有dsm、rdp、photo、ssh

參考:十分鐘配置frp
簡要步驟:

  1. 登陸64位linux服務(wù)器ssh
  2. 獲取frp,最新版本
    參考語句

wget https://github.com/fatedier/frp/releases/download/v0.16.1/frp_0.16.1_linux_amd64.tar.gz

  1. 解壓

tar -zxvf frp_0.16.1_linux_amd64.tar.gz

  1. 進(jìn)入解壓目錄cd frp_0.16.1_linux_amd64
  2. 配置服務(wù)端(公網(wǎng)服務(wù)器)

[common]
bind_port = xxxx #與客戶端綁定的進(jìn)行通信的端口
vhost_http_port = xxxx #訪問客戶端web服務(wù)自定義的端口號

  1. 后臺啟動

nohup ./frps -c ./frps.ini &

  1. 配置客戶端(略)
  2. 在客戶端啟動frpc -c ./frpc.ini

20180327

  1. frp雙開、cvm1年
  2. 備份rpi,掛載ftp,策略:
  • 本地img鏡像
  • 備份完成后復(fù)制到ftp目錄中(nas上)

20180329

  1. 備份腳本驗證后得出結(jié)論:所需空間比df -P大得多。(實際恢復(fù)出來沒那么多)
  2. 正在嘗試恢復(fù)?;謴?fù)成功! 實際占用空間比原計劃多一些
  3. 驗證腳本成功,修訂腳本完成!腳本地址:rpi-bk.sh
    先執(zhí)行sudo apt-get -y install rsync dosfstools parted kpartx exfat-fuse
    使用前確定掛載路徑(U盤、移動硬盤、本地)、再重啟后運行腳本

經(jīng)驗:

  • 使用curlftpfs無法加載ftp 上img文件,不能加載為讀寫,僅只讀
  • 備份實際空間變化出入較大,比率由1.2->1.5

20180330

  1. 樹莓派上設(shè)置靜態(tài)ip成功(備用鏡像,待運行鏡像設(shè)置),設(shè)置方法:
  • 右鍵無線圖標(biāo)選擇wireless and wired network settings
  • 設(shè)置ssid以及wlan0的固定ip,其他留空。勾選Automatically configure empty options
  • 重啟樹莓派
    注: 實際修改的文件為/etc/dhcpcd.conf , 末尾增加了如下內(nèi)容

interface wlan0
inform 192.168.x.xx
SSID xxxx
inform 192.168.x.xx

  1. HA、HB重復(fù)識別問題配置解決
  • 使用HB的話,在HA的customize.yaml中將狀態(tài)中的設(shè)備id的homebridge_hidden設(shè)為true:

group.all_switches:
??homebridge_hidden: true

  • 使用HA的話, 在HB的config.json 中"MiAqaraPlatform"下的defaultValue進(jìn)行修改:

"defaultValue": {
#這個序列號在HOMEKIT中可查詢到
??"xxx": {
???? "PlugBase_Outlet": {
?????? "disable": true
???? }
?? }

  1. 驗證HB可以控制小米插座,并可模擬出單擊、雙擊(未驗證)

  2. 小米插座使用HA,在HB中識別為開關(guān),改為插座的方法:

switch.plug_xxx:
??homebridge_switch_type: outlet

20180402

  1. yeelight床頭燈接入ha嘗試(python-yeelightbt)。目前支持HA的yeelight插件僅發(fā)現(xiàn) python-yeelightbt。測試后命令行可用。docker下不知道該如何安裝,目前在pyhton虛擬環(huán)境成功安裝。步驟如下:
  • 基于mossbian 0.3.1安裝
  • 修改homeassistant密碼及添加sudoers權(quán)限

sudo su
visudo
homeassistant ALL=(ALL:ALL) ALL
保存退出
passwd homeassistant
exit

  • 進(jìn)入虛擬環(huán)境

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
  • 設(shè)置HA下的configuration.yaml

light:
??- platform: yeelight_bt
????devices:
??????Bedside:
????????mac: 'f8:24:41:xx:xx:xx'

20180403

  • 安裝nodejs 使用國內(nèi)源
  • 更換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

  • 創(chuàng)建掛載點

sudo mkdir -p /mnt/ntfs

  • 掛載硬盤

sudo mount -t ntfs-3g /dev/sda1 /mnt/ntfs

  • 查看系統(tǒng)版本

lsb_release -a

hassbian-config安裝的homebridge相關(guān)配置

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
  • 安裝環(huán)境

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
會出現(xiàn)err,可無視optional dependence,usb等
sudo apt-get install libcap2-bin
Run following command:
sudo setcap cap_net_raw+eip $(eval readlink -fwhich 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環(huán)境。臨時解決接口問題
  • 報廢a7jr

20180410

使用systemctl設(shè)置服務(wù)
在/usr/lib/systemd/system/ 下新建文件frp.service

sudo nano /usr/lib/systemd/system/frp.service

如果目錄system不存在,請自行創(chuàng)建:

sudo mkdir /usr/lib/systemd/system/

frp.service文件內(nèi)容如下:

[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用戶執(zhí)行,所以只能在root用戶下執(zhí)行。

  • 設(shè)置服務(wù)自啟動:

sudo systemctl enable frp.service

  • 查詢狀態(tài):

sudo systemctl start frp.service

  • root lg g pad 8.3 刷入recovery和android 7.1.2
    具體參見lg g pad文檔
  • 室內(nèi)機apk安裝至lg g pad等待測試

20180411

  • nuc成功遠(yuǎn)程開機
    需將win10的快速啟動關(guān)閉,關(guān)閉方法:設(shè)置 -> 系統(tǒng) -> 電源和睡眠 -> 其他電源設(shè)置 -> 選擇電源按鈕的功能 -> 更改當(dāng)前不可用設(shè)置 -> 取消“啟用快速啟動”

20180412

  • x81s休眠情況下遠(yuǎn)程喚醒成功
    方法:在網(wǎng)絡(luò)適配器中配置以太網(wǎng)卡->電源管理->取消 允許計算機關(guān)閉此設(shè)備以節(jié)約電源、 勾選 允許此設(shè)備喚醒計算機、勾選 允許幻數(shù)據(jù)包喚醒計算機
    高級中 喚醒數(shù)據(jù)包 啟用

  • 增加外網(wǎng)喚醒頁面,可遠(yuǎn)程喚醒網(wǎng)段內(nèi)所有設(shè)備

20180416

  • mesh網(wǎng)絡(luò)觀點:沒有ac+ap好。現(xiàn)有狀態(tài)下可以分步實施。準(zhǔn)備部署aimesh。已購入r6300v2,支持刷機成aimesh
    下一步準(zhǔn)備根據(jù)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

  • 設(shè)備追蹤
  1. asus-merlin只開了telnet。所以protocol填telnet,登錄成功。參考device_tracker
  2. 更新時間>3分鐘
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容