SlideShare a Scribd company logo
1 of 35
Download to read offline
はじめに
これは仮面ライダーの変身ベルトを自分のもっている
IT技術でどこまで近いものを作ることができるかに
挑戦するというものです。
生暖かく見守ってください。
自己紹介
氏名:Shigeo Ueda(Twitter:ueponx、Facebook:Shigeo Ueda)
仕事:インフラ設備の保守
好きなもの
•特撮、アニメ(最近よかったのは「オーバーロード」)
•ガジェット作成(Arduino、mbed、Raspberry Piがベース)
•プログラミング(C#、Java、JavaScript)
今回作ろうとしたもの
仮面ライダー電王(以下電王)で変身する際に
使用したベルトにチャレンジ
平成ライダーでは変身ベルトのことをドライバー
ということもありますが、
電王ではベルトといいます
図:デンオウベルト→
仮面ライダー電王とは?
2007年の現代に現れ、時間の改編を企てる
侵略者イマジンと、これを阻止するために戦う
仮面ライダー電王・野上良太郎、
そして良太郎に憑依し力を貸す
味方イマジン達の活躍を描く。
(Wikipediaより)
なるほど…
まったく、わからん
デンオウベルトの仕組み
デンオウベルトはベルトのバックル部分に
チケットをかざして変身
(SUICAでいうところのタッチ)
複数のパスがあり、タッチする
ことでフォームチェンジ
(特性と形状の変化)
完全に一致!
バックルとパスの関係から
何かと何かを近づけて、
その認識と識別が行えれば
実現が可能!!
近づいたことを検知する方法
「何かと何かを近づける」
近接・非接触の技術がキーワード
一般的な近接・非接触の技術
 NFC(AndroidやWindows Phoneなどに対応)
 FeliCaなどの非接触式ICカード
 SuicaやmanacaなどのIC系交通カード
 nanacoなどの電子マネー
 Beacon
 iBeacon
 Eddystone(エディストン)
一般的な近接・非接触の技術
リーダー/カード(タグ)など入手性を考えて
一番容易に使用できるのは“FeliCa”のため
それを使用する方向
準備
認識させるものが決定したので以下のものを準備
• PC(Windows10 or 8.1)
• FeliCaリーダー(パソリ:RC-S380)
• SUICA、MANACA、nanaco
• Visual Studio 2015(C#)
必要な機能
今回必要な機能は以下となります
1. ICカードの読み込み
2. ICカードの種類、またはIDを識別
3. 識別によって音声の出力
試行錯誤その1
Windows8の機能の検討
•まず手始めにWindows8では近接通信(Proximity API)があったと記憶し
ていたのでそれで実験してみることにしました。
Windows.Networking.Proximity名前空間に用意されたクラスライブラリを
使って、NFCを活用したアプリを開発できます…
だが、FeliCaテメーはダメだ
Windows8の機能の検討
Windows8の近接通信(Proximity API)ではFeliCa未対応
(明確に記載されているページを誰かおしえてください)
試行錯誤その2
PaSoRiのStarter Kitの検討
PaSoRiのドライバと開発のお試し版のような感じで配布されているスターターキット
(http://www.sony.co.jp/Products/felica/business/products/ICS-D004_002_003.html )ドライバと
そのDLL呼び出し用ラッパサンプルを含む
サンプル付きなので、楽勝と甘く見ていましたが、ソースの改変してコンパイルエラーはなくなった
けど動作せず。Webの情報ではPaSoRiの型番がRC-S380になってから仕様(FeliCaベースから
ISO18092/21481ベースへ。そのためRC-S380ではNFCには対応)が変更となった?
\(^O^)/オワタ
ほかの方法をさがした
よく考えてみたらPC/SC(Personal Computer/Smart Card)APIがあっ
た
このAPIは旧来から存在していたAPIなので、全く考えていなかったが、
パソリでも使用可能の模様
これを使えばそれほどストアアプリでなくても実装可能なので、制限
事項もない
PC/SC APIの簡単な仕組み
プロジェクトでwinscard.dllをLoadLibraryで読み込み、APIの各機能はDllImport
その後以下の手順でAPIの呼び出し
1. SCardEstablishContext() : スマートカードサービスへの接続
2. SCardListReaders() : 認識しているリーダの一覧を取得
3. SCardGetStatusChange() : リーダの状態の変化を検知
PC/SC APIの簡単な仕組み
4. SCardConnect() : カードと接続
5. SCardTransmit() : カードに対してコマンドを送信
6. SCardDisconnect() : カードとの接続を切断
7. SCardReleaseContext() : リソースの開放
この手順でカードから情報を取得可能!
実装してみた
読み出しのコマンドをAPI経由でIDmを取得
IDmとは?
FeliCaのICチップ製造時に、ICチップに記録される固有のID番号
トレーサビリティと個体識別を目的としているため、編集は不可能
前述のSCardTransmit() で{0xFF,0xCA,0x00,0x00,受信サイズ}と送るとIDmを返
します。
あとは音声が鳴らせればある程度完了となります。
デモ
終わりに(?)
今回は選定の部分でうろ覚えの知識を使ったため、試行錯誤をしま
したがそれ以外は引っかかる部分はなし
自作おもちゃ程度ですが、うまく応用すればタイムカードや出欠シス
テムは容易に作れる
ただし、IDmは特別なルールにしたがって発行されているものではな
いので、事前に紐付け可能な社員証・学生証などの利用が現実的
さて
今回は変身ベルトをつくるという目的で作っていましたが、
本当にこれはベルトといえるのか?
PCあり、カードリーダありでは、身に付けるには圧倒的に重く、現実
的ではないような気が・・・
同じ技術であればAndroidを使ったほうがよりそれっぽい?
Androidを使った場合のメリット
本体にリーダーがあるのでコストがかからない
電源を別途用意しなくていい
ベルトのバックルに近い大きさに収まる
かなりメリットがあります。
敗北感があったので、Andoroidで実装してみた!
AndroidManifest.xml
<uses-feature android:name="android.hardware.nfc" android:required="true" />
<uses-permission android:name="android.permission.NFC" />
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" />
<meta-data
android:name="android.nfc.action.TAG_DISCOVERED"
android:resource="@xml/nfc_filter" />
プロジェクト内にxml/nfc_filter.xmlを作
成
resourceタグ内に
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
<tech>android.nfc.tech.NfcF</tech>
</tech-list>
IDmを取り出すコード
Intent intent = getIntent();
// Tag から情報を取得
Tag tag = (Tag) intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
if (tag != null) {
// IDmを取得
byte[] idm = tag.getId();
}
デモ2
大きなデメリットが!
リーダーの感度がわるく、認識に時間が掛かることが多い。
Androidスマホは小さな本体にいろいろなものを詰め込んだ
 認識が行える領域がわかりにくい
 感度が圧倒的に悪くなっている
スマートフォンだけに限らず、Nexus7のようなタブレットでも同様に感
度が低いので状況としては厳しい
本当の終わりに
今回は二転三転しましたが、
やはり完成度は微妙だったかもしれません
いっそのこと
バンダイで発売中の「大人の為の変身ベルト」に
手をだすべきなのかもしれません。
http://www.b-boys.jp/csm/
ueponxの次回作に
ご期待ください

More Related Content

More from Shigeo Ueda

SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料Shigeo Ueda
 
ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン Shigeo Ueda
 
ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成Shigeo Ueda
 
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみようSlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみようShigeo Ueda
 
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!Shigeo Ueda
 
E2D3で地図を作画してみよう
E2D3で地図を作画してみようE2D3で地図を作画してみよう
E2D3で地図を作画してみようShigeo Ueda
 
Windows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみるWindows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみるShigeo Ueda
 
変身ベルトアプリ謎
変身ベルトアプリ謎変身ベルトアプリ謎
変身ベルトアプリ謎Shigeo Ueda
 
AndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみるAndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみるShigeo Ueda
 
Python toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみるPython toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみるShigeo Ueda
 

More from Shigeo Ueda (11)

SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料
 
ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン
 
ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成
 
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみようSlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
 
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
 
E2D3で地図を作画してみよう
E2D3で地図を作画してみようE2D3で地図を作画してみよう
E2D3で地図を作画してみよう
 
Windows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみるWindows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみる
 
変身ベルトアプリ謎
変身ベルトアプリ謎変身ベルトアプリ謎
変身ベルトアプリ謎
 
AndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみるAndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみる
 
Kinect入門
Kinect入門Kinect入門
Kinect入門
 
Python toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみるPython toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみる
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

ベルトガジェットにチャレンジしてみる