勉強会に行ってみた!第43回 「ドア監視アプリを作ろう!」
event

勉強会に行ってみた!第43回
「ドア監視アプリを作ろう!」

2016.11.22

今回参加したのは、「ニフティクラウドmobile backend(以下、mobile backend)」を使ってドア監視アプリを作成する、IoTハンズオンセミナーです。ドアの開閉情報をmobile backendに連携し、プッシュ通知がAndroidスマートフォンに届くまでを体験します。2時間半で回路の構築からアプリ作成、プッシュ通知配信まで行う、非常に充実した内容でした。

河村真里

会場は新宿にあるニフティ本社の18階。

10人の少人数制セミナーで、分からないときはすぐに講師のディン トゥイズオンさんが丁寧にサポートしてくださいました。

回路の構築

セミナーの前半ではドアセンサーをRaspberry PiにつなげNode-REDでデータを保存し、mobile backendと連携するところまでを行います。まずRaspberry Pi 2 model B、磁石リードスイッチセンサー、ブレッドボード、ジャンパーコードなどを組み合わせ、以下のような回路を作成します。

ドアの開閉によって電流が流れ、それが0(開)か1(閉)の情報として渡される仕組みになっています。回路が完成したらRaspberry Piの電源を入れて、Node-REDにアクセス。Node-REDでは以下のようなフローを作成しておきます。

DoorStatusINがRaspberry Piから0、1の信号を受け取り、この情報がsaveDataToServerに保存されます。もうひとつのDebug out putはデバッグ用のノードです。またsaveDataToServerの保存処理は、以下のように実装します。

ニフティクラウドmobile backendとの連携

続いてはmobile backendとの連携作業です。mobile backendにログインし、アプリの新規作成処理を行います。すると2つのAPIキーが発行されますので、これをsaveDataToServerのAPIキー欄に設定します。

これでドアセンサーとmobile backendの連携までは完了です。mobile backendの「データストア」という画面を開きDoorDataクラスを確認すると、ドアの開閉情報が保存されています。「DoorStatus」欄にある1か0の数字が開閉情報で、そのほか開閉した日時なども表示されます。

ニフティクラウドmobile backendと
スマートフォンの連携

セミナーの後半は、mobile backendとAndroidスマートフォンの連携作業です。ここではMonacaというスマートフォン・タブレット向けアプリ開発環境を利用します。

今回はGithubにあるプロジェクトをインポートして、コードは一部分のみ作成します。プロジェクトのインポートが完了したらSDKをインストールして、その後index.htmlにAPIキーを設定しましょう。

設定が完了したら、ドアのステータスを表示する処理から作成していきます。DoorDataクラスを検索するオブジェクトを作成し、検索条件を設定して画像を表示させるというシンプルな処理です。保存した日付(createDate)の順番にデータを検索し、ステータスが1だったらドアが閉じた画像、0だったら開いた画像を表示します。

続いてタイムラインを表示する処理を作成します。こちらも保存した日付(createDate)の順番にデータを検索し、取得したステータスに応じてタイムラインデータを作成します。タイムラインの作成には、jQuery-TimelineMeというプラグインを使用しています。完成すると、ドアの画像の下に開閉履歴が表示されるようになります。

スマートフォンにプッシュ通知を送る

最後は、スマートフォンにプッシュ通知を送る処理を作成します。ここで使うのは、mobile backendのプッシュ通知機能。サーバー不要でiPhoneやAndroidスマートフォンにプッシュ通知を送ることができます。今回は設定が簡単なAndroidスマートフォンで実践します。

Raspberry Pi側では「SendPush」の設定をYesにして、「PushTiming」に通知タイミングを、「PushDevice」に端末の種類を設定しましょう。

アプリ側ではMonacaの「設定」⇒「Cordovaプラグインの管理」からmobile backendのプラグインを検索し、有効に設定します。そしてindex.htmlにプッシュ通知実装コードを追加します。

次にAndroidのプッシュ通知設定を行うため、GoogleのFirebaseにアクセスし、新規プロジェクトの作成をしてAPIキーと送信者IDを取得します。

そしてmobile backendのダッシュボード⇒プッシュ通知を開いて、先ほど取得したAPIキーを設定します。

再びMonacaでindex.htmlを開いて、先ほど記述したコードにFirebaseで取得した送信者IDを設定します。あとはビルドをしてアプリを端末にインストールすれば完了です!ドアを開閉すると、スマートフォンにプッシュ通知が届くのが確認できます。

まとめ

今回のセミナーでは、たった2時間半で回路の構築からドアの開閉情報を確認できるアプリ作成、そしてプッシュ通知の実装、配信まで行うことができました。実際に手を動かして作業することで、理解度を深め、満足度を得られるのがハンズオンセミナーの魅力です。「ドア監視アプリ」と聞くと難しそうなイメージがありますが、「ニフティクラウドmobile backend」を使えば意外と簡単に作成することができました。外出中にドアが開いたら知らせてくれる、防犯アプリなどに活用できそうですね。

原稿:河村真里
SEとして勤務後、ライターに転身。何でも手を出したくなる雑食系。
IT関連情報のほか、旅行、グルメ、インテリアなど幅広いジャンルを執筆しています。

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW