MODE JAPAN Developer Blog

Here you'll learn all you need to know about developing with MODE.

MODE JAPAN IoT セミナー 開催レポート

はじめまして。MODE エンジニアの武田と申します。2019年9月20日(金)に「MODE JAPAN IoT セミナー」を開催しました。MODE JAPAN IoT セミナーは昨年度に引き続き今年で2年目となります。今年も多くのお客さまにご来場いただきました。誠にありがとうございます。セミナーではユーザー企業様、パートナー企業様からの事例講演がありました。また、MODEからは新しいサービスと新機能の発表を行いました。今回はMODEの発表の中から技術的なトピックをご紹介します。

Beyond IoT (MODE, inc. CEO/Co-Founder 上田)

あらゆる機器がクラウドにつながった世界が確実に近づいてきています。コンシューマー向けのIoTデバイスのみにとどまらず、UberやAmazon.comに代表されるように実世界のデータをビジネスに活用することは当たり前のこととなってきました。

f:id:mode_t:20190930110136j:plain

MODEは、IoT技術を活用した、実世界のデータを活用したビジネスのためのソリューションを提供しています。

IoTを始めることはさほど難しくなく、PoCであればRaspberry PIや一般的なクラウドサービスを活用して簡単に実現できるようになりました。しかし、実際の業務に使えるスケールで安定稼働するIoTシステムを開発するためには多くのノウハウと作り込みが必要となります。

f:id:mode_t:20190927161548p:plain

MODEの技術を利用していただくことで、安定稼働が難しいIoTシステムを構築したり運用したりすることなく、実世界のデータを活用するビジネスやその業務・サービスアプリケーションの開発に注力していただくことができます。

f:id:mode_t:20190927163258p:plain

MODEは実データ収集ソリューションを業務用途に合わせてパッケージングして提供しています。これらのサービスは全てサブスクリプション型のクラウドサービスとして提供しており、1台だけを使った期間限定のPoCから100台、1万台以上の24時間365日の本番稼働まで、お客様のビジネスの規模・フェーズに合わせてご利用いただくことができます。

f:id:mode_t:20190927165246p:plain

MODE アップデート (MODE Japan Tech Lead 篠田)

MODEの技術が提供していること

MODEのサービスはREST APIやMQTTといった一般的なインターフェース技術を利用しており、それらのインターフェースを通してお客さまのシステムやデバイスと連携できるようになっています。

f:id:mode_t:20190930115006p:plain

一般的なクラウドもIoT機能を提供していますが、そのシステムは自分たちで構築し自分たちで運用する必要があります。MODEはIoTプロジェクトで必要となるシステムをサービスとして提供しています。これによりお客さまは自分たちのビジネス開発やセンサー/各種機器開発に注力していただくことができます。

f:id:mode_t:20190930115052p:plain

MODE センサークラウド

MODEは、センサーデータをクラウドで活用するためのMODE センサークラウドを提供しています。MODEセンサークラウドはあらゆるセンサーをつなぐゲートウェイとセンサーデータに特化した時系列データベース、データを可視化するユーザーインターフェースからなります。

www.tinkermode.jp

MODE センサークラウド・開発キット

今回、MODE センサークラウドのユーザーインターフェースのソースコードをTypeScriptとReactで書き直し、MITライセンスで無償提供することを発表しました。今後はお客様のビジネス業務やサービスアプリケーションに合わせてお客さま自身でカスタマイズしながらご利用いただけます。また、時系列グラフなどのコンポーネントをお客さまのシステムの部品として使っていただくこともできます。

f:id:mode_t:20190930115648p:plain

開発者版センサー・ゲートウェイ

今回、センサーデバイスやエッジ処理アプリケーションの開発者向けに、開発者版センサー・ゲートウェイを提供することを発表しました。MODEはデバイスのクラウド連携時に必須となるデバイス認証やデータ到達保証といった機能をセンサー・ゲートウェイ基本機能として提供します。開発者はクラウドとの連携に関する処理を書く必要はありません。自分たちの独自アプリケーション開発やアルゴリズム開発に集中することができます。

f:id:mode_t:20190930115440p:plain

開発者版センサー・ゲートウェイのOSはUbuntu 18.04を利用します。その上で動くアプリケーションであればアプリケーションの開発言語やミドルウェアは問いません。センサー・ゲートウェイ基本機能とお客さまのプログラムとの通信はLocal APIを通して行います。開発者はデバイスとの通信プロトコルやエッジ処理のアルゴリズムをMODEに対して開示することなくMODEセンサークラウドを活用したデバイスアプリケーションを開発・提供することができます。

Local API

Local APIとは、センサー・ゲートウェイ本体プログラムがゲートウェイ内部限定で公開するHTTPインターフェースであり、お客さまが独自開発するアプリケーションとセンサー・ゲートウェイ本体プログラムとのインターフェースとなります。

f:id:mode_t:20190930120054p:plain

Local APIを使うと、たった2つの作業を行うだけで新しいセンサーをセンサー・クラウドに追加することができます。

  • センサースキーマの通知: センサーのモデル名とデータ項目を通知する。
  • センサーデータの送信: センサーのデバイスIDを指定してそのデータを送信する。

これらの2つを行うプログラムを書くだけで、センサーのデータをクラウドに蓄積し、MODEセンサークラウド上で可視化することができます。また、センサー側でクラウドからのコマンドを受信することもできます。クラウド認証やデータ到達保証などを考える必要はありません。それらはセンサー・ゲートウェイ本体プログラムが行います。

Guaranteed Delivery (データの到達保証)

MODEセンサークラウドでは時系列データの管理に最適化した自社開発の時系列データベース(Time Series Database:略称 TSDB)を利用しています。今回、時系列データベースに対するデータの到達保証の仕組みを追加しました。データの到達保証は実世界のデータをクラウドにあげてビジネスで活用するためには必須の機能と考えます。LTEやWiFiといった無線ネットワークは不安定であり、突然圏外になったり切断・再接続を行ったりすることがあります。Guaranteed Deliveryでは、TSDBにデータが書き込まれたことが確認できるまでデータの送信を繰り返し行うことでデータの欠損を防ぎます。また、不安定なネットワーク環境下では同一データが複数回送信されたりデータの順序が入れ替わったりすることがあります。Guaranteed Delivery は、複数回同一のデータが送信されてもひとつのデータとして記録します。

f:id:mode_t:20190930120240p:plain

MODE モビリティクラウド

MODEは、商用車や産業用車両などのモビリティビジネス領域においてセンサーデータを活用するためのMODE モビリティクラウドを提供しています。MODE モビリティクラウドは車両に設置するゲートウェイとモビリティ領域特有である高頻度/大容量データに特化したデータストア(Stream Data Service:略称 SDS)、データを可視化するユーザーインターフェースからなります。

www.tinkermode.jp

Video feature (危険運転時の動画撮影)

今回、危険運転時の動画撮影機能を新機能として追加しました。センサーデバイスが検知した危険運転の前後10秒の動画を記録し、クラウド上にアップロードします。これはセンサーデバイスとゲートウェイ内のエッジ側ロジックを連携して実現しています。

f:id:mode_t:20190930120855p:plain

MODE プラットフォーム

MODEは、IoTプロジェクトの開発者向けに、IoTプロジェクトで必要となるコア機能をMODE プラットフォームとして提供しています。これは複数のプロジェクトにて我々自身が内部的に利用してきた機能をベースに、よりよい形で作り直したうえで、開発者の皆さまにクラウドサービスとして提供するものです。

dev.tinkermode.com

遠隔ファームウェアアップデート (OTAアップデート)

今回、MODE プラットフォームの新機能として、デバイスに対する遠隔ファームウェアアップデート機能(On The Air アップデート: 略称OTAアップデート)を追加しました。これは、MODE社内の内部機能として利用していたものを、実運用の経験をもとに再設計し、IoTプロジェクトの開発者の皆さまに機能としてご提供するものです。

OTAアップデート機能では、チャンネル、バンドル、コンポーネントの3つの階層を使ってファームウェアのモジュール及びその配布先デバイスを管理することができます。

ファームウェアの更新はリスクを伴います。テスト環境では正常に動作しても現場では環境の違いから正常に動作しないことも起こりえます。また、多数のデバイスを同時にアップデートしてしまうとネットワークの負荷が問題になることも起こりえます。チャンネルを使うことで、配布先やバージョンをコントロールしながら新しいファームウェアの配布を進めることができます。

2020年のロードマップ

MODEでは2020年も引き続き、お客さまが実世界のデータを活用するビジネスに注力できるようサービスの強化を続けていきます。また、今回、お客さまのビジネスを支援する新たなサービスとしてMODE Labsを発表しました。MODE Labsの詳細はこちらをご覧ください。 www.tinkermode.jp

今後、このDeveloper Blogでは各機能の詳細や実践的な使い方、よりコアな技術的な話もしていこうと考えています。引き続き、MODEにご注目ください!