計測自動制御学会東北支部 第 309 回研究集会 (2017.6.23)
資料番号 309-10

Raspberry Pi を用いた地震計測装置の IoT 化
IoT of the seismomentry device using Raspberry Pi○長谷川将士, 藤田凌太, 片岡俊一, 丹波澄雄
○Masashi Hasegawa, Ryouta Fujita, Shunchi Kataoka, Sumio Tamba
弘前大学
Hirosaki University
キーワード：ラズベリーパイ(Raspberry Pi), 地震(earthquake), IoT(Internet of Things),リアルタイム計測(realtime measurement), シェルスクリプト(Shell Script)
連絡先：〒 036-8561 青森県弘前市文京町 3 弘前大学 大学院理工学研究科
丹波澄雄 Tel:0172-39-3725

1. はじめにキュリティやトラフィックを考えた運用においてはこの構造物の応答は、振幅依存性があると言われてお 機能は十分では無いように思える。そこで、地震計り、人体に感じない常時の揺れ（主な原因は人間活に安価な教育用のシングルボードコンピュータとし動と言われている）から、体感できない地震、体感す て開発された Raspberry Pi を接続し、安全で自由度る地震や被害地震の揺れなど、異なる振幅のデーの高いインターネット接続機能を付加することで地タを保有分析することは意義深い。一方で、最近の震計を IoT 化することが可能である。これにより地震地震計に付属している記憶媒体は大容量であり、通 計による計測データはデータ収集サーバまでイン
常の 100Hz サンプリングデータであれば、連続的に ターネット経由で届けられるようになり、利用者は観測しても 3 ヶ月程度はデータを保有できる。よって、 サーバにアクセスすることで簡単に準リアルタイムで地震計を構造物に設置した後、数ヶ月にわたって連 地震計による計測データが入手できる。本研究では続的に振動データを取得することが最近行われ始市販の地震計に Raspberry Pi を接続することで地めた。その際には、地震計の作動状況がモニタリン震計を IoT 化し、計測データをサーバから準リアルグできると望ましい。更に、連続観測データの一部タイムで取得できるシステムを開発したのでその概を解析できると地震計のモニタリングだけではなく、容と計測事例を紹介する。

構造物の状況が把握できることになる。
最近の地震計は、IP 接続が可能ではあるが、セ2. 地震計測器の仕様-1-

今回使用した地震計測器は株式会社 東京測振 3. Raspberry Pi について製のセンサ一体型記録計 CV-374AV である。外観

Raspberry Pi は AMD プロセッサ搭載の名刺サイを Fig. 1 に示す。搭載されている速度計(センサ)は ズのシングルボードコンピュータであり、ハードディス小型サーボ型速度計であり、XYZ 方向 3 軸におい クを内蔵せず、メモリカードを装着することによってて±2[ｍ/ｓ](2kine)の範囲の測定が可能である。サン OS の起動やデータの保存を行う。特徴は安価であプリング周波数は 100，200，500，1000[Hz]から選択 りながら多様な入出力ポート（HDMI、USB、LAN）でき、AD 分解能は 24[bit]となっている。記録部分と を使用できることである。今回は Raspberry Pi シリー
して、記録時間は 1 分単位で可変長ではあるが、基 ズの Raspberry Pi Model B+というモデルを使用し、本 10 分のデータを記録する。記憶媒体は CF カー OS は Debian 系の Linux である Raspberry Pi に最ドで最大 2GB、データが容量に達した場合は古い 適化されている rasbian を選択した。Raspberry Pi
データを順次上書きして新しいデータを記憶する方 Model B+の主な仕様を Table 2 に示す。Raspberry式となっている。仕様の詳細は Table 1 を参照のこと。 Pi の問題点として、リアルタイムクロック保持機能を有していないことが挙げられる。

Fig. 2 Raspberry Pi Model B+

Fig. 1 センサ一体型記録計 CV-374AV の外観
Table 2 Raspberry Pi Model B+の仕様
Table 1 地震計の仕様
CPU
メモリ
映像出力
USBポートLANポートストレージ
電源
大きさ-2-ARM1176JZF-S
シングルコア700MHｚ
512MB
HDMI
4つ1つ
microSD
600mA(3.0W)
85.6mm×56.5mm

4. 地震計測データ取得システムている Raspberry Pi に時刻を問い合わせる方式とし4.1 システム構成た。このために Raspberry Pi には NTP クライアントと地震計 CV-374AV はインターネットへのアクセス機 NTP サーバの設定を行なった。これにより、能を有しているが、設定にスキルを要することと安全 Raspberry Pi が起動すると自動的に NTP サーバになデータ送信を確保するために、Raspberry Pi を直時刻を問い合わせて正しい時刻がセットされ、その接接続することでインターネットへのアクセス機能を後地震計が Raspberry Pi に時刻を問い合わせて正提供するものとした。Fig.3 は地震計測データ取得シ しい時刻がセットされるようになる。
ステム構成図である。地震計と Raspberry Pi は LAN

Raspberry Pi は有線 LAN に接続されている地震ケーブルで直結し、FTP によって計測データを計へのアクセスとインターネットへのアクセスを行う

Raspberry Pi は取得する。Raspberry Pi は別のネット 必要があるため、ネットワーク経路を追加するためのワーク接続機器によってインターネットに接続し、イルーティング設定も行った。今回は Raspberry Pi をンターネットに接続されているサーバへ SFTP, SSH

インターネットに接続するために USB 接続の WiFiによって計測データを転送する。サーバは受け取っ機器を使用した。

たデータをデータベース化し、またデータの可視化
4.3 地震計と Raspberry Pi の接続として時系列グラフを作成し、Web ページを通して地震計と Raspberry Pi は有線 LAN で直結されて公開する。

おり、地震計が受け付けるコマンドは ftp と telnet のみである。そこでデータの受け渡しには ftp コマンドを用いることとした。地震計は 10 分間の計測データを一つのファイルに格納しており、ファイル名は「年月日時分秒.123.t3w」(例：20170317164000.123.t3w, 2017 年 3 月 17 日 16 時 40 分 00 秒のファイル)のFig. 3 地震計測データ取得システム構成図形式になっている。今回使用した地震計の計測データの秒はすべて”00”と設定されていた。この

4.2 Raspberry Pi の設定
地震計測では振動を検知した時刻が重要となるので、Raspberry Pi と地震計の時刻を高い精度で維持する必要がある。Raspberry Pi はリアルタイムクロック

ファイルは内部記憶装置（CF カード）内にディレクトリ名が「年/月/日」となっている階層構造のディレクトリに保存されている。従ってファイルは 10 分毎に生成され、そのファイルにはファイル生成時刻以前の保持機能を有していないので、ネットワークに接続10 分間の計測データが保存されている。地震計に後 NTP による時刻合わせを行う。地震計の時刻合記録されているファイルを Raspberry Pi に転送する

わせには GPS を用いる方法と NTP を用いる方法があるが、今回は地震計が有線 LAN で直接接続されための一連の手続きはシェルスクリプトとして実装し-3-

た。スクリプトでは地震計のディレクトリ構造と同じ名

Raspberry Pi 上の計測データファイルは sftp コマ

称で Raspberry Pi 上にディレクトリを生成しファイルンドの内部コマンド「mput」を用いてサーバに転送さの転送を行っている。地震計でのファイルの生成時れる。サーバに転送する場合も最新のファイルのみ

間間隔は 10 分なので、スクリプトも 10 分毎に実行さ を転送すれば良いのだが、ネットワーク関係やサーれるように crontab の設定を行ったが、ファイル生成バ自体のトラブル等によって転送できないファイルのために数秒を要していることから、安全を見てが蓄積することも起こり得る。この様な場合に対処す

sleep コマンドで 30 秒間だけ実施を遅らせている。

るために、前節と同様に「comm」コマンドを用いて双地震計に保存されている計測データを Raspberry方の差分をとり、最新データのみをサーバへ送信す

Pi に転送するために ftp コマンドの内部コマンドるように設定した。

「mget」を用いている。ftp で最新のファイルだけを転

5. サーバにおけるデータ解析

送すれば十分なのだが、様々な理由で転送が定期的に行われなかったときは、未転送ファイルが多数計測データはサーバに転送されてから、サーバ側存在することになる。この様な状況に対応するためで処理される。サーバが受け取った計測データファに、地震計と Raspberry Pi の双方で存在するデータ イルは地震計に保存されているときと同じディレクトリをリストアップし、地震計にのみ存在するファイルを名称と構造に保存される。次に、http プロトコルに「comm」コマンドで抽出することで未転送ファイルのよってアクセスできる領域にアクセスが容易なディレリストを生成し、このリストに従って転送する機能を組クトリ構造の下に保存される。その後、計測データファイルからデータを抽出し、計測データの見えるみ入れた。

化を行う。見える化としてはデータファイル毎の全体また、10 分間の計測データは約 700KB なので、像が把握できる時系列グラフの作成を行う。

Raspberry Pi に転送したデータをそのまま保持して１つの計測データファイルには 10 分間の計測おくと内部記憶装置の残量が約 160 日で 0 になるデータが記録されており、600 ブロックで構成されてので、60 日以上前のファイルを削除するように設定いる。すなわち 1 ブロックには 1 秒のデータが格納した。

されており、1 ブロックは開始コード、ヘッダ部、デー4.4 Raspberry Pi とサーバの接続タ部、チェックサム、終了コードから構成されている。

地震計から Raspberry Pi に転送されたファイルは一旦 Raspberry Pi に格納されるが、速やかにサーバへ転送される。ファイル転送の一連の手続きではデータの安全性を考えて sftp コマンドおよび ssh コ

Fig. 4 に計測データの主なフォーマットを示す。グラフ作成のためには、計測データが格納されているデータ部を用いる。
計測データは 3 チャンネルに分かれて記録されてマンドを用いた。ファイルの転送はスクリプトファイルに記述した手順で自動的に行われる必要があるので、人間の介在を必要としない公開鍵認証によるノンパスワード接続を実装した。

おり、それぞれ順に XYZ 方向のデータである。ここ
で、サンプリング周波数を s [Hz]とする。この時 1 / s秒目は測定値そのものが記録されているが、2 / s 秒-4-目以降は 1 / s 秒前の計測値との差分値が記録され 6. Web によるデータ公開ている。そのためデータには正と負の数値が混在す

今回は動作試験を主眼としているので、学内限定る形となっている。2 / s 秒目のデータは、1 / s 秒目

範囲で実際の測定データとそのデータから作成したと 2 / s 秒目のデータを加算することで復元される。3 グラフを閲覧およびダウンロードできる Web ページ/ s 秒目以降のデータも同様の手順で復元される。

(http://133.60.123.185)を作成した。Fig.6 は地震計測データの公開ページのトップ画面である。Webページにアクセスした時点での最新データファイル名がページトップに「最新データ」として表示されている。また、本日中に得られた全てのデータファイル名の一覧は「今日のデータ」としてページの左側に表示されている。ページ右側に表示されているグラフは最新データによる 10 分間の X, Y, Z 方向の振動の様子である。
ファイルの実体へのアクセスのために、ファイルを保存してあるディレクトリへのリンクをトップページのFig. 4 データフォーマット下部に用意した。また、アーカイブされているデータファイルから作成した画像形式のグラフも同様に保10 分間のデータから X,Y,Z 軸方向の時系列デー存されているので、トップベージの下部にアクセスのタを抽出した後、各軸方向毎の時系列グラフをためのリンクを用意した。データファイルと画像形式「gnuplot」コマンドを用いて描き、png フォーマットのグラフとして自動生成する。Fig. 5 に 2016 年 12 月 1
日 7：00〜7:10 のデータから作成されたグラフの例を示す。のグラフは統一的な名称”yyyymmdd”のディレクトリに日単位で格納されているので、トップページのURL にファイルを保存してあるディレクトリ名称を”/”を用いて連結し、更に希望とする年月日を”yyyymmdd”形式で”/”を用いて連結することによって、目的とするファイルの格納ディレクトリが決定できる。対話的にファイルを取得する場合は、得られた文字列をウェブブラウザに入力することでファイルの一覧が表示され、希望のファイル名をクリックするとファイルがダウンロードされる。非対話的にダウンロードする場合は、wget や curl コマンドを用いてディレクトリ毎ダウンロードすることも可能であるが、Fig. 5 2016 年 12 月 1 日 7：00～7：10 の波形

初めにファイル名リストを取得し、そのファイル名を-5-

用いて特定のファイルをダウンロードすることも容易

観察園教育研究棟を選び、この研究棟の二階に設である。

置した。Fig.8 に白神観察園の位置を示す。観測は利用者側で最新のファイルをダウンロードするスク2016 年 11 月 28 日 12：00 から 2017 年 4 月 10 日

リプトファイルを作成し、cron コマンドで分間隔で自23：59 までの冬期間に行なった。この期間は冬季閉動実行させることで、最新のデータが常に手元に得鎖期間になっているため人間の訪問による影響がられることになる。Fig.7 にスクリプトの例を示す。

かなり限られるので、観測には好都合である。
地震計のサンプリング周期は 200Hz であり、10 分間の計測データが一つのファイルに保存される。10分毎に生成されるファイルは生成後 120 秒以内にサーバに転送されることになっており、この期間滞りなくデータが転送されていることを、Web ページで新規データが追加されていることからも確認できた。

Fig. 6 地震計データ Web ページ#!/bin/bash
YMD=`date "+%Y%m%d"`
HH=`date "+%H"`MM=`date "+%M"`MT=`expr $MM / 10 \* 10`
data=`echo $YMD$HH$MT"00.123.t3w"`
w_data=`echo $data".png"`#raw_data
wget http://133.60.123.185/download/$YMD/$data

Fig. 8 白神自然観察園の位置

8. 観測された地震#graf_data
wget http://133.60.123.185/wave_graf/$YMD/$w_data

観測期間（2016/11/28 12:00～2017/03/31 23:59）

Fig. 7 データダウンロードスクリプト例

までに弘前市あるいは西目屋村で有感となった地震はなかった。しかし、期間中に津軽平野内の気象

7. 長期観測実験
今回開発した IoT 化された地震計測装置の長期庁の地震観測点のいずれかで有感となった場合が3 例あった。Table 2 に 3 件の有感地震の概容を示観測の実験場所として、人間の影響が極力少ないす。また、Fig. 9～12 は 3 件の地震に関しての気象場所である白神山地世界自然遺産地域の近くに位庁の地震観測所の震度分布を示している。我々が置している弘前大学白神自然環境研究所附属白神 地震計を設置した弘前大学白神自然環境研究所-6-

附属白神自然観察園教育研究棟の場所は白神山地の核心地域近くに位置しており、図中に示してある。
Fig.12 は 2017.01.22 の 3:11 に発生した青森県東方沖の地震に対応した我々の地震計による観測結果である。グラフは 3:10〜3:20 の期間のデータを示しており、P 波が到達した時刻は 3:11:32.6、S 波が到達した時刻は 3:11:56.6 である。両者の到達時刻の時間差は 24.0 秒となる。P 波の速度を 8km/秒とすると震源までの距離は 192km となる。図中の震央Fig. 10 2017.01.22 03:11 青森県東方沖の位置と観察園の距離は約 200km であり、ほぼ同じ値が得られている。

Table 2 津軽平野内で有感となった地震
年
月日 時分 震源地域
2016 12月28日 21:38 茨城県北部
2017
2017

1月22日
3月8日

3:11 青森県東方沖
1:08 青森県東方沖深さ(km) マグニチュード 有感地域(震度)116.3 鶴田町鶴田(1), つがる市稲垣町(1), 平川市猿賀(1)37
4.5 つがる市柏(1)655.5 藤崎町水木(1)Fig. 11 2017.03.18 01:18 青森県東方沖

Fig. 12 2017.01.22 青森県東方沖の地震の記録
Fig. 9 2016.12.28 21：38 茨城県北部

9. まとめ今回は地震計測器を対象として IoT 化を行い、サーバ経由でデータを確認することまでを実現した。

-7-

IoT 化のインターネット接続部分はシングルボードコンピュータである Raspberry Pi に汎用の Linux OSの一つである Debian 系列の Rasbian を用いた。組込系ではなく一般の OS を用いたことで開発も保守も容易に行うことができ、さらにデータファイルの転送はセキュアなコマンドを用いてほぼリアルタイムで行うことが可能になった。システムの開発においてはシェルスクリプト、解析においては C 言語を用いて実装した。また、コマンドを定期的に実行させるタイマー機能は Linux の標準コマンド cron を用いて実現した。
今回開発したシステムの Raspberry Pi に関する部分は汎用的に構成されているので、異なる計測機器に変更してもインターフェース部分が明確であれば容易に IoT 化可能といえる。
今後は更に長期の稼働試験を行い運用実績を蓄積すると共に、問題点を洗い出し改善していきたいと考えている。

参考文献
1) 廣松隆志 , 森重和春 , ラズパイマガジン ,2015 年春号, 12/19, (2015)
2) 中橋一朗, UNIX シェルスクリプト 逆引き大全 333 の極意, 325/330, (2014)
3) SSHで鍵認証を用いて、パスワードなしでログインする方法, https://hackle.com/20462465-2/
4) 株式会社 東京測振, ネットワークセンサー
CV-374AV2 取扱説明書-8-