SINETStream を用いた船上での多種センサデータ収集実験
竹房 あつ子 1),2) , 北川 直哉 1) , 大島 浩太 3) , 小林 久美子 1) , 吉田 浩 1) , 合田 憲人 1),2)
1) 国立情報学研究所
2) 総合研究大学院大学
3) 東京海洋大学
takefusa@nii.ac.jp

An Experiment of Multi-Sensor Data Collection Onboard a Ship
Using SINETStream
Atsuko Takefusa1),2 , Naoya Kitagawa1) , Kouta Ohshima3) ,Kumiko Kobayashi1) , Hiroshi Yoshida1) , Kento Aida1),2
1) National Institute of Informatics
2) The Graduate University for Advanced Studies, SOKENDAI3) Tokyo University of Marine Science and Technology

概要IoT（Internet of Things）を活用したアプリケーションシステムの開発を支援するため，ソフトウェアパッケー
ジ SINETStream を開発している．SINETStream では，Java，Python，Android 用のライブラリを提供するとともに，これらのライブラリを用いて数値型センサや画像情報の収集やスマートフォンに装備された各種センサ情報を収集するサンプルアプリケーションを公開している．本稿では，これらのサンプルアプリケーションを用いた船上での多種センサデータ収集実験について紹介する．

ンプルアプリケーションプログラムが実環境で利1 はじめに用可能であることを示す．東京海洋大学の実習船にIoT（Internet of Things）デバイスで生成された多SINETStream サンプルプログラムをインストールし様なセンサ情報をクラウドに収集し，高度なサービス

た Raspberry Pi 端末および Android 端末を設置し，に活用することが期待されている．国立情報学研究所

3 日間の練習航海中にリアルタイムにクラウドへのセ（NII）では，IoT を活用した研究開発を支援するため，ンサ情報の収集，および可視化する，多種センサデー

学術情報ネットワーク SINET の VPN サービスをモ

タ収集実験について紹介する．

バイル網に延伸させたモバイル SINET 実証実験を進めている [1]．また，モバイル SINET 上で IoT を活2 SINETStream サンプルアプリケーション
プログラムの概要

用したアプリケーションシステムの開発を支援するため，ソフトウェアパッケージ SINETStream[2, 3] を開実験では，センサ側には SINETStream のウェブサ

発，公開している．SINETStream では，Pub/Sub 型

イトで公開している Android 端末用のセンサ情報収の通信モデルを前提として，Java，Python，Android集アプリと，Raspberry Pi 端末を用いたカメラ画像用の Writer（Publisher）と Reader（Subscriber）用のデータの転送プログラムを一部改修したものを用いライブラリを提供している．さらに，これらのライブる．また，サーバ側の構成についても紹介する．

ラリを用いて数値型センサや画像情報の収集やスマー

2.1

Android 端末を用いた多種センサ情報収集

トフォンに装備された各種センサ情報を収集するサンAndroid 端末用には，SINETStream の公式サイト

プルアプリケーションプログラムや，収集したデータの Android 版チュートリアルとしてその利用手順がを活用するためのサーバ側のシステム構築手順も公開公開されているサンプルアプリの 1 つであるセンサしている [4, 5]．

情報収集アプリ（センサアプリ）[6] を用いる．セン本ポスター発表では，これらの SINETStream サ

297

サアプリは，Android 端末に装備された多種センサの図1

サーバ側の構成．

情報を収集するアプリであり，ダウンロードするだけ合が発生しないようにした．測定プログラムには，性で IoT アプリケーションシステムでそのまま利用可能

能を考慮して Java 版の測定ツールを用いた．となっている．センサアプリの設定画面で MQTT ブ

2.3

サーバ側の構成

ローカの接続情報およびセンサデータ送出間隔を設定

図 1 に サ ー バ 側 の 構 成 を 示 す ．左 側 に は セ ン

し，利用するセンサを選択すると，指定された送出間

サ 用 の Android 端 末 と Raspberry Pi 端 末 ，右 側

隔で対象センサデータが MQTT ブローカに送信されにはサーバノードをそれぞれ黄色い四角で表し

る．センサアプリでは，照度，加速度，位置情報の他，て い る ．サ ー バ で は ，メ ッ セ ー ジ ブ ロ ー カ と し て新たにモバイル通信の電波強度を測定する機能も開発

MQTT 互 換 の NATS[8]，Kafka[9]，デ ー タ 収 集 用

し，実験で利用した．に MinIO[10]，可視化用に TimescaleDB[11]，Hasura

2.2 Raspberry Pi 端末を用いたカメラ画像と通信ス

GraphQL Engine[12] と NGINX[13] を配備した．

ループットの収集

Android のセンサアプリと Raspberry Pi 端末で実Raspberry Pi 端末のカメラで撮影した動画から静行している通信スループット測定プログラムから送信止画列を切り出し，SINETStream Python 版ライブされるセンサデータは，NATS MQTT ブローカを経ラリを用いてクラウドに送信するサンプルプログラム

由して Kafka ブローカに収集し，TimescaleDB に保（画像送信プログラム）一式を，SINETStream デモ存される．また，Raspberry Pi 端末で収集した画像パッケージとして公開している [7]．画像送信プログ

データは MinIO オブジェクトストレージに保存する．

ラムはコンテナ形式で提供しており，利用する通信環

これらのデータは，JavaScript で開発した可視化ツー境に合わせて画像の解像度や送信間隔，送信先のメッルで確認できるようにした．また，すべてのデータはセージブローカ情報やトピック名等をコンテナの環境二次保管場所である S3 互換のオブジェクトストレー変数で設定可能となっている．これにより，ユーザがジ Active Scale にも送信するようにした．

プログラムを作成，修正することなくそのまま実行できるようになっている．

3 船上での多種センサデータ収集実験

実験では，電波強度とともに通信状況も同時に測定

SINETStream の各センサプログラムを用いて，船するため，画像送信プログラムを改良して定期的に上での各種センサ情報を収集する．センサプログラム

メッセージ通信のスループットを測定する機能も追加をインストールした Raspberry Pi 4B および Pixelした．ここで，画像送信と通信スループット計測が同4a，Pixel 5 端末を，東京海洋大学の練習船の船橋前方時に発生すると，画像送信に大きな遅延が生じたり，窓付近に設置し，2022 年 10 月 18 日から 3 日間の練正しい通信スループットが測定できない可能性があ

習航海時の様々なセンサ情報を 30 秒ごとに収集する．

る．今回の実験では海上の画像を 3 日間収集するもの船内に設置したため，測定中は給電した状態でセンサで，収集間隔を 10 秒としているため，画像送信処理後情報を収集した．モバイル通信には，モバイル SINETに画像送信プログラムから通信スループット測定プロの Softbank および NTT DOCOMO の SIM を用い，グラムを fork して実行し，端末内でのデータ転送の競各センサ端末から SINET L2VPN を介して NII の所

298

参考文献
[1] 国立情報学研究所：モバイル SINET 実証実験，
https://www.sinet.ad.jp/wadci.
[2] 国 立 情 報 学 研 究 所：SINETStream, https://www.sinetstream.net/.
[3] Takefusa, A., Sun, J., Fujiwara, I., Yoshida, H.,Aida, K. and Pu, C.: SINETStream: Enabling
Research IoT Applications with Portability, Security and Performance Requirements, Proc.
図 2 多種センサデータの可視化結果．位置情報画

IEEE COMPSAC 2021, pp. 482–492 (2021).

面は，国土地理院の提供する地理院タイル [14] を加[4] 竹房あつ子，小林久美子，北川直哉，孫 静涛，吉工して作成した．

田浩，合田憲人：IoT アプリケーションのための SINETStream ベース Android センサ情報収
集アプリの開発，マルチメディア，分散，協調と内クラウド上に配備したサーバにデータを送信するよモバイル (DICOMO2021) シンポジウム論文集，pp. 1068–1074 (2021).

うにした．
図 2 にセンサ端末を設置したときのセンサ情報の可視化結果を示す．Raspberry Pi 端末から収集した画像情報と通信スループット情報と，Android 端末から収集したセンサ情報のうち，GPS，電波強度，照度，加速度の情報を可視化した結果が確認できる．ポスター
発表では，航海中のセンサ情報収集結果を紹介する．

[5] 小林久美子，竹房あつ子，北川直哉，吉田 浩，合田憲人：SINETStream を用いたセンサデー
タの可視化・監視およびストレージ連携機能の開発，マルチメディア，分散，協調とモバイル(DICOMO2022) シンポジウム論文集，pp. 87–92 (2022).
[6] 国立情報学研究所：SINETStream Android 版

4 おわりにチュートリアル，https://www.sinetstream.

本研究では，SINETStream を用いて多様なセンサデータが収集できることを示す．東京海洋大学の実習
船に，SINETStream センサプログラムをインストールした Raspberry Pi 端末および Android 端末を設置
し，3 日間の練習航海中にリアルタイムにクラウドへのセンサ情報の収集，および可視化を行う多種センサデータ収集実験について，ポスター発表で紹介予定で

net/docs/tutorial-android/.
[7] 国 立 情 報 学 研 究 所：SINETStream

デモ パ ッ ケ ー ジ ，https://github.com/

nii-gakunin-cloud/sinetstream-demo/.
[8] CNCF: NATS, https://nats.io/.
[9] Apache:

Apache Kafka,

https://kafka.

apache.org/.
[10] MinIO: Multi-Cloud Object Storage, https://ある．
本研究で開発したソフトウェアおよび各種センサデータ一式は，今後 SINETStream のウェブサイト [2]で公開予定である．SINETStream は，オープンソースソフトウェアであり，SINET 以外の環境でも利用可能である．SINETStream およびサンプルプログラ
ムが，大学の IoT 実習等でご活用いただけることを期

min.io/.
[11] Timescale:TimescaleDB,

https://www.timescale.com/.
[12] Hasura: GraphQL Engine, https://hasura.
io/.
[13] NGINX: http://nginx.org/.
[14] 国土地理院：地理院タイル，https://maps.gsi.

待している．

go.jp/development/ichiran.html.

謝辞
本研究にご協力いただいた東京海洋大学 汐路丸乗組員の皆様，数理技研の遠藤雅彦様，小泉敦延様，鯉江英隆様に深く感謝いたします．

299