obnizを利用してIoTシステム(サービスシステム)を構築する具体的な例をご紹介します。
obnizを用いたサービス構築例
以下の構成図はBLEの二酸化炭素濃度センサーを用いた、二酸化炭素濃度監視システムの例です。
センサーで取得された二酸化炭素濃度を、エンドユーザーのスマートフォンやタブレットなどにリアルタイム表示します。
アクター
- 二酸化炭素測定サービスの提供者(以下、サービス提供者)
- obniz社(以下、obniz)
- サービスを利用するエンドユーザ
サービスの要件
- センサーで検知した二酸化炭素濃度を端末で閲覧する。
- 二酸化炭素濃度の推移や履歴を閲覧できる。
- 基準値を超えるとアラートを上げる。
- エンドユーザは、CO2センサー、obnizデバイス、端末があればサービスを利用する事ができる。
- 将来的にはサービスが普及して、利用者が増える
エンドユーザがサービスを利用するまでの流れ
- [サービス提供者] 二酸化炭素測定システムを開発(サービスシステム)
- [サービス提供者] obniz Cloudからobnizデバイスで取得した二酸化炭素濃度データを取得するシステムを開発(Hosted App)
- [サービス提供者] CO2濃度センサー、obnizデバイスを調達
- [エンドユーザ] サービス申し込み
- [エンドユーザ] 手元にセンサー、obnizデバイスが届き、アプリにてアカウント登録をして利用開始
完成したシステム
システム構成
①アカウントとデバイスの紐付け
サービス提供者は、obniz Cloudにアカウントを作成します。このアカウントにサービスで利用される全てのobnizデバイスが紐づいていくことになります。
サービス提供者のシステムを介して、obniz Cloudにデバイスの登録を行います。「登録」というのはデバイスとアカウントの紐付けのイメージです。
システムを介した登録フロー
- エンドユーザがobnizデバイスのQRコードをシステムのアプリでスキャン
- システムのアプリが取得したURLをサービスシステムに送信
- サービスシステムはGraphql APIを使用してobniz Cloudにデバイス登録のリクエストを送信
- obnizデバイスとobniz Cloudが繋がり、Hosted App(後述)でデータを取得する準備が完了
- obniz Cloud obnizデバイスのサービス提供者のアカウントへの紐づけ、およびHosted App(後述)との連携を行います。
- Graphql API このAPIを叩くことで、obniz Cloudに対する「デバイス登録リクエスト」および「デバイスとHosted App(後述)との紐付けリクエスト」を行います。 ご利用の際はobniz CloudにてAPIキーを発行して、リクエストの際に所定の形式でリクエストに含めてください。obnizが公開するAPIはGraphqlを採用しています。 詳しくはobnizクラウドAPIをご覧ください。
②Hosted Appによるデータの取得
- センサーで取得した二酸化炭素濃度を、ネットワークを通じobniz Cloudに送信
- Hosted Appにより、obniz Cloudから指定のDBにデータをPOST
obniz Cloudに送信されたデータをサービス提供者のシステムで利用するには、Hosted App(Node.jsアプリ)と呼ばれるシステムを構築します。Hosted Appは、サービスシステムで利用したいデータをobniz Cloudから流し込む土管のようなイメージです。
詳しくはHosted App (Node.jsアプリ) とはをご覧ください。
③取得したデータを用いた処理
obniz Cloudから取得した二酸化炭素データを、サービスシステム内でグラフ表示などの端末で利用可能なデータフォーマットに加工します。
④⑤エンドユーザの利用
サーバからデータを受け取り、端末で描画します。