富士通アドバンストエンジニアリングは2017年5月31日、IoTシステムの導入に向けた実証実験を実施する企業に向けて、ゲートウェイ機器に通信機能などを持たせるプログラムの提供を始めた。価格は15万円(税別)。購入企業内で利用する分には自由に利用できるが、他社にプログラムを提供するときなどは別途見積もりとなる。
ゲートウェイ機器向けに提供するプログラムは3種類。1つ目は端末がBluetooth Low Energy(BLE)で送信してくるデータを受信するプログラム。オープンソースのBluetoothプロトコルスタック「BlueZ」の機能を利用している。端末は富士通アドバンストエンジニアリングとFDKが共同開発した「ちょいロガ」と「ここログ」に対応する。ちょいロガは加速度、方位、温度、湿度、気圧、照度の6種類のデータを検出する機能を持ち、ここログは加速度と方位を検知する機能を備える。
2つ目は、受信したデータを加工するプログラム。受信したデータから、ちょいロガとここログからのデータを選び出し、データの平均値や最大値を計算する機能、そして事前に設定したしきい値を超えたかどうかを判定する機能を備える。
3つ目は、データをゲートウェイからインターネット上のサーバーに出力するプログラム。データをJSON(JavaScript Object Notation)形式に整形し、HTTPプロトコルのPOSTメソッドで送り出す。
ゲートウェイ機器向けのプログラムに加えて、インターネットでつながるサーバー向けのプログラムも提供する。これも3種類用意する。1つ目はゲートウェイがHTTPのPOSTメソッドで送信してきたデータを受信するプログラム。2つ目は受信したJSONデータをテキストファイルとして保存するプログラム。3つ目は、保存したJSON形式のデータをHTMLのテーブルに変換し、Webブラウザで一覧表示できるよう加工するプログラムだ。
図 IoTシステムの構成例。富士通アドバンストエンジニアリングは、左側の枠の中の赤い破線で囲んだ部分を提供する
出所 富士通アドバンストエンジニアリング
提供するプログラムはすべて、動的型付け言語「Ruby」で記述してある。そして、ゲートウェイ機器向けのプログラム3種類は、ログ収集ツール「Fluentd」のプラグインとして作成している。Rubyプログラムはソースコードをそのまま実行するので、プログラムの提供を受ければ、ソースコードをすべて見ることが可能だ。そして、プログラムにほかの機能を付け加えたいときは、自由にソースコードに手を入れられる。まったく違う種類の端末に対応するプログラムなど、購入した企業では開発が難しいという場合は、富士通アドバンストエンジニアリングが有料で開発を請け負う。
提供するプログラムは2種類の機器で動作を検証している。1つ目はぷらっとホームのゲートウェイ「OpenBlocks IoT BX1」で、2つ目は台湾Advantech社のゲートウェイ「UTX-3115SA4P-S6A2E」だ。どちらもIntel Atomプロセサを搭載し、OSとしてLinuxをインストールしてある製品だ。
図 動作確認をした2種類のゲートウェイ。左がぷらっとホームの「OpenBlocks IoT BX1」で、右が台湾Advantech社の「UTX-3115SA4P-S6A2E」
出所 ぷらっとホーム、アドバンテック
これら2種類の環境に、Rubyのバージョン2.2.4、Fluentdのバージョン0.12.22、BlueZのバージョン5.43をインストールし、プログラムを入れて動作を確認した。上記の2種類のゲートウェイに限らず、OSがLinuxで、Ruby、Fluentd、BlueZの該当するバージョンをインストールした環境なら動作する可能性が高いという。プロセサアーキテクチャもIntelに限らず、ARMプロセサを搭載したものでも大きな問題は起こらないと富士通アドバンストエンジニアリングは考えている。
実証実験向けとはいえ、富士通アドバンストエンジニアリングが提供するプログラムをそのまま使うだけで終わる実験はほとんどないだろう。プログラムに独自の機能を加えたり、まったく違う種類の端末に対応させるために、プログラムに手を入れる、あるいは新たに開発する必要があるはずだ。富士通アドバンストエンジニアリングは、今回提供するプログラムでIoTシステムの実証実験を実施する企業に向けて、プログラムの新規開発などの形で支援するとしている。