PilightとHomeKitでダムデバイスをスマートにする:14ステップ

PilightとHomeKitでダムデバイスをスマートにする:14ステップ

目次:

Anonim

こんにちは!このInstructableでは、5つのダムデバイスをスマートなものに変える方法を学びます。すべて1つの市販のスマートスイッチの価格で。準備はいい?もうすぐ始めますが、まず…

これは何ですか?

このプロジェクトは、誰もが誰でも簡単にスマートホームを作るのを支援することを目的としています。それはPilightとNodeJSで書かれたHomeKitサーバーを利用します。

なぜDIY?

私の考えでは、DIYは何にでも楽しい解決策であり、一人で作ることの楽しさはそれだけの価値があります。

あなたもばかげた金額を節約するでしょう、それでそれもプラスです。

用品:

ステップ1:ダムデバイスを探す!

これは単純に聞こえるかもしれませんが、実際には必ずしも容易ではありません。ダムデバイスは次の基準を満たす必要があります。

1.それはオン位置とオフ位置を持っていなければなりません(それで「オン/オフ」ボタンを持つコンピュータは同じスイッチなので動作しませんが、「オン/オフ」スイッチを持つランプはそうするでしょう!)

それはあなたの携帯電話で制御する機能で、もっと便利にする必要があります!

あなたがそれをオンにした場合、それはあなたの隣人を困らせてはいけません:)

あなたがあなたの電話であなたの光を制御することができるあなたが人々を見せるとき、それは本当に憂慮しなければなりません。真剣に。それは絶対必要です。

だから、として TL、DR:スイッチまたはダイヤルでオンの位置に留まるものはすべて動作します。

ステップ2:ハードウェア/材料

ここにあなたの材料があります…

無はんだプラグインブレッドボード、830タイポイント、2パワーレーン、200PTS、16.5 x 5.4 x 0.85 cm(10ドル、2016年3月25日時点で2.80ドルで発売中。ブレッドボードをお持ちの場合は、スキップできます。 )

50個のPCSジャンパー線200mm M / Fオス - メス(12ドル、ただし2016年3月25日現在で3.15ドルの売り出し中。すでにジャンパーワイヤーがある場合は、これをスキップすることができます。)

家庭用電化製品用のEtekcityワイヤレスリモートコントロール電気コンセントスイッチ(5Rx-2Tx)(2016年3月25日現在、39.98ドル、29.98ドルで発売中。すでにRFリモートコントロールが可能なスイッチがある場合は、これをスキップできます。私はあなたがそうしているならば、互換性があることを保証するものではありません…もしそうなら、先に進んでそれを使ってください、しかしそれが送信機/受信機の周波数と一致することを確かめてください! !確実でない場合は、これを入手することを強くお勧めします。)

Raspberry Pi用433MHz Rfトランスミッター&レシーバーキット(7.91ドル、お得な情報が見つかりませんでした。お気軽にお買い求めください。それはあなたが買うアウトレットの頻度と一致します!それは絶対必要です!私はあなたが確実ではないならこれを得ることを強くお勧めします。)

プロジェクトの中核:A Raspberry Pi B +(どんなRaspberry Piでも動作するはずです!おそらくこれらのうちの1つを使用中または横になっているはずです。使用しましょう)

マイクロUSBケーブル、SDカード、使用しているモデルPiに応じたタイプ、ワイヤレス接続が必要な場合はUSB WiFiドングルも必要です。

個人的に私はすでにラズベリーパイを持っていました…私はマイクロUSBケーブルを持っていました…私はSDカードを持っていました、そして私はWiFiドングルを持っていました。

だから私にとってこのプロジェクトの価格は $43.84税金は含まれていません。 (A シングル (1)Belkin Wemoスイッチは49.99ドル、6.15ドル以上 私たちが構築するスイッチ $8.77私達が造るときスイッチごとの一方、Wemoを購入した場合、スイッチ1台につき49.99ドルを支払っています。

プロジェクトの合計価格はあなたが持っているものによって異なりますが、私がリストした価格のアイテムはあなたが持っていない可能性がある唯一のものです。

このチュートリアルでは、iPhoneはデバイスを制御するのに最適です。

ステップ3:ハードウェア/セットアップ

プログラムのダウンロードを開始する前に、ハードウェアをセットアップする必要があります。

配線する必要があります。

レシーバー - >ラズベリーパイ

送信機 - >ラズベリーパイ

ステップ4:リモートスイッチ/設定

このステップはかなり簡単です - スイッチには2つのリモコンが付いていました、そして2つのリモコンには2つの電池が付いていました。

私たちがする必要がある唯一のことはリモートの一つにバッテリーを入れることです。後でまた戻ってきますので、なくさないでください。

ステップ5:ソフトウェア/セットアップ - ノード

Adafruitを介してNodeをインストールします。

このチュートリアルはあなたがすでにあなたのRaspberry PiにRaspbianをインストールしており、そこにSSHで接続する方法を知っていることを前提としています。その方法がわからない場合は、このリンクにアクセスしてください。

PiにSSHで接続し、このコマンドを実行してNodeを含むadafruitのリポジトリを追加します。

curls -sLS http://apt.adafruit.com/add |スードバッシュ

それから実際にNodeをインストールします。

sudo apt-getインストールノード

最後に、次のコマンドを実行して正しくインストールされたことを確認します。

ノード-v

すべてが良さそうに見えたら、続けていきましょう。

ステップ6:ソフトウェア/セットアップ - 依存関係

次のコマンドを実行して、自分自身をスーパーユーザーにします。

sudo su

いくつかの依存関係をインストールします。

apt-getインストールpython-dev python-pip libavahi-compat-libdnssd-dev

最後に、ノードが必要とするいくつかのモジュールをインストールします。

npm install -g node-gyp &npm install python-shell && npm install node-persist && npm install srp && npm install mdns && npm install ed25519 && npm install curve25519 && npm install debug

これでNodeのセットアップは完了です。まずはセットアップしましょう。

ステップ7:ソフトウェア/セットアップ - Pilight

PiにSSHでログインしてください。実行します。

パスワードを要求する場合は、それを入力します。次に、次のコマンドを実行します。

このファイルには少なくとも1行が表示されるはずです。 "deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi"

そのファイルの最後の行の下に、以下を追加します。

を押して保存 Ctrl + X、 に続く Y 「はい、保存してください。」

パッケージのデータベースを更新します。

apt-getアップデート

そして最後に、Pilightをインストールしてください。

apt-get install pilight

Pilightがインストールされ、起動時に起動します。自動起動に問題がある人もいますので、起動時に起動していないと思われる場合は、rootとして実行してください。

pilightデーモン

ステップ8:RFコードの盗聴

次のステップはRFコードを探知することです。

リモコンの各ボタンには、関連するスイッチと一致するコードがあります。上のスイッチの図では、スイッチの一般コードは1502です。5パックの4番目のスイッチ、つまり1502-4です。しかし、一般的なコードではなく、RFコードが必要です。これを実現するために、RFコードを盗み出します。

リモコンでそのスイッチをオンにするには、4番目の「オン」ボタンを押すだけです。 4番目の "On"ボタンが押されたときに送信されるRFコードを取得します。

もう一度あなたのPiにSSHで接続して(あるいは閉じていなければ最後のセッションを続けてください):

すどまり

エラーがなければ、下線を引いたテキストをスキップしてください。 「pilight-ssdpセッションが見つかりません」というエラーが発生した場合は、下線を引いたテキストを読むことをお勧めします。

「pilight-ssdpセッションが見つかりません」というエラーは、「pilightデーモン「起動していません。起動時に起動しなかったため、手動で起動する必要があります。コマンドを実行して起動してください。」sudo pilight-daemon'

ステップ4のバッテリーを使ってリモコンをつかみ、受信機に近づけます。

まず始めに スイッチ1 とともに ピルレイトレシーブ プログラムがまだ実行中の場合は、スイッチ#1の「オン」ボタンを押します。

の出力を見てください ピルレイトレシーブ プログラム。何か見せましたか。

はい!やった!こんな風に見えるはずです。

"メッセージ":{

"ID": "A3"、

"単位":34、

"状態": "オン"

}, "起源": "受信機"、

"プロトコル":clarus_switch "、

"UUID": "SOMENUMBER"、 "リピート":1

}

さて、私たちはそれが何を意味するのかを理解し、自分でそれをコントロールできるようにする必要があります。

次のステップに必要な情報は id、 の 単位 、 そしてその プロトコル.

ステップ9:RF送信スクリプトを書く

最後のステップの(id、unit)情報を使って、RF信号を送信することができます。

手順6から、スイッチのプロトコルは clarus_switch、IDは A3そしてユニットは 34.

それを念頭に置いて、リモートが送信するのと同じコードをRaspberry Piから送信するスクリプトを書くことができます。

スクリプトを保存したいディレクトリに行き、そして以下を実行してください。

nano Switch1_On.sh

… Onスクリプトファイルを作成および編集します。 #2スイッチを使用している場合は、それに名前を付けることができます Switch2_On.sh それとも何か。

次に、これをファイルに入れます。

sudo pilight-send -p プロトコル -i ID -u 単位 -t

… protocolはあなたのプロトコル、idはあなたのid、そしてunitはあなたの単位です。 "-t"は "オン"を意味します。

もしあなたのIDとUNITが私のものと同じであれば、あなたのスクリプトは次のようになります。

sudo pilight-send -p clarus_switch -i A3 -u 34 -t

でファイルを保存します Ctrl + X 、 に続く Y 「はい、そのファイルを保存してください。」

次のコマンドを実行してファイルを実行可能にします。

sudo chmod + x Switch_On.sh

次に、Offスクリプトを作成します。実際にはまったく同じスクリプトを1回の変更で使用できます。そのため、スクリプトをコピーして編集します。実行権限もコピーされますので、再度chmodを実行する必要はありません。

cp Switch1_On.sh Switch1_Off.sh

nano Switch1_Off.sh

ファイルは次のように変更する必要があります。

…に:

…どこ -f スイッチをオフにすることを意味します。

ステップ10:スクリプトをテストする

おめでとうございます、このチュートリアルの第1回の最後のステップに進みました。スクリプトが動作することを確認するために、スクリプトをテストします。

しかし、最初に、ステップ1のダムデバイスが必要になります。

私のダムデバイスはファンでした。設定1で「ON」の位置に切り替えたので、電源が供給されている間は常にファンが作動しています。

次に、それをRF Outlet#1(スクリプトを書いたもの)に差し込み、コンセントを壁に差し込みました。リモコンで電源を入れたり切ったりすることで、コンセントが正常に機能していることを確認できます。

リモートが正しく機能していると仮定して、スクリプトを試してみましょう。もう一度PiにSSHで接続するか、まだ閉じていない場合はセッションを続行してから、次のコマンドを実行します。

sudo./Switch1_On.sh

それはあなたのダムデバイスをオンにしましたか?はい?あなたのダムデバイスは今少しスマートになっています。

今、実行してそれをオフにします。

sudo./Switch1_Off.sh

オフ?はい?お使いのデバイスはさらに賢くなりました。

これらのスクリプトを使用してアウトレット(コンセント)のオン/オフを切り替えることができます。また、.shファイルを実行できるサービスを使用してダムデバイスのオン/オフを切り替えることができます。

しかし、それをさらにスマートにすることはどうでしょうか。

ステップ11:HomeKit / Siriとの統合 - 編集

HomeKitは、まだ一般的ではありませんが、住宅の革新と自動化のための優れたプラットフォームを提供します。

私たちはKhaosTからフォークされた私のGitリポジトリをクローンすることから始めましょう。このチュートリアルの目的でいくつか修正を加えましたが、いつでもここでオリジナルを見つけることができます。

私のフォークのクローンを作成し、その中にaccessoriesディレクトリを入力するには、以下を実行してください。

gitクローンhttp://github.com/MiniguyBrendan/HAP-NodeJS.git

cd HAP-NodeJS / accessories /

いくつか変更を加える必要があります。

デバイスごとにランダムなユーザー名(MACアドレスの形式)を生成する必要があります。ここでそれができます。

そのサイトで次のことを必ず行ってください。

MACアドレスフォーマットをコロン付きのものに設定します(00:10:FA:6E:38:4A)。

大文字に設定

ユーザー名を追加できるように、アウトレット#1のデフォルトのOutlet_accessory.jsを編集しましょう。

sudo nano Outlet_accessory.js

という行を探します exit.username = "1A:2B:3C:4D:5E:FF";

ユーザー名の値を、Webサイトが生成したものに変更します。たとえば、次のように変更します。

…それがジェネレータが私にくれたものだったら。

また、次の行に PythonShell.run( 'light1.py'、関数(err){ そして PythonShell.run( 'light0.py'、関数(err){

… ファイル名 "light1.py"と "light0.py"に細心の注意を払ってください。たとえば、ダムデバイスがファンの場合は、「light1」または「light0」を「fan1」または「fan0」に置き換えることができます。デフォルト値を置き換えることを選択した場合 変更したことを忘れないでください。

ステップ12:HomeKit / Siriとの統合 - Python

それでは、.shスクリプトを実行するPythonスクリプトが必要になります。 「ええ、それは非効率的です」とあなたはおそらく考えています。はい、その通りです。 Nodeで.shファイルを実行するのは私のRaspberry Pi上でむらがあるので、YMMV。そのため、代わりにPythonスクリプトを使って.shファイルを実行します。

まだ「accessories」フォルダにいる場合は、HAP-NodeJSフォルダのルートに戻ります。

cd..

次に、 "Switch1_On.sh"スクリプトを呼び出すためのpythonファイルを作成します。

sudo nano light1.py

そして、次のように書いてください。

インポートサブプロセス

subprocess.Popen('sh'、 'あなたのディレクトリ /Switch1_On.sh ')

… yourdirectoryは、.shファイルを保存したディレクトリです。

入力してファイルを保存する Ctrl + X そして Y 「はい、保存してください」

繰り返しになりますが、このファイルをOffスクリプトに複製することができます。

sudo cp light1.py light0.py

それを編集してください…

sudo nano light0.py

…そして変更」 Switch1_On.sh 「〜」 Switch1_Off.sh '

で保存する Ctrl + X それから Y 「はい、本当に節約したいのです。ありがとう。」

ステップ13:HomeKit / Siri統合 - Npm

HomeKitサーバーを実際に実行するには、Nodeプロジェクトを再構築する必要があります。完了するまでしばらく時間がかかりますので、しばらくお待ちください。実行します。

npm再構築

そして最後に、サーバー自体を実行してみましょう。

sudoノードBridgedCore.js

すべてを正しく設定したら、HomeKitサーバが起動するはずです。 iPhoneを接続する準備が整いました。

ステップ14:HomeKitとSiriの統合 - 仕上げ

私たちは家の中にいます!最後のステップは、iPhoneをHomeKitサーバーに接続することです。これにより、Siriを使ってデバイスを制御できるようになります。

私の個人的にお気に入りのHomeKitアプリは、新しいデバイスの設定に使用できます。Eveelgatoです。あなたはここであなたのiPhoneまたはiPadでそれをダウンロードすることができます。

必ずホームデータへのアクセスを許可してから、デバイスの検索を許可してください。それはあなたが以前に設定したデバイスを発見するはずです。デバイスを追加してください。画面上の指示に従います。デバイスの名前を変更したい場合は、ここで行ってください。

終了したら、設定した名前でデバイスを制御できるはずです。

それを試してみてください! Siriを起動し、「デバイス名をオンにする」と言う。

… device nameはあなたが付けた名前です。

点灯しますか?はい?おめでとうございます、スマートホームを作成しました。