Help us understand the problem. What is going on with this article?

「Hey, Siri! LEDつけて」でLEDを点灯させる

More than 3 years have passed since last update.

前提

RaspberryPi初めて使ったメモ

やりたいこと

「Hey, Siri! LEDつけて」でLEDを点灯させる

やる方法

AppleのSiriのHomekitを使ってRaspberrypi3に接続したLEDを光らせる

使うもの

  • Raspberry Pi 3
  • LED
  • ブレッドボード
  • 抵抗(2kΩ)
  • ジャンパー線(メスとオスの先端になっているもの)2本
  • Homebridge

ちょっとした詳細

Homekit

Siri(iOSのデバイス)から家電を操作するためのフレームワーク

Homebridge

HomekitのAPI機能をエミュレートするためのNode.jsサーバ

Node.js

サーバーサイドjavascript
http://qiita.com/hshimo/items/1ecb7ed1b567aacbe559
で説明されていた「Apache+mod_php+webアプリケーション」がなんとなくわかりやすかったです。

npm

Node.jsのパッケージマネージャー

やりかた

RaspberryPiのセットアップ

うっかり4GBのSDカードを買ったのでRaspbianのLiteじゃない版が入らなくて、CUIのみのLITE版をインストールする

  1. リンク先からRaspbian jessie Liteをダウンロード
  2. ちょっと忘れてしまったので割愛します
  3. が、MacのterminalからSDカードにosのイメージを書き込みました
  • RaspberryPiの環境セットアップ
  • Wifi設定とSSH接続できるようにする この辺も忘れてしまいました…

Homebridgeのインストール

NodeJSのインストール

HomebridgeのWikiを参考にしてインストールを行いました

apt-getの更新

sudo apt-get update
sudo apt-get upgrade

gitとmakeのインストール
sudo apt-get install git make
(HAP-NodeJSかどこかで使われているみたいで、これがないとエラーがでました)

NodeJSのインストール
最初は適当にやっていたのですが、エラーがたくさん出たので色々探していて、homebridgeのwikiにあったリンクでやると通ったのでおとなしく従ったほうが良いと思いました。
RaspbianのJessieだとg++のインストールはいらないのですが、Wheezyはver4.9を使う設定にする必要があるみたいなので、HomebridgeのWikiに従って行いました。

  • nodebrewのインストール

nodebrewを使ってNodeJSのバージョン管理をやろうと思ったのでとりあえず入れます
curl -L git.io/nodebrew | perl - setup
パスを指定
export PATH=$HOME/.nodebrew/current/bin:$PATH

  • nodeのインストール

nodebrewをつかってNodeJSをインストール
nodebrew install-binary stable
使うバージョンを指定
nodebrew alias default v6.1.0

  • npmのインストール

sudo apt-get install npm

  • /usr/localにコピー(なんかいろいろやった挙句これをやったらhomebridgeがインストールできた)

sudo cp -R * /usr/local/

追記
場所をcd /home/pi/.nodebrew/node/v6.2.2/に移動してからsudo cp -R * /usr/local/を行う

Homebridgeのインストール

sudo npm install -g homebridge

LEDの配線を行う

RaspberryPi3のピン配置を参考にBCM14とGroundにジャンパー線を入れる
LEDは足が長いほうから足が短いほうに流れる
IMG_1813.JPG

プラグインのインストール

BCM14を出力に指定する

echo 14 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio14/direction

□追記
この方法だとRaspberryPiをリブートした時にリセットされてしまうため、毎回このコマンドを叩く必要があるみたいです
(/etc/init.d/に起動スクリプトを置くと良いみたいです)

LEDをONにする(つないだ時点ですでに光ってる)
echo 1 > /sys/class/gpio/gpio14/value
LEDをOFFにする
echo 0 > /sys/class/gpio/gpio14/value

のコマンドを叩くとON/OFFを操作できるため、今回はSiriからコマンドでON/OFFを操作するプラグインをインストールする。
https://github.com/senyoltw/homebridge-cmd
sudo npm install -g homebridge-cmd

プラグインのセットアップ

先ほど書いたコマンドで操作するため、.homebridge/config.jsonを作成し、その中に下記を記述します。

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "031-45-154"
    },

    "description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",

    "accessories": [
        {
            "accessory": "CMD",
            "name": "LED",
            "on_cmd": "echo 1 > /sys/class/gpio/gpio14/value",
            "off_cmd": "echo 0 > /sys/class/gpio/gpio14/value"
        }
    ]
}

usernameは私の使っているRaspberryPiのMACアドレスに変更しましたが、小文字で表記するとエラーが出ました。
on_cmdoff_cmdに先ほどのON/OFFのコマンドを書いておきます。

iPhoneアプリのインストール

insteon+をインストールしました。
HomebridgeのPINを入力します(この場合は"031-45-154")

これで動くはず

参考文献

http://senyoltw.hatenablog.jp/entry/2015/12/07/052951
すごく参考にさせていただいて、プラグインも使用させていただきました。
https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi
http://qiita.com/hshimo/items/1ecb7ed1b567aacbe559

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした