こんにちは。見習いエンジニアの大橋です。

宅配便や郵便物が届く予定があるのに外出しなければならない日は、不在中に宅配業者が来ていないか気になって仕方がありません。帰宅するまでに宅配業者が来てしまったかどうか、すでに不在連絡票が郵便受けに入れられてしまったかどうかは、出かけている間にも知りたくなってしまうものでしょう。

そこで、今回は「IoTデバイスハブ」を活用し、宅配物や郵便物が届いたときにメールで伝えてくれたり、遠方にいてもスマートフォンからWebで郵便受けの状態を確認できる「郵便受け監視システム」を作ってみました。

システム概要

こちらが今回製作した郵便受け監視システムの構成とデータの流れになります。 主な構成要素はRaspberry Pi, サーバー, IoTデバイスハブ, ESS, オブジェクトストレージですね。

まずは郵便物の通知フローから説明します。Raspberry Piは、郵便受けの「受け口」の状態をチルトスイッチによって監視します。郵便物が「受け口」に投函される(=チルトスイッチが傾く)と、

1.Raspberry Piに取り付けられたWebカメラが郵便受け内部の写真を撮影し、オブジェクトストレージにアップロードします。
2.次に、写真が撮られたことを通知するためのイベントをIoTデバイスハブに送信します。
3.イベントを受け取ったIoTデバイスハブは、そのデータをWebhooksスマートモジュールに設定されたURLへ転送します。
4.通知を受けたサーバーは、ESSにメールの送信を依頼します。
5.ESSは、ユーザーに対してメールを配信します。

次に郵便物の撮影フローを説明します。ユーザーは郵便物が投函された時の画像以外に、遠隔地からWebアプリを用いることによって、郵便受けの現状の撮影をRaspberry Piに命令し、その画像を取得することができます。郵便物撮影フローは、ユーザーの操作に起因する処理とWebアプリの動作に分解することができます。ここでは、Webアプリの動作を括弧書きで示します。

1.ユーザーはWebアプリにアクセスします。
2.Webアプリはオブジェクトストレージにアップロードされている画像を取得し、表示します。(また、Webアプリは自動で、定期的にオブジェクトストレージから画像を取得し続けます。)
3.ユーザーがWebアプリを用いてコマンドを発行します。
4.IoTデバイスハブはコマンドをRaspberry Piに転送します。
5.コマンドを受け取ったRaspberry Piは、Webカメラによる撮影を行い、その画像をオブジェクトストレージにアップロードします。
6.Webアプリはオブジェクトストレージから画像を再取得し、ユーザーに対して表示します。

ニフティクラウド側の準備

ニフティクラウドのコントロールパネルから各サービスの準備を整えていきます。まず、画面右上のユーザー名をクリック、アカウントメニューを開き、アカウント管理を選択します。ここで、

・ニフティクラウドアカウントのAPIキー
・ニフティクラウドアカウントのシークレットキー

をお控えください。後の設定で必要となります。

IoTデバイスハブの設定

クラウドユーザーガイド(IoTデバイスハブ:プロジェクトの作成)を参考にしながら、

・プロジェクトの作成
・デバイスの登録
・アプリの登録
・ユーザーの登録
・Webhookスマートモジュールの登録

を進めていきます。webhookスマートモジュールについては、Event WebhookのURLに、以下のようなURLを設定してください。
http://${ご自身で用意されたサーバーのIPアドレス}:5000/api/events
参考:クラウドユーザーガイド(IoTデバイスハブ:Webhooks スマートモジュールを利用する)

また、IoTデバイスハブの設定作業では、

・デバイスID ・デバイスAPIキー ・WebhookのURL ・Webhookキー ・デバイスハブユーザーのAPIキー(アプリシミュレーターからご確認頂けます)

をメモを取るなどしてお控えください。

ESSの設定

ダッシュボードにて、「認証キーの表示」をクリック、

・SMTPユーザー名
・SMTPパスワード

を確認し、控えます。

次に、下記を参考にして送信元および送信先となるアドレスを登録します。 クラウドヘルプ(ESS:メールアドレス新規登録)

このとき、登録したメールアドレスを控えてください。

続きは、ニフティクラウド ユーザーブログよりご覧ください。
(別サイトへ移動します)

続きを読む



■目次
>システム概要
>ニフティクラウド側の準備
>IoTデバイスハブの設定
>ESSの設定
>オブジェクトストレージの設定
>Raspberry Pi 3側の準備
>Server側の準備
>動作
>まとめ
この記事の執筆者
富士通クラウドテクノロジーズ 大橋拓馬

[PR]提供: 富士通クラウドテクノロジーズ

[PR]提供: