資料介紹
描述
主意
如果你和我一樣,那么你家里就有一系列商業(yè)和自制智能設(shè)備(以及一些智能設(shè)備)。有些可以通過 IR 控制,有些可以通過 HTTP 或 PHP 控制,有些可以通過 SSH 或 python 控制。
控制這么多設(shè)備,我希望有一個簡單的界面來控制所有設(shè)備,而不用擔(dān)心如何與每個設(shè)備交談。
我的智能家居設(shè)置已經(jīng)包含一個 raspberry pi 3 B,運行 lirc 來控制許多以前愚蠢的設(shè)備,如 AC、投影儀和揚聲器。所以我選擇了這個設(shè)備作為我的集線器,并創(chuàng)建了一個 bash 腳本,它將所有特定的控制協(xié)議隱藏到不同的設(shè)備中。
添加更多設(shè)備后,它發(fā)展成為一個小的 bash 框架,每個模塊都服務(wù)一個協(xié)議。
目標(biāo)
- 多種不同協(xié)議的統(tǒng)一命令行界面
- 可通過附加協(xié)議進(jìn)行擴(kuò)展
- 易于配置
- 易于破解/擴(kuò)展
指示
我編寫的代碼稱為 homeAutomat [“Automat” 德語為“Automaton”]。如果您也想運行此集線器,請按照以下簡單步驟操作:
1.下載代碼
該代碼可在 Github 上訪問。由于它都是作為 bash 腳本實現(xiàn)的,因此不需要安裝 ans。只需將代碼下載或克隆到您用作集線器的設(shè)備上。
cd ~
git clone
某些插件所需的其他庫列在github -page 上。
2.啟用連接檢查
對于 IP 查找和自動連接到 SSH 設(shè)備,需要定期執(zhí)行腳本 connectioncheck.sh。實現(xiàn)這一點的最簡單方法是將其添加到每分鐘執(zhí)行一次的 crontab。
crontab -e
選擇一個編輯器,然后在文件末尾添加以下行:
* * * * * ~/homeAutomat/connectionCheck.sh
3.配置
配置存儲在文件ha.conf 中(未檢入 git 存儲庫)。示例文件以 ha.conf.example 的形式提供。對于要通過集線器控制的每個設(shè)備,您需要將名稱添加到列表中devices
,并且需要deviceList
在此文件中添加一個配置塊。
首先ha.conf包含一些常規(guī)設(shè)置:
- ha_user:homeAutomat 應(yīng)該執(zhí)行命令的本地用戶的名稱(例如 pi)
- primary_iface:網(wǎng)絡(luò)接口的名稱,應(yīng)該聯(lián)系網(wǎng)絡(luò)設(shè)備(例如eth0)
配置的主要部分是設(shè)備的配置。主要設(shè)置如下:
- type:處理該設(shè)備的協(xié)議。
- ips:此設(shè)備的 IP 地址,除以 |
- macs:此設(shè)備的 MAC 地址,以 | 分隔。MAC 用于 WakeOnLan 并反向查找 ip,如果沒有給出
- wol:設(shè)置為任何值,如果設(shè)備支持 WakeOnLan
- 播放:設(shè)置為任何值,如果應(yīng)考慮播放此設(shè)備
一些參數(shù)取決于插件:
- user [SSH]:遠(yuǎn)程用戶名
- cmd [http, pathon]:應(yīng)該為此設(shè)備的每個發(fā)送命令執(zhí)行的路徑/腳本(用 __IP__ 替換設(shè)備的 ip,用 __CMD__ 替換命令)。
此外,任何設(shè)備都可能覆蓋某些命令。這是通過將覆蓋的命令設(shè)置為 DEVICE|cmd|CMD 來完成的,其中 DEVICE 是設(shè)備的名稱,CMD 是應(yīng)該執(zhí)行的命令。例如
deviceList[laptop|cmd|mute]="xdotool key XF86AudioMute"
同樣對于 lirc 設(shè)備,可以通過將數(shù)字設(shè)置為 DEVICE|CMD|repeat 來設(shè)置任何設(shè)備的重復(fù)次數(shù),其中 DEVICE 是設(shè)備的名稱,CMD 是在請求??時應(yīng)多次執(zhí)行的命令。例如
deviceList[speaker|VOLUME_UP|repeat]=2
4. SSH 連接
" " 類型ssh
的設(shè)備在首次使用前需要進(jìn)行一些設(shè)置:
首次連接新的 ssh 設(shè)備時,ssh 會確認(rèn)該設(shè)備的指紋是正確的,以避免連接到惡意設(shè)備。homeAutomat 不會確認(rèn)新指紋,但會中止連接到未知設(shè)備。因此,對于每個設(shè)備,您需要連接一次并通過調(diào)用手動確認(rèn)指紋ssh
,例??如
ssh pi@192.168.1.2
您將獲得以下輸出,您需要使用“ yes
”確認(rèn)。
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is aa:bb:cc:...
Are you sure you want to continue connecting (yes/no)?
盡管 homeAutomat 可以在 SSH 設(shè)備的配置中使用密碼,但通過 RSA 進(jìn)行身份驗證更容易。要開始對 SSH 連接使用 RSA 身份驗證,首先需要在運行 homeAutomat 的計算機(jī)上使用以下命令創(chuàng)建一個新的 RSA 密鑰:
ssh-keygen
homeAutomat 不支持密碼短語,因此當(dāng)出現(xiàn)該問題時,您必須在不輸入任何內(nèi)容的情況下按 Enter。
之后,對于您要連接的每個設(shè)備,您需要在 homeAutomat 計算機(jī)上使用以下命令安裝此新密鑰:
ssh-copy-id @
例如
ssh-copy-id pi@192.168.1.2
并輸入密碼登錄 SSH 設(shè)備一次。完成此操作后,homeAutomat 無需密碼即可向 SSH 設(shè)備發(fā)送命令。
用法
配置完成后,添加到 crontab 的腳本將嘗試建立與所有支持 ssh 的設(shè)備的 SSH 連接并維護(hù)它們。發(fā)送命令就像使用配置和命令中給出的設(shè)備名稱調(diào)用腳本 send.sh 一樣簡單。例如將命令“ xdotool click 1
”發(fā)送到我們調(diào)用的設(shè)備筆記本電腦
./send.sh laptop xdotool click 1
如果您為命令配置了別名(如上面的命令靜音),您可以簡單地調(diào)用別名,例如
./send.sh laptop mute
這同樣適用于 lirc 設(shè)備,例如將電源鍵發(fā)送到設(shè)備揚聲器:
./send.sh speaker KEY_POWER
作為獎勵 homeAutomat 跟蹤虛擬設(shè)備__CURRENT__
。發(fā)送到此設(shè)備的命令始終轉(zhuǎn)發(fā)到最后使用的可用設(shè)備,該設(shè)備playback
在配置中標(biāo)記為 。
它還提供了一些虛擬命令,如、 、__PLAY__
和__PAUSE__
,這些命令被翻譯成適用于每種設(shè)備的合理命令。因此,要在上次使用的設(shè)備上繼續(xù)當(dāng)前的媒體播放,只需使用:__ON__
__OFF__
__FULLSCREEN__
./send.sh __CURRENT__ __PLAY__
我的設(shè)備
這是您可以使用 homeAutomat 做什么的靈感。我正在將此集線器(除其他設(shè)備外)用于我的家庭影院和以下設(shè)備:
- homeCinemaPi:運行 homeAutomat 集線器的樹莓派。
- homeCinemaLaptop:一臺舊筆記本電腦,播放 DVD 并通過 SSH 連接
- 投影儀:連接到筆記本電腦的投影儀。homeAutomat 通過粘貼在其上的 IR 二極管對其進(jìn)行控制。
- 揚聲器:連接到筆記本電腦的 5.1 揚聲器系統(tǒng)。homeAutomat 通過粘貼在其上的 IR 二極管對其進(jìn)行控制。
- acCarrier:通過 IR 二極管連接的載波 AC。
- 電視:可以通過 viera/IP 控制的華碩電視
- 燈:一個運行 tasmota 的 SOnOff 開關(guān),通過 http-requests 控制
另一方面,我使用一些設(shè)備來觸發(fā)集線器上的命令:
- Alexa:運行 homeAutomat 的樹莓派也運行HA Bridge 。對于 Alexa,每個命令看起來都像一個燈泡,因此我可以控制我的所有設(shè)備,例如使用“Alea,打開電影”
-
Android:Android APP Home Remote Control可以通過SSH調(diào)用send.sh腳本。這樣,所有配置了 homeAutomat 的智能家居設(shè)備都可以通過您的手機(jī)進(jìn)行控制。作為一個額外的好處,HomeRemote 中的鼠標(biāo)和鍵盤控件始終可以發(fā)送到
__CURRENT__
設(shè)備。
- 生成式AI對智能家居的影響 16次下載
- 智能家居安全隱患 智能家居安全性問題的重要性 0次下載
- 如何使用Amazon Alexa輕松設(shè)置智能家居設(shè)備
- 亞馬遜alexa智能家電:如何從Alexa刪除智能家居設(shè)備
- 適用于四攝像頭集線器且具有MIPI CSI 2輸出的汽車ADAS設(shè)計
- 2021年智能家居行業(yè)研究報告 77次下載
- 應(yīng)用筆記:介紹一般原則適用于ADI的所有ADC資料下載
- 智能家居,可以出手了
- 如何使用Cubieboard和ZigBee實現(xiàn)智能家居系統(tǒng)設(shè)計 7次下載
- 如何使用Linux操作系統(tǒng)進(jìn)行智能家居的設(shè)計 12次下載
- Qorvo智能家居管家物聯(lián)網(wǎng)和智能家居革命為什么比較慢?詳細(xì)概述
- 如何利用物聯(lián)網(wǎng)解決智能家居現(xiàn)狀存在的問題?
- 智能家居服務(wù)是什么?為什么需要關(guān)注它?
- 適用于MPLAB工具設(shè)計的多條忠告
- 適用于智能家居控制用的可編程程序控制器 3次下載
- Python智能家居系統(tǒng)代碼介紹 1013次閱讀
- 為什么需要智能家居? 1215次閱讀
- 智能家居主流無線技術(shù)有哪些應(yīng)該如何選擇 2076次閱讀
- 使用手機(jī)控制所有智能家居的生活你期待嗎? 5897次閱讀
- 如何保護(hù)智能家居電路 888次閱讀
- 智能家居通訊協(xié)議有哪些 2.6w次閱讀
- 一文帶你了解智能家居控制系統(tǒng) 2793次閱讀
- 智能家居設(shè)備如何幫助老年人在家就地養(yǎng)老 1798次閱讀
- 智能家居中的無線技術(shù)解析 2077次閱讀
- 亞馬遜推出基于Zigbee無線技術(shù)的語音服務(wù)設(shè)備 可服務(wù)千萬計智能家居設(shè)備 5330次閱讀
- 智能家居控制系統(tǒng)詳解_智能家居控制系統(tǒng)工作原理_智能家居控制系統(tǒng)有哪些 4.4w次閱讀
- 智能家居與普通家居區(qū)別對比 7303次閱讀
- 智能家居安全嗎_智能家居安全性分析 3087次閱讀
- 基于Linux的智能家居管理方案 5327次閱讀
- 基于ZigBee的別墅智能家居解決方案 2024次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多