電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>HomeAutomat適用于所有智能家居設(shè)備的簡單集線器

HomeAutomat適用于所有智能家居設(shè)備的簡單集線器

2022-11-28 | zip | 0.04 MB | 次下載 | 免費

資料介紹

描述

主意

如果你和我一樣,那么你家里就有一系列商業(yè)和自制智能設(shè)備(以及一些智能設(shè)備)。有些可以通過 IR 控制,有些可以通過 HTTP 或 PHP 控制,有些可以通過 SSH 或 python 控制。

控制這么多設(shè)備,我希望有一個簡單的界面來控制所有設(shè)備,而不用擔心如何與每個設(shè)備交談。

我的智能家居設(shè)置已經(jīng)包含一個 raspberry pi 3 B,運行 lirc 來控制許多以前愚蠢的設(shè)備,如 AC、投影儀和揚聲器。所以我選擇了這個設(shè)備作為我的集線器,并創(chuàng)建了一個 bash 腳本,它將所有特定的控制協(xié)議隱藏到不同的設(shè)備中。

添加更多設(shè)備后,它發(fā)展成為一個小的 bash 框架,每個模塊都服務(wù)一個協(xié)議。

目標

  • 多種不同協(xié)議的統(tǒng)一命令行界面
  • 可通過附加協(xié)議進行擴展
  • 易于配置
  • 易于破解/擴展

指示

我編寫的代碼稱為 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]:遠程用戶名
  • 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è)備的重復次數(shù),其中 DEVICE 是設(shè)備的名稱,CMD 是在請求??時應(yīng)多次執(zhí)行的命令。例如

deviceList[speaker|VOLUME_UP|repeat]=2

4. SSH 連接

" " 類型ssh的設(shè)備在首次使用前需要進行一些設(shè)置:

首次連接新的 ssh 設(shè)備時,ssh 會確認該設(shè)備的指紋是正確的,以避免連接到惡意設(shè)備。homeAutomat 不會確認新指紋,但會中止連接到未知設(shè)備。因此,對于每個設(shè)備,您需要連接一次并通過調(diào)用手動確認指紋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 設(shè)備的配置中使用密碼,但通過 RSA 進行身份驗證更容易。要開始對 SSH 連接使用 RSA 身份驗證,首先需要在運行 homeAutomat 的計算機上使用以下命令創(chuàng)建一個新的 RSA 密鑰:

ssh-keygen

homeAutomat 不支持密碼短語,因此當出現(xiàn)該問題時,您必須在不輸入任何內(nèi)容的情況下按 Enter。

之后,對于您要連接的每個設(shè)備,您需要在 homeAutomat 計算機上使用以下命令安裝此新密鑰:

ssh-copy-id @

例如

ssh-copy-id pi@192.168.1.2

并輸入密碼登錄 SSH 設(shè)備一次。完成此操作后,homeAutomat 無需密碼即可向 SSH 設(shè)備發(fā)送命令。

用法

配置完成后,添加到 crontab 的腳本將嘗試建立與所有支持 ssh 的設(shè)備的 SSH 連接并維護它們。發(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在配置中標記為 。

它還提供了一些虛擬命令,如、 、__PLAY____PAUSE__,這些命令被翻譯成適用于每種設(shè)備的合理命令。因此,要在上次使用的設(shè)備上繼續(xù)當前的媒體播放,只需使用:__ON____OFF____FULLSCREEN__

./send.sh __CURRENT__ __PLAY__

我的設(shè)備

這是您可以使用 homeAutomat 做什么的靈感。我正在將此集線器(除其他設(shè)備外)用于我的家庭影院和以下設(shè)備:

  • homeCinemaPi:運行 homeAutomat 集線器的樹莓派。
  • homeCinemaLaptop:一臺舊筆記本電腦,播放 DVD 并通過 SSH 連接
  • 投影儀:連接到筆記本電腦的投影儀。homeAutomat 通過粘貼在其上的 IR 二極管對其進行控制。
  • 揚聲器:連接到筆記本電腦的 5.1 揚聲器系統(tǒng)。homeAutomat 通過粘貼在其上的 IR 二極管對其進行控制。
  • 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è)備都可以通過您的手機進行控制。作為一個額外的好處,HomeRemote 中的鼠標和鍵盤控件始終可以發(fā)送到__CURRENT__設(shè)備。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費