SolidRun AMD HAILO Marvell NXP
Renesas TexasInstruments
  • ホーム
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
  • ダイレクトショップ
  • DL
  • 英徳社について
  • 問い合わせ

CuBox-i/HummingBoard(23)

HomeBridgeとSiriで irMagicianを使う

irMagician は本コラムでも以前に「CuBox-i/HB に 小型赤外線リモコン irMagician をつなぐ」で取り上げた。irMagician はPetapicoショップでも販売をしている大宮技研(http://www.omiya-giken.com/)の開発による学習型赤外線リモコン・ボードです。これを、iPhoneのSiriのコマンドで動かしてみせる、というのが今回の趣旨です。今回の記事は、「CuBox-i/HB に 小型赤外線リモコン irMagician をつなぐ」どおりにirMagicianが動作している状態を 前提とします。

PetapicoShop主催のピコフォーラムイベントを通じて、大宮技研でIrMagicianをRaspberryPiを使ってSiriで動作させるという発表をいただきました。(http://www.omiya-giken.com/?page_id=2100) 今回はCuBoc-iでの追加検証をしてみます。

 

Homekitとは

 

まずはAppleが提唱する家電の集中管理コンセプトと仕組みをまずおさらいしておきます。(中途半端な聞きかじりだけを書いている記事にはご注意を)

Homekitでは以下の内容に従いデバイスを振り分けします。

ユーザーは好きなようにHomekitにつなげたデバイスを部屋や場所、状況などで配置や設定を行うとSiriでコマンドを出しやすくできます。

 

デバイス

デバイスとは、Homekitに登録される各家電装置やガジェットのことです。電球1つでも固有の名前がふられます。デバイスの名前はHomekitアプリ側でも変更可能です。

各デバイスの操作は「Hey Siri、[デバイス名]を◯◯して」という風に操作します。

ルーム

各デバイスを部屋ごとにまとめる単位です。例えばベッドルームというルームを設定し、そこにLED電球を1つとエアコンをいれたり、リビングというルームを設定し、そこにLED電球を2つ、テレビ、エアコンを設定するなどします。

ルームにいれたデバイスは抽象化され「Hey Siri、[ルーム名]のXXを◯◯して」と操作できます。例えば「Hey Siri、リビングの明かりを消して」と命令し、電球2つを同時に操作できるわけです。

ゾーン

ルームをまとめる単位です。例えば寝室と書斎が2Fにあった場合は2階というゾーンを設定したり、ベランダと玄関で外というゾーンを設定できます。

ゾーンはルームの家電をまとめて操作できる仕組みで、基本的にルームと使い方は変わりません。「Hey Siri、2階の明かりを消して」を言えば2階すべての明かりが消えます。

 

シーン

各デバイスの設定を一括で変更できます。例えば「おはよう」というシーンを作り、部屋の明かりをオン、テレビをNHKに選択というコマンドを「おはよう」のシーンに設定すれば、「Hey Siri、おはよう」と話かけることで、1つの命令で部屋の明かりが点灯し、テレビが指定のチャネルを表示します。

スケジュール

シーンで設定した設定を日時指定で実行できます。例えば月−金07:00におはようのシーンという設定ができます。

 

HomeKitは、iPhoneのHomeアプリでコントロールするもので、クラウドサービスではありません。家の外からコントロールするためには、AppleTVかiPadを動かしておくことが必要となります。また、制御されるデバイスは、HomeKitの認証をとったものでなくてはなりません。

HomeアプリはSiriのコマンドで装置をまとめて制御できるシーンが使えることが魅力的です。

さて、HomeKit対応製品ではない一般の家電をHomeKitで制御したいとなったら、

(1)ON/OFFくらいでよければ、HomeKit対応の電源プラグ型のスイッチを買って使えます。炊飯器や照明、シャッターなどはこれでいけます。

(2)赤外リモコンについては、HomeKitでは認証がされません。従ってeRemoteやIrKitなどの 機器は今後ともHomeKit認証はされません。すでに使っているエアコンを制御したいとなっても、赤外を使った家電制御はHomeKitとして商品になることはありません。

そこで今回のように自作することになります。

端的に今回の目標をひとことでまとめると、Siriを使い、赤外リモコン信号をIrMagicianから出して従来のエアコンを家の内外からON/OFFできるようにします。 ただし、もう一度確認で言いますがHomeKitでは従来のエアコンを赤外線で操作することはできません。

iOS上の設定は、本家のサイトが詳細で間違いないので「iPhone、iPad、iPod touch でホーム App を使う」(https://support.apple.com/ja-jp/HT204893)を参照するといいでしょう。

 

以上が長い前置きです。なぜにhomebridgeなのかを理解いただけたかと思います。

それでは、インプリの流れは 次の通りです。今回は赤外線リモコン装置として、以前コラムでもとりあげたIrMagicianを使用します。対象ハードウェアに対するHomebridgeのPluginが存在する場合にはconfig.jsonの設定だけで済みます。今回は特定のpluginがないのでコマンドライン入力用のpluginを使います。

まずはirMagicianをコマンドラインから使う環境整備から始めます。

1. ツール、コマンド、Pythonをインストール


 2. irMagicianの起動


3. 対象デバイス用のjsonファイル作成


 

次にhomebridgeの環境を整えます。

4. CuBox-i(HummingBoardでもOK)にLinux(UBUNTU,Debian)をインストール


5. node.js, npm をインストール


6. libavahi-comat-libdnssd-devをインストール


7. HomeKitの核となるhomebridgeをインストール


8. homebridge pluginをインストール


 9. homebridgeの設定、config.jsonの設定


10. homebridgeを起動

11. iOS側でアクセサリを追加

 

それではポイントを説明します。

irMagicianを使えるようにする

これの詳細はペタピココラムの

「CuBox-i/HB に 小型赤外線リモコン irMagician をつなぐ」

を参照してください。

sudo apt-get install python-pip

sudo pip install pyserial

git clone https://github.com/netbuffalo/irmcli.git

次にリモコンデータの取得

python irm.py -c

データの取得が完了したら、取得したデータが利用出来るかどうか試します。

python irm.py -f -s “filename.json”

 問題がないようでしたら、セーブします。

 

node.js, npm のインストール

やることは明確ですが、最初のnode.jsのインストールからうまくいかないことが多いです。

ググるとあまたの「実例」がでてくるのですが、正直それらは参考にせず、急がば回れ。

https://nodejs.org/

本家を見てインストールするのがよい。歴史的にもバージョンが複雑なので、訳がわからなくなりがちです。PC Linuxの手順ではインストール完了しているのにコマンドが実行できないというようなこともありえます。

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

sudo apt-get install -y nodejs

npmでネイティブアドオン追加時に備えて次も入れておきます。

sudo apt-get install -y build-essential

なお、

sudo apt-get install -y nodejs npm

でも普通にnode.js, npm をインストールできるように見えますがバージョンなどで何度もはまりました。

 

nodejsがうまくいったら、nもインストールしてしまいます。

sudo npm cache clean

sudo npm install n -g

sudo n --version

versionが見れたらうまくいっているはずです。

 

homebridgeのインストール

先に必要なavahiのライブラリをインストールします。

sudo apt-get install libavahi-compat-libdnssd-dev screen

homebridge本体をインストールします。

sudo npm install -g homebridge –unsafe-perm

homebridge-cmdプラグインのインストール

sudo npm install homebridge-cmd -g

 

これによりコマンドラインが実行出来るようになります。

 

config.jsonの記述をします。以下は例

 

{

"bridge": {

"name": "irMagician for HomeKit",

"username": "XX:XX:XX:XX:XX:XX",

"port": 51821,

"pin": "xxx-xx-xxx"

},

 

"description": "Living room",

"platforms": [],

"accessories": [

 {

"accessory": "CMD",

"name": "電気",

"on_cmd": "sudo python /home/pi/.homebridge/data/irm.py -p -f /home/pi/.homebridge/data/LightOn.json",

"off_cmd": "sudo python /home/pi/.homebridge/data/irm.py -p -f /home/pi/.homebridge/data/LightOff.json"

 },

 {

"accessory": "CMD",

"name": "コンセント",

"on_cmd": "sudo python /home/pi/.homebridge/data/irm.py -p -f /home/pi/.homebridge/data/OutletOn.json",

"off_cmd": "sudo python /home/pi/.homebridge/data/irm.py -p -f /home/pi/.homebridge/data/OutletOff.json"

 }

 

]

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"

 

 

 

 

 

username": "XX:XX:XX:XX:XX:XX" XXはWifiデバイスのMACアドレス

"pin": "xxx-xx-xxx" xxはiOSで設定するときのピンコードになる

"accessory"は 

“name”は日本語で記述します。

nameに記載する名前がSiriのHomekit対応デバイス一覧に登録されます。

“on_cmd”, “off_cmd”にはそれぞれのコマンドをフルパスで記述します。

自分の環境に合わせて、記述します。

また、config.jsonの編集にはJSON lintが推奨されています。(テキストエディタではハマることもあります)

 

homebridgeの起動

 

上記の設定がすべて終わったら、homebridge を起動してみます。コマンドラインから

 homebridge

で起動します。*** WARNING *** が出ても無視していいと公式に書かれているので気にしません。

Loading 1 accessories…

….

Homebridge is running on port xxxxx 

が表示されたら成功。

動作がうまく行くのが確認できたらデーモン化して安定運用できるように挑戦してみてはいかがでしょう。

今後、homebridgeやIFTTTなどはもっと取り上げていく予定です。

 

コメントをお書きください

コメント: 0

  • HomeBridgeとSiriで irMagicianを使う
  • Deep Learning on CuBox-i
  • HummingBoard-GateとMikroBUS クリックボード
  • HummingBoardをクラウドサービスMyThingsにつなぐ
  • Android+ WiFi Mini PCI カード
  • HummingBoard + WiFi Mini PCI カード
  • セキュアな無制限ストレージ ownCloud を CuBox-iで動かす
  • Android Appプログラミング入門
  • CuBox-iで動く各種サーバー
  • DebianをmSataから起動する
  • HummingBoardのaudio jackをAndroidから使ってみる
  • オフィシャル版Android4.4(Kitkat)のroot取得の仕方
  • HummingBoardのI2Cに温度センサーをつなぎデータをグラフ表示する
  • CentOSの兄弟 RedSleeve Linuxでサーバーを作る
  • Cu-Box-i/HBにmjpg-streamerストリーミング配信を載せる
  • SoftEther VPNで外から irMagician を制御してエアコンをつける
  • CuBox-i Androidのroot取得とadbの使い方
  • HummingBoardのSPIでLCDパネルへの表示をする
  • 旧CuBoxのメンテナンス情報について
  • 小型赤外線リモコン irMagician をつなぐ
  • wiringXをインストールする
  • kali linuxでセキュリティスキャンマシンにする
  • Debianでmicro-home-serverを作る(1)
  • 電子工作キットとGPIOピンアサイン
  • ArchLinuxにLXDEデスクトップを載せる
  • CuBox-i/HummingBoardの簡単インストーラー Ignition が登場
  • HummingBoardでUbuntu12.04(Linaro)
  • CuBox-i にUbubtu14.04, LXDEをインストールする
  • SqueezeboxでPandoraを聴こう(2)
  • SqueezeBoxがWebインストーラーになって簡単になりました
  • SqueezeboxでRadikoを聴こう(1)
  • GeeXboXをプレインストールしたCuBox-i1を使いこなす
  • アプリケーションと機種依存関係
  • CuBox-iのKitKat でWiFiのUSBを使えるようにする
  • CuBox-i にタッチパネルをつなぐ(Android Kitkat)
  • CuBox-i にKitKat を載せてみる(ソースからのビルドに挑戦)
  • CuBox-i でUSBのWiFiアダプタを利用する
  • Cubox-i4のFedora20にKDEデスクトップを載せる
  • Cubox-i4をFedora20マシンにする
  • CuBox-iにBluetooth機器接続に成功
  • CuBox-i にOpenELECが登場
  • ZoneMinder までの下準備とインストール
  • Debian 7.0 WheezyをCubox-iにインストールする
  • CuBox-i用のカーネル作成について
  • CuBox-iにUbuntu12.04をインストールする
  • MuBox on CuBox-i インストール基礎入門編
  • mjpg-streamerでストリーミング配信
  • CuBox-i でメディアプレーヤーXbian を楽しむ
  • CuBox-iでSDカードの容量いっぱいにイメージを拡張するには
  • CuBox-i でミュージックサーバーvolumio を試してみる
  • ZoneMinder でできる監視カメラシステムとは
  • GeeXboxをTVのリモコンで操作してみる
  • CuBox-iでradikoを外部スピーカーに流す
  • 基本のシリアル通信環境を整えておく
  • CuBoxにWebカメラを接続してMotionを使おう
  • CuBoxをメディアサーバにする
  • Apache Webサーバ / MySQLデータベース・サーバ / PHP
  • jQueryを使ってスライドショウを作る
  • 今、注目の超小型コンピュータたち(5) CuBoxをメディアプレーヤーにして楽しむ
  • 基本のサーバーを構築してみる
  • 今、注目の超小型コンピュータたち(4) ミュージックサーバーを組んでみた
  • 今、注目の超小型コンピュータたち(3) ミュージックサーバーをt作ってみよう
  • 今、注目の超小型コンピュータたち(6) ミュージックサーバーVoyage MuBox を完成させる
  • プラグコンピュータで「プロの開発」を始めてみませんか(2)
  • プラグコンピュータで「プロの開発」を始めてみませんか(1)
  • スカイプカメラ GTCAMってなんだ?
  • ARMとRaspberry Pi
  • Marvellのプロセッサとプラグコンピュータ
  • 今、注目の超小型コンピュータたち(2) サイネージを作ってみよう
  • 今、注目の超小型コンピュータたち(1) XBMCを載せてみよう

お問合わせフォームはこちら

メールはpetapicoshop@petapico.bizまで

適格請求書発行事業者登録番号のお知らせ


英徳社ホームページはこちら


1 日本国内への配送に適用されます。その他の国についてはこちらをご参照ください
概要 | 利用規約 | 返金条件と返品取消申請書 | 配送/支払い条件 | プライバシーポリシー | サイトマップ
ログイン ログアウト | 編集
  • ホーム
    • ショップからのお得情報
    • CuBox-i Seriesの情報
    • MicroSDの作り方
    • HummingBoard Seriesの情報
    • HummingBoard Edge/Gateの情報
    • IntelSoliPCの情報
    • windows10 IOTの情報
    • ClearFogの情報
    • MacchiatoBinの情報
    • fromSolidRunWebsite
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
    • KODI
    • Cobox-i
    • HummingBoard
    • ソフトウェアTips
    • 外付け
    • カメラ
  • ダイレクトショップ
    • ダイレクトショップ iMX SoC
      • CuBox-Mセット
      • iMX8M Plus
      • iMX8M Plus Mate
      • CuBox-i1 OpenELECWiFi model
      • HummingBoard Pulseセット
      • CuBox-i1 OpenELEC セット
    • WAI WAIセール
      • Sheeva
      • D3
      • SMILE Plug
      • 第1世代CuBox|CuBox-PRO
      • CuBox-i1 セット
    • ダイレクトショップ LX2K
      • LX2160Aファミリー
    • ダイレクトショップ Marvell SoC
      • CEx7 CN9132
      • ClearFog
      • ClearFog Base
      • ClearFog Pro
      • MacchiatoBin Double|Single Shot
      • ClearFog GT 8K
      • MACCHIATObin ClearCloud 8K
      • SolidSense スターターセット
    • ダイレクトショップ intel SoC
    • ダイレクトショップ eRemote
      • eRemote
      • eSensor
    • 12V AC アダプター(PSE対応)
    • CuBox-i1 GeeXboXセット
    • CuBox-i1 OpenELEC+plugin
    • HummingBoard-Gate i1セット
    • HummingBoard-i2eX セット
    • HummingBoard-i4pro セット
    • CuBox-i2 セット
    • CuBox-i2 WiFiセット
    • CuBox-i2eX セット
    • CuBox-i2eX WiFiセット
    • CuBox-i4 Pro セット
    • HummingBoard-i2 セット
    • HummingBoard-i1セット
    • Application microSD Card for CuBox-i
    • Android microSD Card for CuBox-i
    • SolidPC
    • SolidPC SSD 32G
  • DL
    • Media Exposure
  • 英徳社について
  • 問い合わせ
閉じる