2
0

More than 3 years have passed since last update.

Webカメラとラズパイで、あれ?コンロの火消したっけ?解消

Posted at

image.png

作ったもの

コンロの様子をスマホに送る仕組み

使い方

  • 家の玄関に貼ったNFCタグにスマホでタッチ
  • LINEにコンロの様子が届く

使ったツール

  • Raspberry Pi zero W
  • Webカメラ ロジクール C270n
  • iPhone (NFC連携はiPhone11以降の模様, 「ショートカットのボタン押す」で良いならNFC不要)
  • NFCタグ
  • Node-RED
  • iOS ショートカット
  • LINE Notify

仕組みの大枠

Untitled Diagram (3).png

実際に使っているのは、外出先からでも確認できるように、Beebotteを経由しているが(下図)、長くなるので省略
Untitled Diagram.png

作り方

  1. こちらの記事を参考に、LINEのアクセストークンを入手
    [超簡単]LINE notify を使ってみる

  2. Raspberry PiにWebカメラを接続

  3. Raspberry Pi に fswebcam をインストール

    $ sudo apt install -y fswebcam
    
  4. Raspberry Pi上で、以下のようなシェルスクリプト(fire.sh)を準備 (Node-REDで完結させる方がおしゃれとは思いながらも逃避)

    #!/bin/bash
    ACCESS_TOKEN="<LINEのアクセストークン>"
    PICTURE_PATH="/home/pi/fire.jpg"
    
    # 解像度は1280x720, 日付が見やすいようfont sizeを60に, 文字化けする場合は、sudo apt-get install fonts-noto
    fswebcam -d /dev/video0 -r 1280x720 --font ':60' $PICTURE_PATH
    
    curl -X POST https://notify-api.line.me/api/notify -H "Authorization: Bearer $ACCESS_TOKEN" -F "message=fire monitor" -F 
    "imageFile=@$PICTURE_PATH" 
    
  5. シェルスクリプトに実行権限付与

    $ chmod +x fire.sh
    
  6. Node-REDで、以下のようなフローを作成
    image.png

  7. iPhoneのショートカット作成

    1. ショートカットの「オートメーション」を選択
    2. 「+」で新規作成
    3. 「NFC」を選び、「スキャン」を押して、玄関に貼るNFCタグを読み込み、適当な名前を付ける
    4. 「行う」の部分に、「デバイスを振動させる振動」を追加
    5. 更に、「URL」を追加し、URLに「Raspberry piのアドレス:1880/fire」を記載 (1880は、Node-REDのデフォルトポート fireは上で作ったフローにおける[get]のアドレス)

感想&プラスアルファの工夫

  • これで、火を消したか不安になって引き返す必要がなくなった。
  • コンロのスイッチ?に蓄光シールを貼って、付いているか否かを見やすくした
  • 食器棚にWebカメラを固定するため、3Dプリンターでマウンターを作った
  • カメラの首が可動式になっていたが、動かないようにグルーガンで固定した
  • 今回を家周りトリオロジーの最後にして、次は違う系統を作ろうかなぁ No.1, No.2

Disclaimer

  • 当初、前から持っているRaspberry Piを使い回していたら、何度か撮影するうちに、撮影がコケる現象が発生。 エラー処理をまじめにやっていないため、前に撮影した写真が送られて来た。
  • 火が消えている、安心。と思っていたら実は火がついていたとかあり得るので、利用は自己責任でお願いします。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0