2017.08.04IoT , Mendixで課題解決 , Tips , アプリ開発

Watson IoTとIBM Blockchainを使用して10日間でIoTアプリケーションを開発する方法

  • このエントリーをはてなブックマークに追加

Nick Ford
2017年3月15日

Internet of Things(IoT)は、よりスマートな業務を推進し、多くのビジネスチャンスを作り出しました。
事実、私たちの周りのあらゆるデバイスや資産は、データをクラウドに情報を送るセンサーを持っています。
当然のことながら、多くの企業がIoTアプリケーションをビジネスに取り入れて新しい経験を積み、コストを削減し、効率を向上させることを熱望しています。

画期的なアイデアは尽きることはありませんが、インスピレーションを得るためのIoTの例はまだまだありません。
企業がMendixでIoTアプリケーションを作成できることを示するため、私たちはIoTアプリケーションを構築しました

 

私たちのIoTアプリケーションの考え方

私たちはIoTアプリケーションのユースケースを考える上で、多くのエキサイティングなことが起きているロジスティクス業界に注目しました。
同時にこのアプリケーションで、IoTとBlockchainを組み合わせたユースケースを実証したいとも思っていました。
そこで私たちは、貨物の出荷を追跡する、オンラインサプライチェーン追跡アプリケーションを作ることに決めました。

製造業者、サプライヤー、運送業者、そして最終的にサプライチェーン全体の顧客が最も気にするのは、運送される商品が無事目的地に到着するかどうかです。
輸送中は、光の照射、温度の変動、揺れ、湿度など、貨物に悪影響を及ぼす要因が多くあります。

多くの取扱業者と運送業者が国際的なサプライチェーンに関わっている場合、確実によい条件で輸送されているかを確認することは難しいです。
もし、輸送時に問題が発生するとどうなるでしょう?
保険会社は、紛失または破損した商品を弁償する必要があり、法的に再製造費用、また報酬の支払いが必要になる可能性があります。

Blockchainは、貨物事故発生時のあらゆる取引の証拠として認められます。

私たちは、サプライチェーン全体を監査するための管理台帳機能を備えたモバイル・ファースト・トラッキング・ソリューションを作成するにあたり、IBM Watson IoTやIBM Blockchainと連携する方法を考え始めました。
チェーンに関わる各業者を保護し、損害が発生したときの支援、積荷の管理、保険者へのケア、ひいては保険料と払い戻し額を削減する方法を作り出したかったのです。

IBM Watson IoTプラットフォームを使用すると、接続されたデバイスやセンサーによって収集されたデータとアプリケーションとの通信が可能になります。
Blockchainは、自動車、製薬、物流、製造など、多くの業界で広く使用されています。
この技術を使用することで、業務の一連の流れを安全に記録することができます。

IoTとBlockchain技術を組み合わせることは、データを監視、追跡、保護できるようにするための非常に強力な組み合わせになっています。

 

フェイル・プルーフ・アセット・マネジメントを使ったIoTアプリケーションの構築

設計プロセス

IoTアプリケーションを設計するとき、エバンジェリストチームはアフィニティ・ダイアグラムを使用しての共同アプローチを採用しました。
慣れない人には
非常にわかりづらいかもしれません。
 

しかし、アフィニティ・ダイアグラムは、設計プロセスの初期段階で使用されるシンプルで強力な手法です。
このダイアグラムと多くのポストイットノートを使用することで、アイデアやコラボレーションを促進し、アプリケーションの機能設計とユースケースの両方を発見するのに役立ちました。

この検討から、私たちは紙とペンを使用して私たちのデザインアイデアを精査および評価するためのざっくりとしたモックアップを作りました。
紙とペンは用意するのが簡単ですので、初期設計のためのよいリソースです。
私たちはいくつかのアイデアを作成しました。
それらのアイデアは比較および評価され、それぞれから最高の機能が選択し、組み合わせた上で再度デザインの検討が行われました。
最終版はAdobe Experience Design(XD)を使用して作成され、インタラクティブなプロトタイプとして制作されました。

 

センサー

アプリケーションを構築する際には、センサデータを使用してコンテナを追跡し、その情報をBlockchainで保護する方法を簡単に示すことを目標としました。
使用するセンサーには、Texas Instrumentsの一般的なセンサータグを使用することにしました。

Texas Instrumentsのセンサータグには、湿度、温度、揺れ、光など、複数のセンサーが含まれています。
センサータグはBluetooth経由でアプリケーションに接続し、アプリケーションはMQTTを使用してIBM IoTにデータを送信します。
このアプリケーションには、Watson IoTへの簡単な接続設定があります。

 

Watson IoTに接続する

Mendix Appstoreを使用することで、IBM Watson IoTへの接続を簡単に作成することができます。

私たちは、このアプリケーションでAppstoreモジュールのMQTTコネクタを使用しました。
このコネクタは、MendixアプリケーションがMQTTトピックを受信出来るようにします。
このシナリオでは、IBM Watsonによって発行されたMQTTトピックを受信したいと考えました。
Texas InstrumentsのセンサータグはデータをIBM Watson IoTに公開し、MendixアプリはIBM Watson IoTのデータを受信し、センサーからのデータにそって動作します。

私たちは、センサーが測定できる項目から、温度、湿度、光、揺れのデータを使用することにしました。

Mendixアプリケーションで、MQTTモジュールを使用し、センサーの受信処理をセットアップしました。
このモジュールを使用すると、MQTTトピックを受信するたびにマイクロフローを実行できます。
このマイクロフローには、JSON形式で渡されるセンサーの値を読み込むために、センサーのデータとMendixのドメインモデルの間のマッピングを設定し、センサー情報をアプリケーションに読み込めるようにしています

IoTフレームワークが設定されたら、ダッシュボードを作成をはじめました。
Google MapsウィジェットやChartJsウィジェットなど、Mendix Appstoreのいくつかのウィジェットを使って、素早く見栄えの良いダッシュボードを構築することができました。
ダッシュボードには、コンテナの位置、光、温度、湿度および揺れが表示され、エンドユーザーに現在の状況の概要を簡単に伝えることができます。

 

Blockchainの使用

Blockchain技術を実証するために、私たちはBlockchainに異常事象のみを記録しようと決めました。
私たちはアプリケーションに各センサーに対する閾値を設定し、閾値を超える値が計測されるたびに、エンジニアにプッシュ通知を送信し、検査タスクを作成し、記録をとるBlockchainを作成しました。

IBM Blockchainテクノロジーには、Blockchainに追加してChainからBlockを取得するためのREST APIインターフェイスが付属しています。
Mendix標準のRESTとの連携機能を使用すると、IBM Blockchainへの連携を簡単に構築できます。
invokeメソッドとchain codeオペレーションを使用することで、センサからアラートが送られるたびにchainにBlockを追加することができます。
これらの機能はRESTおよびJSONマッパーを使用しています。

Blockchainは、発生したすべてのイベントのログを保持するための素晴らしい方法ですが、技術者以外のユーザーに説明するのは難しく、また視覚的に示すことも困難です。
そこで私たちは、chainを視覚化する最良の方法として、イベントの概要をタイムライン形式で作成しました。
タイムラインを使用すると、Blockchainが時間順に一連のイベントであり、各Blockが将来のBlockに影響することを示すことができます。
タイムラインのデータを取得するために、「chain / blocks」というBlockchain APIを使用しました。
chain操作では、chainの長さを表示したり、ドリルダウンしてchain内の個々のblockを表示することができます。
以下は、作成した最終製品のタイムラインです。

 

検査

私たちはMendixの素晴らしいモバイル機能をユーザーに見せたいと思っていました。

そこで、貨物船の従業員がアラート、センサーの読み取り値、通知、および割り当てられた検査タスクを見ることができるモバイルアプリケーションを構築することに決めました。
このモバイルアプリケーションでは、アラートが送信されるたびに、エンジニアがコンテナの検査をできるようにする方法が必要です。
そこでこのアプリの検査部分にて、ユーザーは写真をアップロードし、現在の場所の座標を取得し、検査の日付を追加し、総重量と現在の品質を確認することができるようにしました。
これらの機能はすべてネイティブデバイス機能を使用しています。
また、エンジニアが検査を実行した後、検査結果をPDF形式で生成し、システムに保存します。
このアプリケーションの写真は次のとおりです。

 

最終プロダクト

最終的なソリューションは、アラートを管理するためのモバイルアプリケーションと、IoTからのイベントの追跡 および 追跡結果を表示するダッシュボード機能をもつアプリケーションの両方を組み合わせたものです。
IBM Blockchainを使用してすべてのデータが監査され、サプライチェーン全体の管理台帳機能が提供されます。
このアプリは、メーカーから顧客、保険会社まで、チェーンのすべてのメンバーを保護します。
私たちは、IBM Watsonへのすぐに使用できるコネクタを使用し、コードを一行も書かずに、10日間でアプリケーションを作成しました。

How we Built an IoT Application in 10 Days Using Watson IoT and IBM Blockchain

※このBlogはMendix社が作成してビルドシステムが翻訳したものです。

  • このエントリーをはてなブックマークに追加