ラズパイZEROとモーションセンサーで見守りシステムをつくる(その2 事前設定編) | そう備忘録

ラズパイZEROとモーションセンサーで見守りシステムをつくる(その2 事前設定編)

前回からのつづき

ラズパイとモーションセンサーで実家用の見守りシステムを構築した時の2回目。

前回の「全体構成とハードウェア編」はこちら

今回はプログラミング前の、

  • Googleスプレッドシートにアクセスする為の設定
  • LINE Notifyからメッセージを受け取る為の設定
  • ラズパイに必要なモジュールをインストール

に関する記事とする。

今回の記事の範囲

Googleスプレッドシート関連の設定

設定

プログラムから設定用のGoogle Sheetsにアクセスする為の設定を行う。

大まかな手順は以下の通り。

  1. Google Cloud Platformにアクセス
  2. プロジェクトを作成してAPIを有効化する
  3. 認証情報を作成する
  4. アクセス対象のGoogleスプレッドシートを作成して共有設定する
  5. RaspberryPiにGoogleスプレッドシートの操作に必要なモジュールをインストール
  6. 秘密鍵のコピー(プログラム配下の/certディレクトリにコピーした)

詳細な手順は過去記事の「RaspberryPi 3 Model B+からGoogleスプレッドシートへアクセスする方法」を参照の事。

尚、リンク先の記事中でプロジェクト名は”SK-RasPiTest”になっているが実際には”WatchOverProject”にしている。

またサービスアカウントキーを作成するときの役割をリンク先の記事中では”編集者”にしているが実際には”閲覧者”にしている。

今回のシステムではGoogle Sheetは参照するだけなので編集権限は必要ない。

シート例

Googleスプレッドシートは以下のフォーマットにしている。

Googleスプレッドシート設定例

Client_id(A列)

複数のラズパイを設置する前提で端末別に設定が可能なように端末IDをA列に持たせた

Action(B列)

  • RPT:直近24時間の件数報告を行う時刻
  • ALT:指定した時刻の範囲で検知がゼロだった場合、アラート通知を行う
  • EXP:上記ALTを除外する日付

Parameter(C列)

  • ActionがRPT:HH:MM(24時間表記、ゼロ埋めで指定する)
  • ActionがALT:HH:MM-HH:MM(24時間表記、10分単位、ゼロ埋めで指定する)
  • ActionがEXP:YY-MM-DD(上記ALTを実行しない日付を指定する)

Description(D列)

説明欄

プログラムでは使用しないのでコメント等、好きなように使用できる

LINE関連の設定

LINEと連携する為の設定を行う。

大まかな手順は、

  1. LINE Notifyにログイン
  2. マイページからアクセストークンを発行する
  3. 発行されたアクセストークンを保存する(後でプログラムで使用する)

となる。

詳しくは過去記事の「RaspberryPi 3 Model B+でIoT監視カメラをつくる(その2GoogleDriveとLINEの設定)」のLINEに関する記事を参照の事。

下に表示されているのはリンク先の記事で作成した自宅監視カメラのサービス。

LINEとの連携

ラズパイに必要なモジュールをインストールする

ラズパイ(RaspberryPi Zero WH)に追加で必要なモジュールをインストールする。

MQTTのインストール

ラズパイとAWS IoT CoreはMQTTというプロトコル(IBM社とEurotech社のメンバーにより考案されたIoTでの利用に適したプロトコル)で通信する。

ラズパイで動作するMQTT用のモジュールはいくつか存在するが以前に使用した事のあるpaho-mqttをインストールした。

sudo pip3 install paho-mqtt

尚、paho-mqttをPython2.7配下のディレクトリにインストールしてしまうと後々面倒なので事前にPythonのデフォルトをPyhton3にしておくほうが良い。

詳しくは過去記事の「赤外線センサーの結果をRaspberryPi 3 Model B+からAWS IoT経由でQuickSightでグラフ化するまで(その1)」のpaho-mqttに関する記事を参照の事。

pandasのインストール

プログラム中でCSVデータの操作の為にpandas(データ解析を支援するライブラリ)を使った。

今回のCSVの操作はデータ解析という程のものではないが直近24時間のデータの絞り込み等、pandasだと色々と使い勝手が良かったので下記のコマンドでインストールした。

sudo apt-get install python3-pandas

※pip3でインストールすると依存関係で問題がでるとの記事も見かけたのでapt-getでインストールしている。

続く

今回の記事はここで終了。

次回はAWS IoT CoreやDynamoDBの設定の記事とする。

動画

今回の記事の内容を動画にしている。

ラズパイからGoogleSheetへの接続設定やLINEへのメッセージを送信する為の事前準備、IoT Coreに接続するプロトコルMQTT関連モジュールのインストールについて説明しているので確認してみて欲しい。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。