NFCを用いた 登山者通過記録システム 政策・メディア研究科 修士課程2年 三部 剛義(学籍番号:81125304) mibe@sfc.wide.ad.jp 主査:村井純 副査:中村修,斉藤賢爾 Tracking System for Climbers using NFC 研究の 問題提起 提案 設計と 技術的課題 評価と 今後の話 補足 スライド
研究の問題提起 大目的とその有用性 登山特有の問題点
大目的とその有用性 大目的:登山者の通過記録を電子化する 通過記録の利用例 登山者がいつどこを通過したかをWeb上に公開する 現状の手法は「記帳簿」といったアナログなもの 通過記録の利用例 家族や救助隊が登山者のいる範囲を把握する 登山後に自分のペース配分などを考察する 目的トップ 山菜,茸取り(90.3%) 態様トップ 道迷い,滑落,転倒(72.6%) D C 平成23年度の遭難者データ(全国) 参考リンク:平成23年中における山岳遭難の概況 遭難者数:2,204人 内死者,行方不明者:275人 E B F A
登山特有の問題点 通常なら,携帯電話用のアプリケーションを用い ることで解決する GPSのログを取り,定期的に公開すればよい 登山中は通信する際に通常以上の電力消費が発生 し,かつ充電の手段が限られている そもそも通信できないケースも多い 携帯電話の通信手段 赤丸を後出しさせるアニメーション NFCを囲む 遠距離通信 通信手段 消費電力 電話回線 × Wi-Fi Bluetooth △ NFC ○ インターネット
提案 「ゲート」を用いた解決案と要件の整理 低コスト版ゲートの導入 低コスト版ゲート「サブゲート」 サブゲートの役割
「ゲート」を用いた解決案と 要件の整理 登山道に携帯電話と通信する「ゲート」を置く ゲートを設置する際の問題点 要件の整理 NFCで携帯電話と通信し,有線で外部に通過記録を発信する 機材としては電車の改札が近い ゲートを設置する際の問題点 インフラの設置,維持コスト 天候,動物による故障リスク 要件の整理 登山者側からの要件 電力消費が少ない 導入コストが少ない(手間,金銭) 山の管理者側からの要件 導入コスト,維持コストが少ない(手間,金銭) 壊れにくいor壊れてもリカバリーしやすい インターネット ゲートを絵にする 各ゲートからネットに富んでいる 文字狭くなってもいいから次スライドにはみ出るな 3:40 ペースはOK
低コスト版ゲートの導入 一部のゲートを「機能縮小版」に置き換える 登山者とのNFCを用いた通信は行う インターネットには接続されていない
低コスト版ゲート「サブゲート」 イメージは「伝言掲示板」 高コストな通常のゲートとの違い 通過した登山者のIDを,後から来た登山者に渡す NFCリーダ/ライタではなくNFCタグとして使う 電源や通信のインフラを持たない ハードとしても安価(400円未満) 低級ゲートは名前がひどい 「サブゲート」とかどうだろうか? 通常ゲートはAndroid端末が ここよりずっと前でFeliCaを使う話をする
サブゲートの役割 通過記録のリレー サブゲートに自分の通過記録を残す 自分or他人がその記録をゲートまで運ぶ ※ pptx版のみ動きます インター ネット サブゲートの役割 登山者α,βの サブゲート通過記録 通過記録のリレー サブゲートに自分の通過記録を残す 自分or他人がその記録をゲートまで運ぶ ゲートからインターネットに送信する 登山者β 登山者α <登山者αの現在地> サブゲートと 頂上にあるゲートの 間にいるらしい 登山者αの サブゲート通過記録 登山者βの サブゲート通過記録
設計と技術的課題 NFCタグ特有の問題点 NFCタグ内のデータ配置案 今回使用するハードウェア 要求の再確認
NFCタグ特有の問題点 記憶容量の制限 電力の制限 タグの形式によって様々だが,だいたい数十バイト NFCタグの固有IDが8バイト 正直,時間を入れるのは厳しいかもしれない 電力の制限 NFCタグは,リーダ/ライタからの電力で動作する 処理量が多くなると,電力供給源となる携帯電話の 負担が大きくなる 通常のFeliCaや FeliCa lite FeliCaでないNFCのもの
NFCタグ内のデータ配置案 登山者のIDを保存するリングバッファを構築 管理用の領域に保存する情報 1人分のデータは8バイト 蓄積できる人数と,今の最新データ番号 1人分のデータは8バイト NFCの固有IDをそのまま格納する 最新データエリア番号を 3から1に変更する 管理 1人目 2人目 3人目 管理 4人目 2人目 3人目 更新 一番古いデータエリアに 新しいIDを上書きする CIの発表なので「リングバッファ」でいい 管理領域含めてリングバッファ 2部じゃない
今回使用するハードウェア NFCリーダ/ライタ NFCタグ Linuxマシン Android タブレット 電子マネーカード Nexus7画像 https://play.google.com/store/devices/details?id=nexus_7_16gb#utm_source=adwords&utm_campaign=nexus7BKWS あとで撮影する NFCタグの型番がわからん 今後についての直前でいい 30秒位しゃってたけど,「以下のデバイス使ってます」で終わりでいい 対象 実装物 ハードウェア 開発言語 登山者が使用 携帯電話用アプリ タブレット Java 山に設置 ゲート サブゲート NFCタグ数種 ネット上 管理サーバ Linuxマシン C
評価と今後の話 要求の再確認 予定している評価項目 今後のスケジュール
要求の再確認 性能,コスト面での要求 ポイント:情報伝達にDTN的な要素がある 登山者の通過記録が○○分後までには欲しい 時間については検討,議論が必要 設置する山や登山ルート,天候によって異なる 設置や維持に費やすコストを減らしたい 出来るだけサブゲートの割合を増やしたい ポイント:情報伝達にDTN的な要素がある 大きな遅延が発生する可能性がある しかし,集団遭難でもしない限り消失はしない Delay - and Disruption - Tolerant Networking 評価に影響すると予測される要素 登山道の長さ,分岐の数 登山者の人口密度(単位は人/メートルか?) タグの数,サブゲートの割合
予定している評価項目 シミュレータを実装,もしくは性能を数式化し 検証を行う+実地(山)での動作テスト 変化させるパラメータ 評価項目 ゲート,サブゲートの配置 登山者の種類別(タグorリーダ/ライタ)の人数 評価項目 登山者の情報が得られるまでの遅延 DTN的な情報伝達の失敗確立(情報の消失) 設置コスト(金銭,手間) artisocを使用する予定 実証実験 動作確認レベルでいい ボーイスカウト仲間を使う
今後のスケジュール 10/20 11/1 11/15 11/30 設計 実装:ゲート 実装:サブゲート 実装: 携帯電話用アプリ 実装:管理サーバ 論文執筆(構成) 学事イベント ※1 題目変更締切(最終) 12/12/14 ※2 論文提出締切 13/1/11 ※3 最終試験(発表) 13/1/31, 2/1 12/1 12/15 13/1/11 1/31 or 2/1 実験・評価 論文執筆 発表資料 発表はここまで
NFCタグを登山者が利用した場合 通信手段について サブゲートの動作モデル 各実装物の設計案 補足スライド NFCタグを登山者が利用した場合 通信手段について サブゲートの動作モデル 各実装物の設計案
NFCタグを登山者が利用した場合 NFCタグを登山者が持つケースも一応ある しかし,タグ同士では通信できないのでサブゲー トが利用できない 電子マネーカードがそのまま使える しかし,タグ同士では通信できないのでサブゲー トが利用できない 管理サーバ 山 登山者 ゲート (タグorリーダ/ライタ) サブゲート (タグのみ) 携帯電話 可能 FeliCaカード 不可能
補足スライド 通信手段について 通信手段の比較 NFCの似たような運用例
通信手段の比較 携帯電話の 通信手段 伝達距離 通信速度 (上り) 備考 電話回線 数百m~数km 86Mbps (LTE 4×4 MIMO) 電波状況が悪いor圏外だと 特に電力消費量が増える Wi-Fi 10m~99m 54Mbps (11a,g) 通信相手を探す作業を 自動にすると 電力消費量が増える Bluetooth 約10m 58Kbps (2.0+EDR) NFC 数cm 212Kbps (FeliCa) 電源を持たないカードにも 採用される程に省電力 wikiでの距離は http://goo.gl/8KMlr より EDGE EGPRS 10km,11a 50m,11g 80m,11n 80m 一部で搭載しているwimaxは 距離48km,28MHz帯を使ったとき134.4Mbps FeliCaの速度はsonyのページより
NFCの似たような運用例 スタンプラリーや勤怠管理など,その場にいたこ とを証明する為にNFCが用いられる 簡単なシステムの構成 NFC QUEST NFC + スタンプラリー + RPG 勤怠管理アプリ NFC Time Card Android端末をNFCリーダとした勤怠管理システム 簡単なシステムの構成 全体管理サーバ 1台 【NFCリーダ+小規模なコンピュータ】複数個 プロダクトをリファー 前スライドでの「ゲート」はこれ
補足スライド サブゲートの動作モデル 動作モデル(1/10 - 10/10) 本提案の注意点
サブゲートの動作モデル (1/10) + モデルの状況設定 携帯電話を持った登山者α,βがいる サブゲートAとゲートBを順番に通過する αはβのいくらか先を歩いている サブゲートAとゲートBを順番に通過する 管理サーバにはゲートBのみ接続している 登山者α 登山者β 進行方向 ゲートB + インターネット上の 管理サーバ サブゲートA
サブゲートの動作モデル (2/10) + 1人目のデータ登録 登山者αの携帯電話が持つNFCの固有IDを登録 掲示板に自分の名前を書き込むイメージ 登山者α ID: 1a2b3c4d 登山者β 進行方向 ゲートB + サブゲートAの記憶内容 09:20 1a2b3c4d new サブゲートA
サブゲートの動作モデル (3/10) + サブゲートの記憶内容を複製 登録されている全ての記録を携帯電話にコピー 登山者α 携帯電話αの記憶内容 09:20 A 1a2b3c4d new 登山者β 進行方向 ゲートB + サブゲートA サブゲートAの記憶内容 09:20 1a2b3c4d
サブゲートの動作モデル (4/10) + ゲートBに通過記録を報告 サブゲートの記録も同時に報告 ゲートBは全通過記録を管理サーバに送信 登山者α 携帯電話αの記憶内容 09:20 A 1a2b3c4d 登山者β 進行方向 ゲートB + ゲートBからの送信内容 09:20 A 1a2b3c4d new 09:30 B 1a2b3c4d new 管理サーバ サブゲートA
サブゲートの動作モデル (5/10) + 2人目のデータ登録 登山者βの携帯電話が持つNFCの固有IDを登録する 登山者α ID: 11223344 登山者β 進行方向 ゲートB + サブゲートAの記憶内容 09:40 1a2b3c4d 09:20 11223344 new サブゲートA
サブゲートの動作モデル (6/10) + サブゲートの記憶内容を複製する 自分と,先にサブゲートを通過した別の登山者αの 情報を取得する 携帯電話βの記憶内容 09:20 A 1a2b3c4d new 09:40 A 11223344 new 登山者β 進行方向 ゲートB + サブゲートAの記憶内容 09:20 1a2b3c4d 09:40 11223344 サブゲートA
サブゲートの動作モデル (7/10) + ゲートBに通過記録を報告する サブゲートの記録も同時に報告する 登山者α 携帯電話βの記憶内容 09:20 A 1a2b3c4d 09:40 A 11223344 登山者β 進行方向 ゲートB + ゲートBからの送信内容 09:20 A 1a2b3c4d new 09:40 A 11223344 new 10:10 B 11223344 new 管理サーバ サブゲートA
サブゲートの動作モデル (8/10) + 登山者αが先を歩き続けた場合 ゲートBからの送信内容 09:20 A 1a2b3c4d 09:30 B 1a2b3c4d 09:40 A 11223344 10:10 B 11223344 携帯電話αからの報告 携帯電話βからの報告 登山者α 登山者β ゲートB + サブゲートA
サブゲートの動作モデル (9/10) + 登山者αが区間A-Bで登山者βに抜かされた場合 ゲートBからの送信内容 09:20 A 1a2b3c4d 09:40 A 11223344 10:10 B 11223344 サブゲートAでβの前に 居た人を抜かしたらしい 携帯電話βからの報告 登山者α? 登山者β ゲートB + サブゲートA
サブゲートの動作モデル (10/10) もし自分が行方不明になっても,どのサブゲート まで進んだかを,他の登山者が報告してくれる ただ,休憩などと遭難の判別はできない 地点Cより手前で αとすれ違った αは地点Bまで 私の前にいた ※地点Dより先に αの記録はなかった 複数の情報を 統合すると 遭難者? α 区間C-Dにαが いる可能性が高い F E D C B A
本提案の注意点 遭難したかどうかの判断は難しい リアルタイムな情報発信はできない 「長時間移動していない」までしか判断できない 写真撮影や食事など,停止する理由はいくつかある リアルタイムな情報発信はできない サブゲートを通過した記録は,それを拾った誰かが ゲートを通過するまで送信されない
補足スライド 各実装物の設計案 実装,用意するもの AndroidのNFC実装 ゲートの設計 サブゲートの設計 携帯電話用アプリの設計
実装,用意するもの + 登山道に設置するゲート 登山道に設置するサブゲート 登山者が使用する携帯電話用アプリケーション 携帯電話or電子マネーカードと通信する Nexus7で実装 登山道に設置するサブゲート 携帯電話と通信する カード型NFCタグをそのまま使用する 登山者が使用する携帯電話用アプリケーション サブゲート,ゲート両方と通信する 通過記録を収集する管理サーバ Linuxマシンで実装 ゲートからもらった通過記録を収集,集計する
AndroidのNFC実装 NFCタグを発見したイベントをアプリケーション で受け取って処理する リーダ/ライタ カードエミュレーション(タグとして振舞う) 双方向通信 機内モードとNFCデバイスの有効化は両立可能 Nexus7でのみ確認 その他,FeliCa用ライブラリがあるが今回は使わない
ゲートの設計 + 通信相手によってモードを変える 受け取った通過記録を管理サーバ に送信する 携帯電話とはタグとして通信 電子マネーカードとはリーダ/ラ イタとして通信する 受け取った通過記録を管理サーバ に送信する 今ゲートを通過した記録 過去にサブゲートを通過した記録 ゲート + 管理サーバ
サブゲートの設計 携帯電話のNFC固有IDを記憶する できるだけ読み書きのイベントや ブロック数を少なくするのが重要 サブゲート自体の状態管理 書き込める記憶容量(人数単位) 最新データのあるブロック番号 残りはリングバッファ NFCの固有IDはここ できるだけ読み書きのイベントや ブロック数を少なくするのが重要 サブゲート
携帯電話用アプリの設計 + + サブゲートとの通信 ゲートとの通信 【取得】サブゲート内の全データを受信する 内部処理を行う 自分のIDを追加した通過記録リストを保存する サブゲートに記憶させるの更新版データを生成する 【上書き】サブゲート内の変更箇所を上書きする ゲートとの通信 【報告】保存したサブゲートの全データを送信する ゲート + 報告 取得 上書き サブゲート +
編集メモ置き場+以降没スライド ※ 編集メモ(発表前に消します) ※ 12/10/10 17:40 更新 最近の変更点 タイトルスライド修正 動作イメージスライドにpptxへのリンク追加 スライド圧縮の進捗 タイトル 1 見出し 4 説明スライド 12 計 17 + 補足スライド 目標は20枚以下 理想は15枚