目標
序號 | 內容 | 狀態 |
---|---|---|
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分鐘