SORACOM Blog

ソラコムの最新情報をお届けします

新機能: SORACOM Harvest に「複数デバイスの同時表示」「CSVダウンロード」が追加

2月は今日が最終日、ソラコム 松下(max)です。

2016年の冬にリリースし、すでに多くの皆さんにお使いいただいている SORACOM Harvest に、また新たな機能が追加されました!

今回、追加されたのはこの二つです。

SORACOM Harvest とは?

あらためて紹介しますと、 SORACOM Harvest とは「IoTデバイスからのデータを収集、蓄積、可視化」するサービスです。

SORACOM Harvest icon

IoTシステムの初期段階で困るのが、デバイスから出力されたデータの可視化ではありませんか?データの可視化をおこなうクラウドサービスは数多くありますが、サインアップや設定の他にも SDK (Software Development Kit) のセットアップが必要になったりと、いろいろ準備が大変です。

SORACOM Harvest は 別途クラウドシステムやストレージを準備することなく、データの収集、保存、可視化までの一連の流れを手軽に実現することができます。アプリケーションの準備が整わずともIoTデバイスのデータの可視化を実現するサービスです。

設定も極めて容易で、下記の通り SORACOM Harvest を ON にする だけです。これで harvest.soracom.io というアドレスが IoT デバイス向けに開かれますので、そこに HTTP だけでなく TCP や UDP で送信するだけで蓄積、可視化されるというお手軽さです。

たとえば Linux OS 等から curlnc といったコマンドを使うだけでデータの送信と蓄積、可視化が可能です。

curl コマンドを利用した送信例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ curl -v --data '{"value1":110}' harvest.soracom.io
* Rebuilt URL to: harvest.soracom.io/
*   Trying x.x.x.x...
* Connected to harvest.soracom.io (x.x.x.x) port 80 (#0)
> POST / HTTP/1.1
> Host: harvest.soracom.io
> User-Agent: curl/7.47.0
> Accept: */*
> Content-Length: 14
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 14 out of 14 bytes
< HTTP/1.1 201 Created
< Date: Sun, 25 Feb 2018 07:46:11 GMT
< Server: x.x.x.x
< Content-Length: 0
< Connection: Close
<
* Closing connection 0

nc コマンドを利用した送信例

1
2
$ echo -en 10 | nc -q 1 -u harvest.soracom.io 8514
201

Linux OS だけでなく TCP/IP ネットワークスタックを持っていれば、同様に使っていただくことができます。

新機能 1: 複数デバイスのデータを同時表示

複数の SIM (LoRa や Sigfox も同様) のデータを、一つの画面で同時に表示できるようになりました!

複数のデバイスから出力されたデータを一括してチェックしたり、比較、相関を見たりすることがこれで可能になります。

グラフだけでなく、データテーブルも複数表示に対応しています。

使い方は、表示したい SIM のチェックボックスをつけてから [操作] > [データを確認] とします。この操作は今までの SORACOM Harvest と変わりありませんので、簡単にお使いいただくことができます。

※同時に表示可能なデバイス数は5、自動更新の間隔が1台の時は5秒だったものが60秒へ延ばされます。

新機能 2: データダウンロード機能

SORACOM Harvest に蓄積されたデータを取り出すために今まで API をご利用いただいておりましたが、データを Web のコンソール画面上から直接ダウンロードできるようになりました!

使い方は、データテーブルに新たに加わった [ダウンロード] から形式を指定するだけです。

グラフ用データを CSV でダウンロードすると、内容はこのような形になります。 (Visual Studio Code と Rainbow CSV というプラグインを利用しています)

※ダウンロードデータの内容や期間範囲は、 Web コンソール上で表示しているデータになります。

API (コマンドライン) からのデータ取得方法

従来からご利用いただける方法として API を通じたデータ取得も、引き続きご利用いただけます。

API は soracom-cli という Go 言語製のコマンドラインツールをご利用いただくのが簡単です。

セットアップの詳細な手順は GitHub soracom/soracom-cli をご覧いただくとして、ここでは soracom-cli を用いたデータ取得についてご紹介します。

soracom data get --imsi IMSIの番号 でデータが取得できます。オプションで取得範囲や件数を指定することも可能です。

1
2
3
4
5
6
7
8
9
10
11
12
13
~$ soracom data get --imsi $IMSI
[
  {
    "content": "{\"value1\":12}",
    "contentType": "application/json",
    "time": 1519782341888
  },
  {
    "content": "{\"value1\":3}",
    "contentType": "application/json",
    "time": 1519782340704
  }
]

jq コマンド と組み合わせる事で CSV 化も可能になります。

1
2
3
$ soracom data get --imsi $IMSI | jq -r '.[] | [(.time/1000|todate), ((.content|fromjson).value1)] | @csv'
"2018-02-28T01:45:41Z",12
"2018-02-28T01:45:40Z",3

jq における書式については jq のマニュアル をご覧ください。利用のポイントですが SORACOM Harvest が出力する time の精度がミリ秒に対し、 jq では秒までがサポートになるため 1000 で割ってから todate すると、日付文字列として復元できます。また content 内には JSON として解釈できる文字列が入っています。そのため jq の fromjson を利用することで JSON 化できます。

※ API 経由での CSV 形式のダウンロードには対応しておりません(2018年2月現在)ので、本ブログで紹介している jq を用いた方法をご活用ください!

おわりに

SORACOM Harvest は、IoTのシステムの開発初期段階やトラブルシュートにご利用いただいているケースが多くありますが、表現力が増えたことでモニタリングのツールとしてもご活用いただけると思います。

クラウドなどのサービスのセットアップが不要というメリットを最大限に活かして、みなさまのIoTシステム開発の速度向上にお役立てください!

ソラコム “MAX” 松下

ソラコムが「日本ベンチャー大賞」 経済産業大臣賞 受賞!

日本ベンチャー大賞 経済産業大臣賞

ソラコムは、KDDIとともに、「日本ベンチャー大賞」 経済産業大臣賞「ベンチャー企業・大企業等連携賞 」を受賞しました。

「日本ベンチャー大賞」は、若者などのロールモデルとなるような、インパクトのある新事業を創出した起業家やベンチャー企業を表彰し称える制度で、経済産業大臣賞「ベンチャー企業・大企業等連携賞 」は、ベンチャー企業と大企業等の連携による新事業創出に関し、最も高く評価された連携に送られる賞です。

2018年2月26日に、首相官邸で行われた授与式が行われました。

授与式では、世耕経済産業大臣より賞状を授与いただきました。また、来賓の皆様に、ブースにてソラコムのサービスについて展示でご紹介しました。

安倍首相は授与式のスピーチでIoTの可能性について言及しました。

「ビッグデータ、IoT、人工知能。革新的なイノベーションによって、今、第四次産業革命とも呼ぶべき歴史的な変革が起きています。従来の技術的な制約を乗り越え、人と人、人と物を直接つなぐことによって、全く新しい付加価値が生まれる。その可能性はどんどんと高まっています。」

ソラコムは引き続き、「ヒトとモノをつなげ共鳴する社会へ」をビジョンに、IoT通信プラットフォーム「SORACOM」を通じて、様々な産業のIoTビジネス活用を進化させていきます。

経済産業省 世耕大臣からの授与

日本ベンチャー大賞 受賞者

安倍首相との記念撮影

左から ソラコムCEO玉川 安倍首相 KDDI 高橋副社長

ソラコムプレスリリース

経済産業省ウェブサイト

首相官邸ウェブサイト

政府インターネットテレビ

ソラコム 田渕

Air SIM の有効期限の期限切れ時のアクションに「利用中断」が追加されました。

このたび AirSIM の有効期限の期限切れ時のアクションに「利用中断」が追加されましたのでお知らせします!

Air SIM ではこれまでも有効期限を設定することができました。設定した有効期限を過ぎると指定したアクションを実行します。アクションは以下のとおりです。

  • 保留 - 有効期限を過ぎると、新規セッションの接続ができなくなります。
  • セッション切断 - 有効期限を過ぎると、現在接続されているセッションを切断します。
  • 休止 - 有効期限を過ぎると、現在接続されているセッションを切断し、ステータスを休止中に変更します。休止中状態では新しいセッションを接続することができなくなります。
  • 解約 - 有効期限を過ぎると、SIM を解約します。解約された SIM を再び使用することはできませんのでご注意ください。

詳細はAir SIM に有効期限を設定するもあわせてご確認ください。

このアクションに「利用中断」が追加されました。

当機能は、期間を限定して、セルラー通信込みでエンドユーザーにデバイスを提供しているパートナー様からご要望をいただきました。このパートナー様のサービスでは、セルラー通信込みでデバイスを提供されています。ただし、ずっとセルラー通信を提供するのではなく、たとえば1年後に通信はできなくなります。その後、お客様からの申請や支払いによって、再度セルラー通信を使っていただけるようになります。

利用中断中(Suspended)のステータスにすることで、データ通信ができなくなり、基本料金もお得になります。 料金は、日本向けAirSIM、グローバル向けAirSIMによって、少し異なります。

日本向けAirSIMの場合

  • 使用開始後は 1 日 10 円発生する基本料金(データ通信のみのSIMの場合)が、1 日 5 円となります。
  • 「利用中断中」状態への変更 1 回につき、SIM 1 枚あたり 300円の設定変更料金が発生します。

グローバル向けAirSIMの場合

  • 使用開始後は 1 日 0.06 USD 発生する基本料金が無料となります。
  • 「利用開始待ち/利用中断中」から「使用中/休止中」状態への変更 1 回につき、SIM 1 枚あたりアクティベーション料金(1.8 USD) が発生します。

例えば、スキー場のロッカーとリフトは、冬のみ稼働する場合がほとんどです。また、農業モニターと散水システムでは、春や夏のみ稼働します。そういった場合に、コストを抑えることができます。

Air SIM の有効期限の設定は簡単です。

ユーザーコンソールのSIM管理メニューから対象のAir SIMの有効期限の編集マークをクリックします。(有効期限にマウスを合わせると表示されます。)

表示された画面から有効期限とアクションを選択します。

ぜひ、ご利用ください!

ソラコム江木

スマート工場Expo出展

1月17日(水)-19日(金)に東京ビッグサイトで開催されたスマート工場Expo2018に、コンテック社・ブレインズテクノロジー社・KYOSO社と共に出展いたしました。 3日間は、大変多くのお客様にブースにお立ち寄りいただき、誠にありがとうございました。 soracom

当日の様子を簡単にですが、ご紹介させていただきます。

コンテックさん展示

コンテックさんブースでは、マルチベンダーのPLCデータを取得可能なM2M向けゲートウェイの展示と、そのゲートウェイを利用したデモを展示しました。デモでは、実際にキーエンスさん、オムロンさん、三菱電機さんのデータを吸い上げ、コンテックさんが提供する可視化ソリューションでデータを可視化。もちろん、コンテックさんの可視化ソリューションをそのまま利用することも、自社のクラウドにデータを送ることが可能です。 コンテック社デバイスのご紹介ページ コンテック社パートナーページ contec

ブレインズテクノロジーさん展示

ブレインズテクノロジーさんブースでは、大規模データを機械学習分析し、それを故障の予兆検知に生かす「impulse」の展示とそれを利用したデモを展示しました。大規模データや、機械学習、予兆検知などと言った言葉は、展示会にいらっしゃった方にとても響いた模様です。 ブレインズテクノロジー社パートナーページ brains_tech

KYOSOさん展示

IoT.Kyotoを提供するKYOSOさんは、インテグレーションパートナーとして、様々なIoTの導入支援をされています。フジテックさんのエレベーター環境情報の可視化、繊維メーカートーア紡さんの工場内電力使用状況の監視をダッシュボードでリアルタイムに可視化をする支援をされました。 株式会社トーア紡コーポレーション様事例 KYOSO社パートナーページ kyoso

なかなか1社では実行することが難しいIoTシステムの導入を実現するには、各領域を得意とする専門家と組むことで、より早く進めていくことが可能になります。

2月19日(月)は、この3社と共同で製造業おけるIoT活用セミナーを開催します。 製造現場ですぐに始められるIoTとは何か、製造業で始まっている導入事例、導入における課題や解決策を、「通信デバイス」「見える化」「予兆検知」の3つの分野からご紹介します。ぜひ奮ってご参加ください。 2月19日(月)ソラコム赤坂オフィス 製造業におけるIoT活用セミナー お申し込みページ

ぜひ奮ってご参加ください。

ソラコム 熊崎

SORACOM Beam が Azure IoT Hub に対応しました

本日、SORACOM Beam が Azure IoT Hub の MQTT 接続に対応しました! SORACOM Beam を使うと、Azure IoT device SDK が非対応のデバイスであっても簡単に Azure IoT Hub に接続し、デバイスからクラウドへのデータ収集だけでなく C2D メッセージ(クラウドからデバイスへのメッセージ)が送信出来るようになり、より高度な IoT システムを簡単に構築出来るようになります。

Beam x IoT Hub

背景

もともと SORACOM Beam は HTTP や MQTT などの一般的なプロトコルをサポートするという方針で開発されてきました。しかし、クラウドサービスプロバイダーが提供する IoT デバイス向け接続サービスが次々と発表される中、プロトコル自体は MQTT であっても、よりセキュアに接続を行なうために接続の都度異なるトークンを計算する必要があるような場合には、CPUやメモリなどのリソースに制限のあるデバイスでの接続が難しいケースがありました。

今回の Azure IoT Hub への MQTT 接続では Azure の SAS トークンベースの認証方式に対応しており、CPUやメモリなどのリソースが潤沢でないようなマイコンでも SORACOM Air で接続している場合には SORACOM Beam を使うことで、Azure への接続処理がデバイスの負担にならないような形で接続することが可能です。

利用方法

以下のガイドを参照して下さい。

デモ

Wio LTE を使ったサンプルを実装してみました。

Azure Portal から、デバイスに対して RGB の カラーコードを送信したら、WioLTEのフルカラー LED の色が変わるというサンプルです。

SORACOM のコーポレートカラーのチェレステ (#34cdd7) を送ってみます。

SendMessage

すぐに Wio LTE にメッセージが届き、LED の色が変わります。

Wio LTE demo

シリアルコンソールログ

1
2
3
4
5
6
7
8
9
--- START ---------------------------------------------------
### I/O Initialize.
### Power supply ON.
### Turn on or reset.
### Connecting to "soracom.io".
### Connecting to MQTT server "beam.soracom.io"
Publish:{"uptime":21}
Subscribe:#34cdd7
Setting LED as #34cdd7

プログラムコード

WioLTE for Arduino ライブラリmqtt/mqtt-client スケッチをベースにしています。

コードの差分は以下のようになります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
10c10
< #define MQTT_SERVER_HOST  "hostname"
---
> #define MQTT_SERVER_HOST  "beam.soracom.io"
14,15c14,15
< #define OUT_TOPIC         "outTopic"
< #define IN_TOPIC          "inTopic"
---
> #define OUT_TOPIC         "devices/WioLTE/messages/events/"
> #define IN_TOPIC          "devices/WioLTE/messages/devicebound/#"
26a27,36
>   if((payload[0] == '#')  && (length==7))
>   {
>     String hexstring=String((char *)payload);
>     int number = (int) strtol( &hexstring[1], NULL, 16);
>     int r = number >> 16;
>     int g = number >> 8 & 0xFF;
>     int b = number & 0xFF;
>     SerialUSB.print("Setting LED as "); SerialUSB.println(hexstring);
>     Wio.LedSetRGB(r,g,b);
>  }

変更点

  • 接続先を beam.soracom.io に
  • データ送信用トピック(OUT_TOPIC) / データ受信用トピック(IN_TOPIC) を Azure IoT Hub の仕様に合わせて変更
  • データを受信した際、# で始まって 7 文字であったときに LED の色をセットする

フルのコードは、こちら から確認することが出来ます。

さいごに

今後も、さまざまなデバイスをいろいろなクラウドに接続するために機能を追加していきますので、ぜひご要望などお聞かせください!

Sigfox レンタル基地局の提供を開始しました。

こんにちは。ソラコム江木です。

このたび、Sigfoxのレンタル基地局の提供を開始しましたのでお知らせします。 Sigfoxは主要都市を中心に順次サービスエリアを拡大していますが、地下などで電波状況がよくなかったり、サービスエリア外でもSigfoxをお使いできるように Sigfox レンタル基地局を提供します。

SORACOM Air for Sigfox とは

Sigfox を少し復習したいと思います。 Sigfox は IoT 向けの通信規格で、低価格・省電力・長距離伝送が特長です。既に欧米を中心に32か国で展開中、2018年までに60か国に増加する予定であり、LPWA を代表するグローバルな通信規格として各国で導入が進んでいます。日本でも都市部を中心にカバレッジエリアが広がっています。

SORACOM Air for Sigfoxでは、これまでソラコムが提供している SORACOM Air for セルラーSORACOM Air for LoRaWAN と同様に、SORACOM プラットフォームのWebコンソール/APIを通じて、Sigfoxのデバイスや通信を一括操作・管理できるようになります

データ転送サービス「SORACOM Beam」や、クラウドリソースアダプターの「SORACOM Funnel」、そして、データ収集・蓄積サービスの「SORACOM Harvest」といったSORACOMのアプリケーションサービスが利用できます。

なお、現在3つのデバイスを提供しています。

Sigfox レンタル基地局

今回、以下のSigfox レンタル基地局を提供します。

Access Station Mini (基地局本体 + LNAC内蔵アンテナ)

屋内設置用となります。屋外用キャビネットに収納し、屋外設置することも可能です。キャビネットは別途必要となります。

料金は、1台あたり以下のとおりとなります。

  • 初期費用:24,800円
  • 利用料:117,600円(1ヶ月9,800円 x 12ヶ月分の利用料となります) (税抜きです。)

詳細、お申込みは、こちらから。

どうぞご利用ください!

news

デバイス実機が無くても SORACOM Beam や Funnel を用いたクラウド側の開発を進めていく方法

移動中は絶好のブログ時間となっている、ソラコム 松下(max)です。

先日お客様から「SORACOM Beam や Funnel は便利なんだけど、実機が手元にない場合のクラウド側の開発はどうしたらいい?」というご質問をいただきました。

そこで、今日はデバイス実機が無くても SORACOM Beam や Funnel を使って開発を進めていく方法をご紹介します。

SORACOM Beam / SORACOM Funnel のおさらい

SORACOM Beam(以下、Beam) や SORACOM Funnel(以下、Funnel) は、 デバイスやクラウド開発の負担を減らすサービスです。

技術的なご紹介をするのであれば「 beam.soracom.iofunnel.soracom.io へデータを送ると、クラウドやオンプレミスなシステムへTLS化を含めたプロトコル変換と転送を行うプロキシ的サービス」となります。

ご質問の主旨

Beam や Funnel はプロキシ的サービスとして紹介しました。そのため、利用するには beam.soracom.iofunnel.soracom.io にアクセスできる必要があるのですが、このアドレス(エンドポイント)は SORACOM のネットワーク内に存在するため SORACOM Air に接続する必要があるのです。

一方で特にクラウド側の開発は Beam や Funnel からデータが送られてこないと開発を進めることができませんが、デバイス実機が手元にない場合は、どうしたらよいのでしょうか?というご質問の主旨です。

解決策

モバイル ルーターや、スマートフォンのテザリング機能を利用する方法があります。

SORACOM Air は「IoT/M2M向けデータ通信サービス」と紹介されることが多いのですが、実はモバイル ルーターやスマートフォンでもご利用いただくことができます。

そのため、SORACOM Air SIM を挿したモバイル ルーターやスマートフォンは SORACOM のネットワークにつながる事ができるため beam.soracom.iofunnel.soracom.io といった SORACOM が提供しているアドレスにアクセスできます。

その結果、モバイル ルーターやスマートフォンのテザリング機能でぶら下がったパソコンも、モバイル ルーターやスマートフォンを経由して SORACOM が提供しているアドレスにアクセスできるという仕組みです。

あとはパソコンから curl コマンドや nc コマンド等を利用して、デバイスからの送信を疑似的に行っていただけますので、クラウド側の開発も実機が無くとも進めることができます。

さらに進んだ開発環境

先にご紹介した方法ではパソコンからの通信はすべて SORACOM を通ることになります。そのため、たとえばインターネットから隔離されている社内システム(ドキュメントが格納されているファイルサーバ等)へのアクセスができなくなってしまうという課題が浮かび上がってきます。

そうなると「 beam.soracom.iofunnel.soracom.io へのアクセスは SORACOM のネットワークでいいが、それ以外は社内LANそれ以外のネットワークを使いたい」となるのですが、実はそれも可能です。

昨今の業務用ルーターには LTE 回線を接続することのできる「ワイヤレス WAN インターフェイス」と、FQDN(DNS名)を基に通信先を変更する「 DNS ルーティング機能(もしくは、フィルタ型ルーティング、ポリシールーティング)」があります。

この機能を組み合わせることで「 beam.soracom.io への接続はワイヤレス WAN インターフェイスに接続された SORACOM のネットワークを、それ以外の通信は有線LANを使う」といったことが可能となります

設定のアイデアは各種メーカーのページをご覧ください。

注意点

さらに進んだ開発環境でもご案内しましたが、モバイル ルーターやテザリング機能を利用した場合、すべての通信が SORACOM を通ることになりますので、通信量/料にはお気を付けください。

おわりに

SORACOM Beam や Funnel の活用は、デバイスやクラウドの開発の手間を減らすことが可能です。

その開発環境自体も手間なく準備して、より価値の高い開発に時間を向けられるようになれば幸いです。

ソラコム “MAX” 松下

SORACOM Funnel と Azure Event Hubs を活用した際のバックエンド構築例 (Power BI で可視化)

クラウドの進化が早いことを痛感している、ソラコム 松下(max)です。

ちょうど一年前(2016/1/27)にリリースされた、各種クラウドサービスと簡単に接続できるサービス「SORACOM Funnel」ですが、すでに多くのお客様に活用いただいております。

SORACOM Funnel の活用事例

SORACOM Funnel とは?

SORACOM Funnel(以下、Funnel) は、デバイスからのデータを特定のクラウドサービスに直接転送するクラウドリソースアダプターです。 Funnel でサポートされるクラウドサービスと、そのサービスの接続先のリソースを指定するだけで、データを指定のリソースにインプットすることができます。

詳細は Funnel の紹介ページをご覧ください

Azure Event Hubs の、その先

Funnel は Azure Event Hubs (以下、Event Hubs) との連携も容易です。方法は Getting Started に記載されていますが、Event Hubs はあくまで「データ収集基盤」のため、そのデータを活用する手段が必要となります。

幸いなことに Azure では Power BI という「データ可視化 BI (Business Intelligence) ツール」があるため、これで可視化するための方法をご紹介します。

構成

最終的には Event Hubs から Stream Analytics を通じ、Power BI へデータを運ぶ構成を目指します。

事前準備

  • SORACOM Funnel や Event Hubs の設定が済んでおり、Event Hubs までデータが着信していることが確認できている
  • Power BI のアカウントとサブスクリプション (Desktop でも Pro の無償試用中でOK)

Stream Analytics の設定

※Azureの管理画面は Microsoft Edge もしくは Firefox で見ることを推奨します

Microsoft Azure Portal にログインし、「その他のサービス」を選択した後、表示される検索ボックスに stream と入力します。 すると「Stream Analytics ジョブ」が表示されますのでクリックします。

「追加」をクリックし、表示されたダイアログに下記の通り入力し、「作成」をクリックします。

  • ジョブ名: <任意の文字列> (今回は SoracomFunnelStream0 としました)
  • サブスクリプション: <任意> (今回は 無料試用版 としました)
  • リソース グループ: <任意のリソースグループを作るなり既存から選択> (今回は SoracomFunnelDemo0 としました)
  • 場所: <リソースグループから自動的に決定されます>
  • ホスティング環境: クラウド

1~2分経つと Stream Analytics ジョブが作成されます。「更新」を押すと一覧に表示されるようになります。 表示された Stream Analytics ジョブをクリックし、「入力」をクリックします。その後「追加」をクリックします。

表示されたダイアログに下記の通り入力し、「作成」をクリックします。

  • 入力のエイリアス: <任意の文字列> (今回は Input としました)
  • ソースの種類: データ ストリーム
  • ソース: イベント ハブ
  • インポート オプション: サブスクリプションから Envet Hub を選択する
  • Service Bus 名前空間: <一覧の中から選択> (今回は aeNohy7phuko-eh0 としました)
  • イベント ハブ名: <一覧の中から選択> (今回は sensor0 としました)
  • Event Hub ポリシー名: <一覧の中から選択> (今回は RootManagerSharedAccessKey としました)
  • イベント ハブ コンシューマー グループ: <空でOK>
  • イベントシリアル化形式: JSON
  • エンコード: UTF-8
  • イベントの圧縮タイプ: なし

「出力」をクリックし、その後「追加」をクリックします。

表示されたダイアログに下記の通り入力し、「承認する」をクリックします。

※「承認する」は、シンクに Power BI を選択すると表示されます。

  • 入力のエイリアス: <任意の文字列> (今回は Output としました)
  • シンク: Power BI

「承認する」をクリックすると、 Power BI のログインを行う別ウィンドウが表示されますので、Power BI のアカウントを使用してログインしてください。

無事ログインできるとダイアログが下記のように変化しますので、追加で入力をし、「作成」をクリックします。

  • グループ ワークスペース: <一覧の中から選択> (今回は マイ ワークスペース としました)
  • データセット名: <任意の文字列> (今回は SoracomFunnelDataset0 としました)
  • テーブル名: <任意の文字列> (今回は SensorTable0 としました)

「クエリ」をクリックし、表示されたテキストボックスに下記の通り入力し、「保存」をクリックします。

本クエリの意味については「Stream Analytics の TIPS」で紹介します

1
2
3
4
5
6
SELECT
    System.Timestamp AS timestamp, operatorid, imei, imsi, payloads.*
INTO
    [Output]
FROM
    [Input] TIMESTAMP BY DATEADD(millisecond, timestamp, '1970-01-01T00:00:00Z')

以上で設定は完了です。Stream Analytics は「ジョブ」を開始することで動き出します。

「概要」をクリックし、「開始」をクリックします。

表示されたダイアログに下記の通り入力し、「開始」をクリックします。

  • ジョブ出力の開始時刻: 現在

以上で設定と、ジョブの実行を開始しました。

Stream Analytics の確認

Stream Analytics ジョブの動作確認です。

Event Hubs にデータを送信すると Stream Analytics へ流されます。また先ほど設定したクエリでは集計などのデータ加工を行っていないため、下図のように Event Hubs からの入力である INPUT EVENTS と Power BI への出力である OUTPUT EVENTS が同数で増えていきます※

※表示タイミングでは若干異なるかもしれませんが、最終的には同数になるはずです

Power BI Pro の設定

ここまでで SORACOM Funnel → Event Hubs → Stream Analytics という流れが出来上がりました。設定が完了していれば、Power BI に SoracomFunnelDataset0 というデータセット(データ格納の単位)が作成されているので、それを利用して可視化を行います。

Power BI Pro へのログインをした後、右下の「今はしない」をクリックします。

ちなみに、ここまでの設定に不備がある、もしくは設定は正常だがデータが1件も流れていない場合は、似たような画面が表示されますが「今はしない」が表示されません。設定の見直しや、データを流してみてください。

ワークスペースの画面が表示されたら「データセット」をクリックしてください。 SoracomFunnelDataset0 というデータセットが表示されていることを確認※したら、「作成」をクリックし、「ダッシュボード」をクリックしてください。

※データセットが作成されていない場合は、ここまでの設定の見直しや、データを流してみてください。

表示されたダイアログに下記の通り入力し、「作成」をクリックします。

  • ダッシュボード名: <任意の文字列> (今回は SoracomFunnelDashboard0 としました)

「タイルの追加」をクリックして、表示されたダイアログで カスタム ストリーミング データ を選択し、「次へ」をクリックします。

表示されたダイアログで SoracomFunnelDataset0 を選択し、「次へ」をクリックします。

表示されたダイアログに下記の通り入力し、「次へ」をクリックします。

  • 視覚化タイプ: 折れ線グラフ
  • 軸: <任意の軸に向いたデータ> (今回は timestamp としました)
  • 値: <任意の数値系データ> (今回は humitemp_c としました※)

※この “値” については「Stream Analytics の TIPS」で紹介します

表示されたダイアログに下記の通り入力し、「適用」をクリックします。

  • タイトル: <任意の文字列> (今回は SORACOM Funnel Streaming data としました)

下図のようにダッシュボードへ折れ線グラフが追加されます。データの更新は Stream Analytics からのデータによって自動的に更新されるのでリロードなどする必要がありません。便利です。

Power BI Desktop の場合

無料の Power BI Desktop でも可視化は可能です。

SoracomFunnelDataset0 が作成されていることが確認できれば Power BI Desktop のデータソースから Power BI サービス を選択すると、データセットが表示されます。

Power BI Desktop ではダッシュボードではなくレポートが作成できます。データの更新はオンデマンド(自動ではない)ので注意してください。

おさらい

SORACOM Funnel の Getting Started と、本ブログの内容を合わせて、下図のような構成を実現してきました。

費用

SORACOM Funnel や Azure の費用は下記ページから確認できます。

※Azure の料金計算ツールは Microsoft Edge か Firefox で見ることを推奨します

ザックリ計算すると、Azure側 (東日本) はこんな感じです

1
2
3
Event Hubs (Basic) 43.46円/日
Stream Analytics  370.94円/日
TTL 414.40円/日

Stream Analytics の TIPS

SORACOM Funnel からのデータを Power BI で使いやすくする

SORACOM Funnel へ下記のようにデータを送ってみます。

1
curl -H "Content-Type: application/json" -d '{"my_name": "is max!!", "old": 39}' funnel.soracom.io

すると、SORACOM Funnel から出力されるのは下記のような JSON です

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "operatorId": "OP0099999911",
  "timestamp": 1513816876880,
  "destination": {
    "resourceUrl": "...",
    "service": "...",
    "provider": "..."
  },
  "credentialsId": "azure-eventhubs",
  "payloads": {
    "my_name": "is max!!",
    "old": 39
  },
  "imei": "359999999999991",
  "sourceProtocol": "http",
  "imsi": "449999999999993"
}

デバイス側から送ったデータが payloads というキーに押し込まれて、その他便利に使ってもらえる付帯情報がくっつくフォーマットです。 Stream Analytics から Power BI にこのフォーマットのまま送ってしまうと payloads 内のデータが文字列として認識されてしまうため、グラフなどの値に利用することができません。

Stream Analytics のクエリで payloads の中身を Power BI でも読めるようにカラム化できます。

1
SELECT payloads.*

これで「payloadsの中身を取り出す」という宣言になります。

ですが、データ内に識別できる情報が抜けてしまっていて、どのデバイスからのデータかわからなくなってしまうと、視覚化や抽出の時に困りますので、例えば IMSI (International Mobile Subscriber Identity) を加える場合は、こんな感じになります

1
SELECT imsi, payloads.*

UNIX時間(エポック秒) を Stream Analytics 上で「タイムスタンプ」として認識する

Stream Analytics では FROM [Input] TIMESTAMP BY tsColumnName という書式で Input 内の tsColumnName をタイムスタンプ値として宣言することができます。

ISO 8601形式ならば特に何もせず識別してくれますが 1513816876880 といったUNIX時間形式の場合は、そのままでは認識してくれません。(Bigintとして認識されます)

これは DATEADD 関数を使い 1970/1/1 00:00:00 に対して加算することで解決します。

1
2
FROM
    [Input] TIMESTAMP BY DATEADD(millisecond, tsColumnName, '1970-01-01T00:00:00Z')

milliseconds のところを second などで調整できます。詳しくは DATEADD 関数をご覧ください。

このタイムスタンプとして認識されたカラムは SELECT 句の中で System.Timestamp というカラム名で取得することができます。 AS 句を使って別名設定しないと syntax error となりますので注意が必要です。

1
2
3
4
5
SELECT
    System.Timestamp AS ts
...
FROM
    [Input] TIMESTAMP BY DATEADD(millisecond, tsColumnName, '1970-01-01T00:00:00Z')

おわりに

このエントリーは Azure を活用したデモを作成しようと思った際に Event Hubs のスクリーンショットが古かったことがきっかけとなり作成しました。2年でこんなに変わってしまうのか、という思いで冒頭の「クラウドの進化は早い」という感想につながっています。

ステップ数は多いように見えますが、慣れると30分もかからずに作成することができます。また、スケーラブルなクラウドサービスですのでキャパシティ設計を考える必要がありませんので、新規のシステム構築にはもってこいの構成ではないでしょうか。

是非とも SORACOM Funnel をご活用ください!

ソラコム “MAX” 松下

製造業におけるIoT活用の拡がり スマート工場EXPO2018に出展

年始から様々なメディアでIoTが取り上げられ、いよいよIoTテクノロジーが様々な業界に浸透していく機運を感じています。

ソラコムの2018年はじめの展示会は、こちらの展示会に出展します。

soracom smartfactory2018

  •  スマート工場EXPO
  •  2018年1月17日 [水] ~ 19日 [金]
  •  10:00 ~18:00 ( 最終日のみ 17 時まで )
  •  東京ビッグサイト 西3・4ホール
  •  ソラコムブース 小間位置 W17 -76

製造業におけるIoTのトレンド

製造業においても、IoTテクノロジーがリーズナブルかつ使いやすくなってきたことで、IoTビジネス活用の適用範囲が急速に広がってきています。従来からM2Mが目指してきた業務全体の最適化に加え、従来にはなかった現場主体のIoTによる改善活動や、通信機能の組込みによる新しい製品・サービス提供が始まっています

SORACOMのお客様でも、企業の規模を問わず、既存ビジネスはもちろん新規ビジネスにおいても、製造業での利用事例が増えてきています。一部の事例をご紹介します。

soracom usecase

ニューマインド様

可食プリンタのマシンログ、環境データを取得/遠隔監視し、マシンの運用管理と安定稼働に活用

トーア紡コーポレーション様

工場の電力使用量をオンデマンドで見える化しピーク抑制

IHI様

世界中に設置されたガスタービンの遠隔からのメンテナンスを実現

旭硝子様

ウェアラブル型ロガーで工場の作業動態を分析・可視化

この他にもこんな分野でSORACOMを使ったすぐに始められるIoTが拡がっています。

  •  ラインの可視化・分析
  •  装置の稼働監視
  •  故障検知
  •  設備の遠隔監視・保守
  •  海外の工場の設備監視

今回の展示

製造業を中心に、SORACOMのお客様事例や、データの可視化や設備の遠隔監視などを実現するために必要な構成要素、気をつけるべき点などをご紹介します。

また、SORACOMプラットフォームが提供するIoT通信だけではなく、それぞれの専門分野に特価した3社のSPS認定済パートナーとともに共同展示することで、デバイス、可視化、機械学習/予兆検知といった今特に注目されるテーマのトレンドや、具体的な活用方法もご紹介します。

soracom sps partner

コンテック様

IoT/M2Mシステム基盤をワンストップで提供する「CONPROSYS (コンプロシス)」を提供するSPSデバイスパートナーです。現場に設置されたメーカーの異なるPLCからデータを取得し送信するデモを展示いただく予定です。 コンテック様のSPSパートナー紹介ページ

KYOSO様

手軽に始められる、可視化のソリューション「IoT.kyoto VIS」を提供されています。SORACOM事例のトーア紡コーポレーション様のインテグレーションも担当されたSPSソリューションパートナーです。 KYOSO様のSPSパートナー紹介ページ

ブレインズテクノロジー様

機械学習を活用したリアルタイム大規模データ分析プラットフォーム「Impulse」によるの故障予兆検知・分析サービスを提供されているSPSソリューションパートナーです。 ブレインズテクノロジー様のSPSパートナー紹介ページ

ぜひスマート工場EXPOのSORACOMブースを訪れて、「製造業におけるIoT活用」について情報収集してください。

ソラコム 田渕

2018 新年明けましておめでとうございます

みなさま、新年あけましておめでとうございます。本年もどうぞよろしくお願いいたします。 お正月はいかがでしたか?私はひたすら親戚の家に行ったり、友人にあったり、リアル脱出ゲームに参加したりゆるゆるいい時間を過ごしておりました。

ソラコムは、1月5日に仕事始めでした。2018年の仕事始めということで、社員みんながソラコム創業の地「二子玉川」オフィスに集まり、近くの玉川大師にお参りに行きました。 newyear-1

2017年もあっという間に過ぎ去ったな〜と思っていたのですが、昨年1月から振り返ってみると、いろんなことがあった1年でした。ざっと振り返って見たいと思います😊 2月は省電力長距離通信のLoRaWANに特化したSORACOM LoRaWAN Conferenceを開催しLoRaの共有サービスモデルや、SORACOMプラットフォームのLoRaWAN対応の発表、2月末は欧州でSORACOMサービスが利用可能になりグローバル展開も加速していきました。4月はエンジニアに特化した有料イベントif-up2017を開催Interstellar、パートナークラウドを繋げるFunnelのアダプター機能追加低トラフィック向け料金の発表、CTOの安川がAWS Summit登壇、7月は1900名以上の方にご来場いただいたDiscovery2017を開催では、InventoryJunctionSigfox対応を発表、8月はKDDIグループへの参画を発表しました。LoRaWANやSigfoxに対応した様々なデバイスの販売やパートナーアダプタの対応数も徐々に拡大していきました。 10月に発表したeSIMITproExpoの優秀賞を受賞し、11月は中国深センで開催されたMakerFaireShenzhenに出展、12月は手軽にIoTシステムの構築が可能なGrove IoT スターターキット for SORACOMの販売を開始しました。 お客様の数も9000を超え、様々な事例も増え、パートナーエコシステムやディベロッパーコミュニティも拡大し、たくさんの方に支えられ2017年を終えることができました。

キックオフでは、社員みんなで今年のソラコムの標語を考え、スイングバイ という言葉に決まりました! みなさんスイングバイという言葉ご存知でしょうか?私は初めて耳にしたのですが、宇宙関連の言葉で、惑星の重力の力を利用して軌道を変えるという言葉だそうです。言葉の詳しい説明はWikipediaのリンクをご覧ください。 ソラコム自身も加速しながら、エンジニアの皆様やパートナーの皆様と共に今年もグィーンと成長していきたいと思います。

newyear-2

ソラコム 熊崎