RaspberryPiでのOpenHABホームオートメーション入門

RaspberryPiでのOpenHABホームオートメーション入門
このガイドは無料のPDFとしてダウンロードできます。 このファイルを今すぐダウンロード 。これをコピーして、お友達やご家族とお気軽に共有してください。

OpenHABは、さまざまなハードウェアで実行され、プロトコルに依存しない成熟したオープンソースのホームオートメーションプラットフォームです。つまり、現在市場に出回っているほぼすべてのホームオートメーションハードウェアに接続できます。照明を制御するためだけに実行する必要のあるメーカー固有のアプリの数に不満を感じている場合は、すばらしいニュースがあります。OpenHABは、あなたが探していたソリューションです。これは、最も柔軟なスマートホームです。あなたが見つけるハブ。





残念ながら、それは消費者にやさしいものから得ることができる範囲ですが、これまでどおり、MakeUseOfが登場します。お金を買う必要のない究極のスマートホームシステムを使い始める方法を紹介します(OpenHABは100%無料–ハードウェアを提供するだけです)。





このガイドの最初の部分は、OpenHABをセットアップする方法に特に焦点を当てています。 ラズベリーパイ2 、しかしさらに、チュートリアルとアドバイスは、OpenHABがインストールされている場所ならどこにでも適用できます。





このガイドでは、3つの入門トピックと、もう少し高度なトピックについて説明します。

  • OpenHABをPiで起動して実行し、デモハウス構成をインストールしてコアシステムが機能していることを確認します。
  • デバイスのバインディングとプロファイルを追加する方法。 PhilipsHueを使用します。
  • リモートアクセスを有効にし、IFTTTに接続します。
  • Bluetoothを使用したDIYプレゼンスセンサーの追加、およびRESTインターフェイスの概要。
  • OpenHABモバイルアプリの構成。

必要なもの

少なくとも、Raspberry Pi(v2、できれば)とイーサネットまたはワイヤレスアダプターが必要です(イーサネットを推奨します。このガイドには、Wi-Fiアダプターを機能させる手順は含まれていません)。それ以外はすべてオプションです。 OpenHABは元のRaspberryPiでも実行されますが、処理が遅く、Z-Waveデバイスには既知の問題があることに注意してください。 Z-Waveが必要ない場合は、この警告を無視して、RaspberryPiモデルBまたはB +を続行できます。これは、他のすべてが正常に機能しているように見えるためです。 Z-Waveを追加する場合は、いつでも最新のPiにアップグレードできます。



この小さなことは、これまでで最高のスマートホームハブになる可能性があります。

執筆時点では、OpenHABの最新の安定バージョンはバージョン1.71です。バージョン1.8は間もなくリリースされる予定であり、特定のバインディングにはより多くの機能がある場合がありますが、このガイドのすべてが引き続き関連しているはずです。バージョン2は現在、非常に初期のアルファプレビューとしても利用できますが、OpenHAB1シリーズとは劇的に異なるアーキテクチャを採用しています。このガイドはバージョン2と互換性がありません。





このガイドにゆっくりと系統的に従うことを強くお勧めします –最深部に飛び込んで、すべてを一度に追加しようとしないでください。はい、それは長いガイドです– OpenHABは難しいシステムであり、多くの場合、ニーズに合わせて調整する必要があります。成功を確実にするための最良の方法は、ゆっくりと作業し、一度に1つずつ完了することです。

良いニュースは、それが機能すると、それは堅実な経験であり、信じられないほどやりがいがあるということです。





OpenHABのインストール

OpenHAB用に事前構成されたイメージがないため、インストールはコマンドラインを介して昔ながらの方法で行われます。 RPiで頭を使わずに作業することをお勧めします。めったに使用しないGUIを管理するオーバーヘッドは、それだけの価値はありません。

から始めます 最新の(完全な)RaspbianSDイメージ (「ライト」バージョンではなく、これらにはJava仮想マシンは含まれていません)。ネットワークケーブルを接続してから起動し、SSHを介してナビゲートします。走る:

sudo raspi-config

ファイルシステムを展開します。詳細メニューから、メモリ分割を16に変更します。完了したら、再起動し、適切な方法として、完全な更新を実行します。

sudo apt-get update
sudo apt-get upgrade

OpenHABランタイムをインストールする簡単な方法は、 apt-get 、ただし、最初に安全なキーと新しいリポジトリを追加する必要があります。

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

不思議なことに、すべてが「root」によって所有されているものとしてインストールされました。次のコマンドで修正する必要があります。

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

次に、Sambaをインストールし、構成フォルダーとユーザーフォルダーを共有します。これにより、アドオンのインストールとサイトマップのリモートでの変更が簡単になります。

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

必要に応じてワークグループ名を変更しますが、それ以外の場合はWINSサポートを有効にします。

wins support = yes

(行のコメントを解除し、noをyesに変更する必要があります)

次に、以下を共有定義セクションに追加します(長いファイルの一番下までスクロールします)。

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

プリンタのセクションもコメントアウトしました。構成ファイルは実際にはアドオンとは別に保存されているため、2つの共有を作成しました。

保存して終了。最後に、openhabユーザーのSambaパスワードを設定する必要があります。

sudo smbpasswd -a openhab

使いやすさのためにパスワードとして「openhab」をお勧めしますが、それは実際には問題ではありません。

読者のDavidLのおかげで、Sambaの再起動方法が最新のRaspianで変更されたようです。更新された手順は次のとおりです。

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

Sambaを再起動した後(古いインストールでは sudo service samba restart )、共有ドライブにアクセスできるかどうかをテストします。 Macでは自動検出されない場合があります。しかし、あなたは使用することができます ファインダ -> 行け -> サーバーに接続する とアドレス

smb://openhab@raspberrypi.local

ユーザー名openhabと選択したパスワードで認証してから、両方の共有を開いて確認します。 Webブラウザでhttp://raspberrypi.local:8080 /を開くこともできるはずですが、サイトマップがまだ作成されていないため、エラーが発生します。それは正常です。

ここで、OpenHABログを追跡するコマンドを学習して、エラーを監視できるようにする良い機会です。

tail -f /var/log/openhab/openhab.log

ガイドを続行している間は、常に実行を続け、別のSSHウィンドウで開いてください。

デモハウスをインストールする

構成ファイルの複雑さを掘り下げる前に、デバイスやバインディングなどを追加します。デモコンテンツを追加して、すべてが機能していることを確認しましょう。 OpenHAB.orgのダウンロードセクションの下に「デモセットアップ」があります。

解凍すると、2つのフォルダがあります。 アドオン構成

ネットワーク共有を使用して、コピーします 構成OpenHAB構成 既存のフォルダを共有して上書きします。コピー アドオン 他に OpenHABホーム 繰り返しますが、既存のフォルダを上書きします。何かを上書きするように求められない場合は、間違っています。デバッグログファイルに注目している場合は、新しいバインディングに気づき、動作を開始するときに、アクティビティのフラッターが表示されるはずです。 raspberrypi.local:8080 / openhab.app?sitemap = demoを開いて、デモを表示します。

現時点では少し基本的な見方ですが、OpenHABのオープンな性質は、後で素敵な新しいテーマをインストールしたり、代替インターフェイスを完全にインストールしたりできることを意味します。今のところ、すべてが機能していることを知る必要がありました。私たちが見ているものはと呼ばれていることに注意してください サイトマップ (ウェブサイトのサイトマップとは何の関係もありません)。サイトマップは、ネットワーク上の実際のデバイスやセンサーではなく、ユーザーインターフェイスを記述します。それらを表示するためのインターフェイスのみを記述します。そのすべての部分は完全にカスタマイズ可能です。これがどのように作成されたかを確認するには、 sitemaps / demo.sitemap OpenHABConfig共有上のファイル。

かなり大変ですが、ほとんどの場合、他の場所の例からコードフラグメントをコピーして貼り付け、独自のカスタムインターフェイスを作成します。これが 技術概要 考えられるすべてのサイトマップ要素の中で、今のところ、構築するインターフェイスの種類と表示する情報について考え始めるだけで十分です。

あなたがそこにいる間、開いてください items / demo.items それも。繰り返しますが、怖いように見えますが、ここで、追跡するセンサーを制御および定義するためのアイテムを作成します。

では、OpenHABはどのように機能しますか?

サイトマップとアイテムフォルダをざっと見てきたので、これらのファイルと、完全なスマートホームを作成するために組み合わせるOpenHABの他の主要コンポーネントを正確に分析してみましょう。これらのそれぞれのサブディレクトリは、OpenHABConfig共有フォルダーにあります。

アイテム は、システムに必要なすべての制御デバイス、センサー、または情報要素のインベントリです。物理的なデバイスである必要はありません。天気や株価などのWebソースを定義できます。各アイテムには、名前を付けたり、複数のグループを割り当てたり(または割り当てない)、特定のバインディングに接続することができます。 (初心者向けのヒント:バインディングに関しては、大文字と小文字を区別することが重要です。「色相」電球が機能しなかった理由を解明するために長い時間を費やしました。代わりに「色相」である必要があったためです)。

サイトマップ OpenHABモバイルまたはWebアプリを開いたときに表示されるインターフェースのみに関係します。ボタンの配置方法と情報の表示方法を正確に制御できます。家の各部屋にトップレベルのグループを定義できます。それぞれをクリックすると、その部屋にあるすべてのデバイスのリストが表示されます。または、デバイスの種類ごとにグループを表示することもできます。ライト用のボタン、コンセント用のボタンです。頻繁に使用するデバイスがあり、ホーム画面でそれらのスイッチが必要な場合があります。

ルール ここでホームオートメーションの側面が機能し、アクションを実行するためのスケジュールや条件を定義できます。午後10時に寝室の照明を暖色に変えるなどの簡単なイベント。または、温度が0未満で、誰かがその部屋にいる場合にスペースヒーターをオンにするなど、より複雑なロジック。また、 スクリプト フォルダー。ルールと同様の機能を提供しますが、より複雑なレベルのプログラマブルロジックを備えています。

永続性 はこのガイドでは取り上げない高度なトピックですが、永続性は記録したいデータを定義します。デフォルトでは、OpenHABは何かの現在の状態のみを表示します。その値を経時的に追跡する場合は、そのデータソースの永続性定義を設定する必要があります。ここでは、データポイントを測定する頻度や、古いデータポイントを破棄するタイミングなどを指定します。また、MySQLやファイルへの単純なロギングなど、使用する永続性エンジンの種類を指定する必要があります。 。

変身 データ値からラベルへのマッピングが含まれています。たとえば、 ヒュミデックススケール ファイルは、湿度インデックス値の範囲とそれらを英語で表示する方法を定義します。29-38は「不快感」です。

NS サイトマップアイテム OpenHABを実行するにはファイルが不可欠です。残りはオプションです。複数のサイトマップとアイテムを作成できるため、デモコンテンツを保持していつでも参照したり、ホームコントロールインターフェイスの新しいレイアウトを試したりできます。これが今少し圧倒されているように見えても心配しないでください。管理しやすい部分に分解します。このガイドの終わりまでに、独自のOpenHABセットアップを作成できることをお約束します。

次に、新しいサイトマップで最初から始めて、いくつかの一般的なスマートホームキットを追加する手順を説明します。それぞれがバインディングやアイテム定義のインストール方法などのいくつかのコアコンセプトを紹介するので、これらの手順を一読することを強くお勧めします あなたがそれらの特定のデバイスを所有していなくても

新しい(空白)を作成することから始めます home.items ファイル、および新しい home.sitemap 関連するディレクトリ内のファイル。開く home.sitemap 次のコードを貼り付けます。これは、後でビットを追加する基本的なスケルトンとして機能します。

sitemap home label='My Home'
{

}

OpenHABが新しいサイトマップとアイテムファイルを識別したことを報告する通知が表示されます。

aligncenterサイズ-大きいwp-image-496593

デバッグモードを有効にする

OpenHABを正しく機能させようとしている間は、重要なものだけでなく、すべてをリストするより詳細なデバッグログを有効にすると便利な場合があります。このモードを有効にするには、OpenHAB Config共有フォルダーを開き、 logback.xml 。 40行目で、次の行を変更して、INFOではなくDEBUGを読み取ります。これを変更した後、再起動する必要があります。

これはグローバルな変更であるため、ログファイルを調整すると、より多くの情報が得られます。

PhilipsHueの追加

PhilipsHueから始めます。 OpenHABで操作したいほとんどのものと同様に、Hue電球では、 製本 –バインディングをデバイスドライバーのように考えてください。これを書いている時点で、OpenHAB 1で利用できるバインディングは約160あります。そのため、OpenHABは非常に強力なシステムです。あらゆるものとインターフェイスでき、これらの異なる制御システムをすべて1つの統合インターフェイスに結合します。これは、デモと関連する手順の概要です。

バインディングを最初にダウンロードする必要があります。Piでこれを行う最も簡単な方法は、 apt-get 、次にopenhabユーザーに所有権を強制します。

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

次に、OpenHABにそのバインディングをロードするように指示し、必要な変数を構成する必要があります。構成フォルダーを参照し、コピーを作成します openhab-default.cfg 、名前を付ける openhab.cfg 。それを開いて、検索します HUE セクション全体を次のコードに置き換えます。変更する必要があるのは、ブリッジのIP値だけです。まだわからない場合は、オンライン検出ツールを試してください。シークレット値は実際には重要ではありません。これは、OpenHABがブリッジに対して自身を識別するために使用する一種のユーザー名です。

簡単なヒント :行を有効にするには、先頭から#を削除するだけです。デフォルトでは、ブリッジのIPアドレスを指定する行は無効になっています(または技術的には「コメントアウト」されています)。また、別の構成を試している場合は、既存の行をコピーし、先頭に#を付けてコメントとしてマークすると、問題が発生した場合に簡単に元に戻すことができます。

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

保存して終了。他のサードパーティのHueアプリケーションと同様に、前面のボタンを押してHueBridgeでOpenHABを承認する必要があります。これを行う必要があるのは1回だけです。についてのメッセージが表示されます ペアリングを待っています ログファイルを調整しているが、カウントダウンを忘れたり見逃したりした場合は、Piをリセットするだけです。Hueバインディングが開始されてから100秒のタイマーが取得されます。続行する前に、ペアリングが正常に行われていることを確認してください。

次に、を開きます home.items ファイルに、いくつかのHue電球を追加します。アイテム定義の例を次に示します。

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • NS wordは、このアイテムをどのように制御できるかを指定します。 RGB色相電球は、フルカラーで制御できるため、「カラー」です。他のライトは単なるスイッチかもしれません。
  • 次はアイテムのコードネームです:私は選びました Bedroom_Hue 、しかし文字通り何でも問題ありません。後でサイトマップを作成するときに覚えておく必要があるため、自然に感じられる説明的なものです。コードネームにはスペースを入れないでください。
  • 引用符の間にはラベルがあります。この場合、私たちのものは単純ですが、温度や値を報告するものなどのいくつかの項目については、その値を表示する方法や使用する方法を指示する特別なコードを追加します 変身。 ラベルはインターフェイス用であり、スペースを含めることができます。
  • 山かっこの間にはアイコンの名前があります。利用可能なすべてのアイコンは、OpenHAB共有の[ webapps / images ディレクトリ。実際には、さまざまな明るさやオン/オフを表す色相アイコンの全範囲があります。ベースアイコン名を指定するだけです。これが切り替えられたアイテムである場合、OpenHABはさまざまなオン/オフアイコンを自動的に検索することを認識します。これはオプションです。
  • 丸括弧内に、どのグループに参加するかを示します。この場合は、 ベッドルーム グループ。
  • 最後に、そして決定的に、必要な変数を使用してアイテムを適切なバインディングに接続します。この場合、 色相 バインディングで、電球の番号は1です。公式のHueアプリケーションを開き、[ライト]タブを見ると、番号を確認できます。各電球には固有の番号があります。

合計4つの電球と、後で拡張するグループの簡単な宣言を追加しました。これが私の完全なものです home.items この時点で:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

NS /* ライト */ テキストは単なるコメントであり、後でファイルが大きくなったときにスキャンするのに役立つ以外の機能はありません。これでデバイスが追加されましたが、http://raspberrypi.local:8080 /?sitemap = homeを開くと、インターフェイスが空白になります。もちろん、サイトマップに実際にインターフェイス要素を作成していないためです。とりあえず、本当に簡単に始めましょう。開く home.sitemap

インターフェイスの説明に使用されるコードはアイテムとは異なりますが、ここでは新しい「フレーム」を作成し、いくつかのアイコンとともにいくつかのグループコントロールを追加します。

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

グループは迅速なテストに役立つツールですが、実際には、アイテムの表示方法をより細かく制御する必要があります。今のところ、これで十分です。ホームサイトマップを保存して、ブラウザに再読み込みします。これ(または、追加したグループ)が表示されます。

クリック すべての照明 すべての色相ライトを表示するには、それらすべてをその包括的なライトグループに属するものとして定義しているためです。

Office Hueアイテムが別のアイコンで表示されていることに注意してください。これは、私のオフィスライトがすでにオンになっているためです。これは、OpenHABがHueブリッジに話しかけたときにこれを認識し、ファイルの「オン」バージョンのアイコンを調整するのに十分賢いためです。残念ながら、色は反映されませんが、モバイルアプリがインストールされている場合は、現在の色が反映されます。

定義したと思っていたよりも多くのアイテムが表示されたり、複数の定義に関するエラーが発生したりする場合は、一度に1つのサイトマップしかページに読み込めないことに注意してください。 すべてのサイトマップは、すべての.itemファイルからアイテムをプルします そのため、デモアイテムファイルをそこに残しておくと、グループにもいくつかの追加アイテムが表示される場合があります。この時点で、重複エラーを回避するために、デモアイテムのコンテンツをバックアップし、フォルダーから移動することをお勧めします。

リモートアクセス、およびMy.OpenHABを使用したIFTTT

現在、OpenHABシステムにアクセスするには、同じローカルネットワーク上にいる必要がありますが、Wi-Fiの範囲外にあるときにデバイスを制御し、センサーをチェックしたい場合はどうでしょうか。そのためには、リモートアクセスを設定する必要があります。これは、My.OpenHABWebサービス[BrokenURL Removed]を使用して簡単に行うことができます。これにより、ポート転送やルーターの構成をいじくり回す必要がなくなります。ボーナスとして、My.OpenHABサービスにはIFTTTチャネルもあり、リモートコントロールと自動化の無限の可能性を提供します。

まず、バインディングをインストールします。クイックヒント:特定のインストールパッケージの正確な名前がわからない場合は、apt-cacheで検索してみてください。

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

My.OpenHABサイトに登録する前に、秘密鍵を作成し、インストールを一意に識別するUUIDを見つける必要があります。下を確認してください OpenHABホームシェア -> webapps -> 静的 一意の識別子を含むUUIDファイルを見つける必要があります。この時点で、Piが秘密鍵を正しく作成しない古いバージョンのJavaを使用していることを発見しました。タイプ

java -version

チェックする。 1.7以上と表示されていない場合は、バージョンが間違っています。奇妙なことに、最新バージョンのRaspbianにはOracle Java 8がインストールされていますが、デフォルトとして設定されていません。

sudo update-alternatives --config java

近くの中古パソコン部品店

を示すオプションを選択してください jdk-8-oracle 、次にOpenHABを再起動します。ボーナス:Oracle Java 8はデフォルトのOpenJDKよりも高速です!

今、あなたはまた、秘密のファイルを見つける必要があります webapps / static フォルダ。両方を開きます 秘密のuuid 、コピーして貼り付ける準備をします。

次に、これらの詳細を使用してMy.OpenHABアカウントを作成し、戻ってきます。何かが機能する前に、電子メールを確認する必要もあります。これにはさらにいくつかの手順があります。まず、デフォルトの永続性エンジンをmyopenhabに設定する必要があります(永続性は後のガイド用のものですが、データをオンラインサービスに「エクスポート」して、IFTTTに表示するには、基本的なものを設定する必要があります) 。これを行うには、openhab.cfgを開き、次のような変数を見つけます。 永続性:デフォルト= に変更します 永続性:デフォルト= myopenhab 。保存する。

最後に、で新しいファイルを作成します 構成/永続性 と呼ばれるフォルダ myopenhab.persist 、次のルールで貼り付けます。

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

今のところこれを理解する必要はありませんが、「変更されたときにすべてのアイテムの状態を保存する」と表示されていることを知っておいてください。

IFTTTに接続するには、 OpenHABチャネル –認証して、MyOpenHABアカウントへのアクセスを許可する必要があります。また、アイテムが少なくとも1回変更されるまで、IFTTTのアイテムリストに表示されないことに注意してください。表示されない場合は、オンとオフを切り替えてからリロードしてください。おめでとうございます。これで、OpenHABシステムのすべてに完全なIFTTTアクセスが可能になりました。

RESTを使用したBluetoothプレゼンスセンサー

少し前に、Bluetoothスキャンを使用して自動オフィスドアロックを作成してユーザーの存在を検出する方法を紹介しました。そのようなものをOpenHABに導入したかったのです。

Raspberry Pi以外のプラットフォームでは、既製のBluetoothバインディングのおかげでこれは簡単です。残念ながら、ARMアーキテクチャ用に再コンパイルしてバインディングに追加してからバインディングを再構築する必要がある重要なJavaファイルがあるため、Piでは機能しません。言うまでもなく、私はそれを試しましたが、それはひどく複雑で機能しませんでした。ただし、OpenHABの完全な拡張性の優れた紹介としても役立つ、はるかに簡単なソリューションがあります。以前のPythonスクリプトを適応させて、OpenHABRESTfulインターフェイスに直接レポートするようにします。

余談ですが、RESTfulインターフェースとは、URLを呼び出してデータを渡したりフェッチしたりするだけで、組み込みのWebサーバーを使用してシステムと対話できることを意味します。次のURLにアクセスして、独自のサーバーでこの簡単な例を確認できます。http://raspberrypi.local:8080 / rest / items –定義されたすべてのアイテムのコード化されたリストを出力します。これは、OpenHABの可能性を最大限に引き出し、カスタムインターフェイスを作成できるため、非常に強力です。または逆に使用して、特定のバインディングを持たずにセンサーのステータスを報告します。この機能を使用して、Bluetoothバインディングに頼らずに、特定のBluetoothデバイスの存在を報告します。

新しいを追加することから始めます スイッチ あなたへのアイテム home.items ファイル。私は自分の名前を「JamesInOffice」と呼び、電話が切れた場合に手動で自分の存在を制御できるように、単純なオン/オフの連絡先ではなくスイッチにしました。

Switch JamesInOffice 'James in Office' (Office)

アイコンを定義していないか、特定のバインディングを関連付けていないことに注意してください。これは単なる汎用スイッチです。

次に、互換性のあるUSB Bluetoothドングルを挿入し、それと対話するためのいくつかの基本的なツールをインストールします。

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

最後のコマンドは、Bluetoothアダプターを表示するはずです。何もリストされていない場合は、別のアダプターを試してください。お使いのアダプターはLinuxと互換性がありません。次のステップは、デバイスのBluetoothハードウェアアドレスを見つけることです。

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Bluetooth設定ページ(ペアリング/パブリックモードになります)で電話が開いていること、および明らかにBluetoothがアクティブになっていることを確認します。 16進数のハードウェアアドレスがリストされているはずです。

Piユーザーのホームディレクトリから、新しいPythonスクリプトを作成して このコードを貼り付けます

特定のデバイスアドレスから始めて、編集する必要があるものがいくつかあります。

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

この行と同様に、2つの場所にあります(はい、これはおそらくより適切に構成されている可能性があります)。 JamesInOfficeを定義したスイッチのコードネームに変更します。

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

最後のステップは、このスクリプトに起動時に起動するように指示することです。

sudo nano /etc/rc.local

一番下までスクロールして、出口0の直前に、次の行を追加します。

python /home/pi/detect.py &

&記号は「バックグラウンドでこれを行う」ことを意味します。スクリプトをまだ実行していない場合は実行し、OpenHABインターフェイスを開きます。グループに追加した場合は、クリックしてそのグループに移動します。更新には約10秒かかりますが、スマートフォンが検出されたかどうかに応じて、デフォルトの電球アイコンがオンまたはオフになります。何も起こらない場合は、ログファイルを確認してください。間違ったアイテム名を使用した可能性があります。

OpenHABモバイルアプリ

もちろん、モバイルデバイスからWebインターフェイスを使用することもできますが、OpenHABには両方のネイティブアプリがあります iosアンドロイド -そして彼らは 多く デフォルトのブラウザインターフェイスよりも優れています。設定画面で、これまで使用していた内部IPとして、ポート番号を含めたローカルURLを入力します。リモートURLには、次のように入力します https://my.openhab.org 、およびサインアップ時に入力したユーザー名(電子メール)とパスワード。 MyOpenHABにまだサインアップしていない場合は、認証とリモートURLを空白のままにします。ただし、ローカルWi-Fiからのみシステムにアクセスします。

前進して助けを得る

OpenHABコントローラーに追加できるカスタマイズの量と優れた機能は本当に壮大です。バインディングでサポートされているデバイスの膨大なリストに加えて、RESTfulインターフェイス、HTTP拡張機能、IFTTTを使用して、文字通りあらゆる種類のIoTデバイスを読み取ったり制御したりできます。次に、いくつかのデバイスを使用できます(クリエイティブな照明のアイデアをいくつか試してください)。はい、インストールするのは絶対的な苦痛ですが、単一の商用システムがカスタマイズされたOpenHABシステムのパワーに近づくことはできません。

とはいえ、乗り心地は私にとってまったく簡単ではありませんでした。そのため、このガイドを作成して、プロセスを簡単にしました。また、OpenHABシステムが圧倒的であることに気付いた場合、ラズベリーホームオートメーションに関しては他のオプションがあります。たとえば、ラズベリーパイを使用してガレージドアを自動化するなどです。

セットアップ可能なZ-Waveやその他のクールなトリックをカバーする高度なガイドについては、MakeUseOfにご注目ください。

このガイドの特定の部分についてサポートが必要な場合は、コメントで質問してください。別のバインディングや、まだ取り上げていない高度なトピックについてサポートが必要な場合は、 公式OpenHABフォーラム 歓迎の場所です。

共有 共有 つぶやき Eメール VirtualBoxLinuxマシンを過給するための5つのヒント

仮想マシンによって提供されるパフォーマンスの低下にうんざりしていませんか? VirtualBoxのパフォーマンスを向上させるためにすべきことは次のとおりです。

次を読む
関連トピック
  • DIY
  • スマートホーム
  • ホームオートメーション
  • 長い形式
  • ロングフォームガイド
  • スマートハブ
著者について ジェームズブルース(707件の記事が公開されました)

ジェームズは人工知能の理学士号を取得しており、CompTIA A +およびNetwork +の認定を受けています。ハードウェアレビューエディターとして忙しくないときは、LEGO、VR、ボードゲームを楽しんでいます。 MakeUseOfに参加する前は、照明技術者、英語教師、データセンターエンジニアでした。

ジェームズブルースのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください