4
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

何にも考えなくてもできるかもしれないRaspberrypiでHomebridgeを使用しLチカをする手順

はじめに

自分でscriptまとめて設定GUI作ってwiki作成できる体制を作ったのでちょっと人に試してもらうための手順メモ

必要なもの

  • Raspberry pi3
  • microSDカードとアダプタ(今回はSillicon Powerの16GB/class10のもの:SP016GBSTHBU1V10SP)
  • ディスプレイ
  • USBキーボード/USBマウス
  • HDMIケーブル(RaspberryPiとディスプレイをつなぐためのもの)
  • コンピュータ(Macbook Air使用)

RaspberryPiのセットアップ

  1. SDカードをフォーマットする

    1. SD card formatterをダウンロードする
    2. SDカードをコンピュータに差し、認識したら名前を設定し上書きフォーマットを行う スクリーンショット 2016-12-27 12.58.10.png
  2. NOOBSを書き込む

    1. NOOBSをダウンロードする スクリーンショット 2016-12-27 13.02.07.png
    2. zipファイルを解凍→SDカードの中に解凍したフォルダの中身をコピーする(フォルダの中身をSDカードにドラッグ&ドロップでできます) スクリーンショット 2016-12-27 13.05.05.png
  3. Raspbianのセッティングをする

    1. SDカード, USBキーボード, USBマウス, HDMIケーブル(ディスプレイにつなぐ)をRaspberrypiに差す
    2. microUSB給電ケーブルを差し電源につなげる
    3. Raspbianのインストールが始まるので、表示されているRaspbianをインストールする

IMG_4207.JPG

Homebridgeのセットアップ

  1. 日本語セットアップ(Mozcのインストール)

    1. https://github.com/nyata/setup_homebridge からDownload zipする github-dl-bar.png
    2. 解凍(unzip) unzip.png
    3. ターミナルを立ち上げる

    bar.png
    8. cd setup_homebridge-masterをターミナルに打ち込んでディレクトリに移動
    9. source japanese-setup.shをターミナルに打ち込んでmozcをインストールする
    10. 途中で[Y/n]て出てくるのでyと打ってエンター
    11. インストールが終わったらPCを再起動

  2. Homebridgeセットアップ

    1. ターミナルを立ち上げる
    2. cd setup_homebridge-masterをターミナルに打ち込んでディレクトリに移動
    3. source setup.shをターミナルに打ち込んで必要なファイル(NodeJSなど)のインストールを行う
      1. 途中で[Y/n]て出てくるのでyと打ってエンター
    4. インストールが終わったら再起動
  3. テスト稼動

    1. ターミナルを立ち上げhomebridge-config-serverと打ち込む
    2. Ctrl+cで一旦落とす
    3. ファイルマネージャを開く
    4. 隠しファイルを表示しpi以下にある.homebridgeに移動
      1. ファイルマネージャで右クリック
        filemanager.png
      2. 隠しファイルの表示をクリック
        hiddenfile.png
    5. setup_homebridge-master/config.json.sample.homebridgeのディレクトリに移動しconfig.jsonに変更
      changename.png

LチカプログラムのDLとセットアップ

セットアップ

  1. https://github.com/nyata/raspi-gpio からDownload zip
  2. 解凍
  3. ファイルマネージャを開きraspi-gpio-masterへ移動
  4. setup_gpio.shをダブルクリックで開きechoから始まる文をコピー
  5. ターミナルを開きcd raspi-gpio-masterと打ち込み解凍したディレクトリに移動
  6. echoで始まる文を1行ずつターミナルにペーストし実行

ようするに

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

を実行してGPIO14ピンをアウトプットに設定してください

Lチカのテスト

  1. 回路を組む
    スクリーンショット 2016-12-27 13.47.44.png
    IMG_4211.JPG

  2. ターミナルを開きcd raspi-gpio-masterと打ち込み解凍したディレクトリに移動

  3. bash script.shを実行し, LEDが光るかを確かめる

SiriからLチカする

  1. デバイスの設定

    1. ターミナルを立ち上げhomebridge-config-serverと打ち込む
    2. Access: http://xxxxのURLをコピーしブラウザからアクセス
    3. 一番↓のeditをクリック
    4. Homebridgeの名前やユーザネームを設定
      スクリーンショット 2016-12-28 12.11.33.png
    5. プルダウンからアクセサリのカテゴリを選択(今回はLockMechanismで説明します)
    6. Nameに操作したいアクセサリの名前(ex. どこでもドア)を入力
      WikiにHAP-nodejsから吸い出したService一覧とそれに属するCharacteristic一覧をまとめました
    7. CurrentLockStatusgetcat /sys/class/gpio/gpio14/valueを入力
    8. TargetLockStatussetbash /home/pi/raspi-gpio-master/script.sh, getcat /sys/class/gpio/gpio14/valueを入力
    9. submitを押して確定
      // TODO: submit画面の文字化け修正
    10. ターミナルでCtrl+cで一度home bridgeを落とす
    11. もう一度ターミナルでhomebridge-config-serverと打ち込む
  2. iPhoneのHomeに登録

    1. Homeを作成
      IMG_4213.png IMG_4214.png
    2. アクセサリの追加
      IMG_4215.png IMG_4216.png
    3. コードを入力
      Homebridgeを走らせているターミナルにコードが表示されているので"このまま追加"をタップし、"手動でコードを入力"を選択、入力する IMG_4217.png コードはこれ↓ スクリーンショット 2016-12-27 14.22.36.png

以上でアクセサリが追加できて、登録したプログラムを実行することができるはずです。
Siriを立ち上げて(Homeボタン長押し)「ドア(登録した名前)を開けて」というとLEDが光ることが確認できるかと思います。
(Homeアプリのアクセサリアイコンのタップでもつけたり消したりできます)
任意のServiceに変えたり名前を変更したりして遊んでみてください!
お疲れ様でした。


アンケートご協力よろしくお願いしますmm
https://docs.google.com/forms/d/1D5FLxx-jIYatSmCyJRBAHb5tL1DqfS6lV7PAywgGzFM/edit

Wikiの編集ももしよかったらご協力よろしくお願いしますmm
https://github.com/nyata/homebridge-config-server/wiki


参考文献

https://github.com/nfarina/homebridge
https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi


メモ

Nameを「xxちゃん」にしてSiriに「xxちゃんあけて」ってやったら動作しました

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
4
Help us understand the problem. What are the problem?