【連載特別企画】

技術者が語る、パブリッククラウド活用のすすめ from ニフティクラウド ユーザーブログ

22 IoTデバイスハブを活用して郵便受け監視システムを作ってみた

 

22/23

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

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

そこで、今回は「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]提供: 富士通クラウドテクノロジーズ

22/23

インデックス

連載目次
第23回 起動時スクリプトを用いたサーバーOS設定 part1 ~サーバーOS_アカウントパスワード設定編~
第22回 IoTデバイスハブを活用して郵便受け監視システムを作ってみた
第21回 NIFTY Cloudの脆弱性診断をJenkinsで自動実行し、結果をSlackに通知してみた
第20回 SSHログイン~DNATを添えて~/前編
第19回 ドメイン名の取得とDNSの設定方法
第18回 これから始める人のためのニフティクラウド入門(Windowsサーバー作成編)
第17回 これから始める人のためのニフティクラウド入門(リージョン選択編)
第16回 ownCloudを使ったクラウドストレージ構築(導入編)
第15回 Mackerelでニフティクラウドのサーバーを監視しよう
第14回 Mackerelでニフティクラウドのサーバーを監視しよう
第13回 オブジェクトストレージをベンチマークしてみた
第12回 オブジェクトストレージをベンチマークしてみた
第11回 ニフティクラウドと物理サーバーを比較する(ストレージ編)
第10回 ニフティクラウドと物理サーバーを比較する(CPU編)
第9回 ニフティクラウド SDK for Java を、サンプルソースを利用して動かしてみる。
第8回 Zabbixでニフティクラウドを監視する(Windowsホスト監視編)
第7回 RDB 新サーバータイプ「Type-e」をベンチマークしてみた。
第6回 Zabbixでニフティクラウドを監視する(Linuxホスト監視編)
第5回 Zabbixでニフティクラウドを監視する(導入編)
第4回 ニフティクラウド利用開始時に知っておきたいポイントまとめ
第3回 ニフティクラウドタイマーのご紹介
第2回 シングルページアプリケーション(SPA)を実現する技術(Backbone.js, Angular.js, Ember.js)
第1回 高速ディスクはどれぐらい速いのか?

もっと見る

人気記事

一覧

イチオシ記事

新着記事