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