ぼくらの自由研究室

もう自動改札で「通せんぼ」されない! 交通ICカードのリードチェッカーを作ってみた

今回の自由工作は、非接触ICカードをエラーレスにする方法。学者みたいで難しくなりすぎた……。簡単に言えば、「NFC(Near Field radio Communication)」を正しく読み込ませる方法。んー、英単語を使うと、どうしても難しくなる。

なので、ぶっちゃけて言うと、交通ICカードの自動改札に通せんぼを食らわない方法。それをSuicaで実践してみよう。

「おれは私鉄だからPASMOだ!」とか、「ウチは関西だからICOCAどすえ!」とか、「ばってん、おいドンは“はやかけん”ですたい!」というのは置いといて、自動改札で「ピッ」とやって、通せんぼされないようにする方法を真剣に考えてみたいと思う。

Suicaをはじめとするタッチするだけでいい便利な交通ICカードは、非接触ICカードと呼ばれる。日本だと「FeliCa」やら「おサイフケータイ」の名前が有名

とはいえ「ラジオラ●フ」じゃないので、チャージ0円で改札を抜けるとか、つねに6万5535円チャージされていて金額が減らないとかじゃない(笑)。

ここでは、急いでいるとツイツイやっちゃう、タッチ時間が短くて「ピンポーン! アウトー!」ってヤツを回避する方法はないか? という研究だ。筆者は何度も自動改札機に通せんぼされ、パワハラならぬ「パスハラ(パス ハラスメント)」を受けたことがある。でも、それ以上に肝を冷やすのは、後ろから続いてきた人の表情だ。声にはしないものの「クソ忙しい通勤時間に改札止めてんじゃネーよ! ボケェ!」というフキダシが頭の上から出てるし……。仁王像みたいなスゴいガン飛ばされるし、自分のせいとはいえスゲー落ち込む。

かといって、自分の前の人が改札を止めると、仁王像の睨みを効かせて「止めてんじゃネーよ!」というフキダシをかかげてるんだが……。

交通ICカードのリードチェッカーを作る! ハンダ付けなしの簡単なバージョンも数百円で作れちゃう!

ここでは、自動改札のしくみと、通せんぼ対策を考えていこう!

まずは敵を知る! 交通ICカード自動改札機のしくみ

憎っくき自動改札機を制するには、まず相手を知ることが大切。本当に簡単に、超簡単にしくみを説明するとこんな感じになる。

①交通ICカードにお金をチャージする

交通ICカードにチャージしたお金は、ICカード内と交通ICカードのシステムに残額が記録される。また、実際の現金は、JR東日本の一時預かり金となってストックされる

ICカードにチャージされている金額が記録され、また、鉄道会社のシステムにも金額とICカードのID番号が記録される。個々のカードに付与されている、ID番号の組み合わせは理論上18,446,744,073,709,551,616(1844京6744兆737億955万)通り。SuicaやPASMO、nanacoカードなど、すべてを合わせても、IDがダブることはないと言われている。

②改札入場した時刻と駅が記録される

改札を入場すると、駅の情報と時刻がICカードとシステムに記録される。それと同時にシステムにはICカードのID番号が登録される。これで履歴などが追いかけられる

記録はカード内のメモリーと鉄道会社のシステムの両方に記録。

③駅でドリンクを購入

ドリンクなどを購入すると、運賃とは別に、チャージ残額から代金が落とされる。すると、自販機の会社に交通ICカードの一時預かり金から代金が振り込まれる

物販購入は、改札とは別にチャージされている金額から減額される。たとえばキオスクでジュースを購入した場合は、交通ICカードのシステムに対してキオスクが購入額を請求する。つまり、チャージした金額は、そのカードの会社の一時預かりになっているというワケ。

④改札出場の際に時刻と駅が記録され、運賃計算とその引き落としが行われる

乗車駅~出場駅までの運賃が計算され残額から引かれ、ICカードとシステムに出場駅と時刻、運賃が記録される。また、途中で私鉄などを経由した場合は、交通ICカードの一時預かり金から私鉄に対して運賃が支払われる

②の情報をもとに、出場した改札機の駅情報から乗車区間を割り出し、運賃を計算する。乗り継ぎ割引や直通運転による乗り継ぎなど、複雑な計算を一瞬で行い、運賃計算をするため、各社のICカードは利用区間の範囲などを定めている。

交通ICカードのメモリーには、乗車区間や運賃、残金情報などが記録されている。スマホのアプリを使うと読み出しも可能

また、経路にJR以外の経路が含まれていた場合は、別会社に対する支払いなどもシステム上で自動に行われる。たまに乗り継ぎ専用の自動改札があるが、あれは通常の改札出場情報を書き込まずに、「駅を通過した」という情報のみを記録している。再び制限時間内に乗り継ぎ専用の改札で入場すると、通過情報が消え、同一駅を乗り継いだことになるになるらしい。

交通ICカードを使ったコインロッカーに金属のカギがない秘密

駅に設置されているコインロッカーの中には、PASMOやSuicaをかざすだけで使えるタイプがある。コインロッカー代金を交通ICカードで支払えるのはもちろん、ロッカーから荷物を取り出すときは交通ICカードをかざすだけ。これで荷物を入れたロッカーが自動的に開くというスゴいシステムだ。

荷物をロッカーに入れて扉を閉め、交通ICカードをかざすと代金の支払いができ、自動的にロッカーの鍵が閉まる。交通ICカード自体がカギになるので、ロッカーのカギはない

このコインロッカーには、今までのような金属のカギがない。だからカギをなくさないように注意する必要もなく超便利なロッカーだ。

じつは交通ICカード対応のコインロッカーは、荷物を入れたロッカー番号とICカードのID番号をひも付けて、デジタルキーとしている。荷物を入れたときはID番号とロッカー番号をロッカーが記憶し、取り出すときはID番号を読み取り対応するロッカー番号のカギを開けるというわけだ。

交通ICカードをカギだけとして使い、決済は現金で行うものもある

ちなみにID番号はスマホなどでも見られるようになっていて、ほかのカードにはコピーできない(カードIDの書き換えは不可)ようになっている。

交通ICカードの電源が入ったかどうかが、通せんぼを決定づける

同一鉄道会社内の運賃計算は簡単。しかし、東京近郊のようにどこにあるともしれない駅まで、何路線も乗り入れている場合は、運賃計算が複雑。もはや券売機の上に掲示している運賃表(路線図)は、各社乗り入れ線は大まかなところしか書かれていない。昔は超でかい運賃表を掲げて、指で追いながら運賃を調べて切符を買っていたのに……。

運賃計算が超複雑という現状を踏まえ、改札を出場する際に、複雑な計算が間に合わず、通せんぼされるというなら納得がいく。しかし、入場駅を記録するだけの場合でも、通せんぼされるのはなぜだろう。

ひとつは単純なエラー。改札を出札したという情報がないのに、再び入場しようとした場合や、チャージ金額不足(最低運賃未満)で入場しようとした場合。また、定期では期限が切れている場合もある。

しかし、それ以外で通せんぼされるのは、別の理由がある。それは交通ICカードと改札機の間で、データの無線通信を行っているから。じつは交通ICカード側の電源がONにならずに、ICカード情報の読み込みや入場駅の書き込みができないため、通せんぼされるのだ。

タッチ・アンド・ゴーの動作をすると、確実にカードが読み取れるだけの時間を確保できる。筆者のようなへそ曲がりは、タッチせずに読み取り部にかざしつつ、1歩進むと同時に腕を後ろに移動して、かざしている時間を稼いでいる。※画像:JR東日本 Suica技術解説ページより抜粋

でも、交通ICカードの中には電池が入っているわけでなく、テレビに差し込むICカードのようにほかから電気を供給するための端子がむき出しになっているわけでもない。

無線でデータをやり取りしている以上、どうしても電源が必要になるが、電池のない交通ICカードはどうやって電源を確保しているのだろう?

決め手は無線充電(Qi)などでも活躍する電磁誘導

Suicaをはじめとする非接触型の交通ICカードは、内部に電池を持っていないが、発電のしくみを持っている。発電と言っても、超簡単なしくみで、電線をぐるぐる巻きにしたものをICカードの間に挟んでいるだけ。

ここに電波を当てると、電池もないのに電気が流れる。これは電磁誘導という現象で、一昔前のスマホで流行した無線充電と基本は同じだ。

一昔前に流行したスマホの無線(非接触)充電Qi(チー)。充電台の上にスマホを置くだけで充電できた
充電側コイル、受信側にもコイルが埋め込まれており、電磁誘導で送電する

自動改札機のタッチする場所には、電線をぐるぐる巻きにしたコイルがあり、ここから電波を出している。交通ICカードはその電波を受け取って、自ら内蔵するコイルで発電し、内蔵しているICチップに電源を供給、改札機からの要求に応えて、内部メモリの読み書きを行っている。さらに、交通ICカードがスゴいところは、同じ電波を使って発電しながら、データの通信もやっちゃうという点。

そこで問題になるのは、交通ICカードが発電し始めるまでに、ちょっとタイムラグがあること。また、改札機の送信側コイルの電波は、セキュリティ上、半径10cmぐらいしか飛ばないようにしているという点だ。

FeliCaの中身。周囲を囲むアンテナとメモリー、無線通信ユニットが樹脂板の間に挟まれている ※画像:ソニーのFeliCa技術解説ページから抜粋

駅や車内のポスターで「交通ICカードは改札機にしっかりタッチして通る」と訴えているが、あれは「改札機の電波がガッツリ届く範囲にICカードを当てて、交通ICカードの電源が確実にONになるように改札を通ってね♪」と正しく言うとワケワカランなので、チビッ子にもわかるように簡単に説明したものなのだ。

でも交通ICカードの電源がONになったかどうかは、電源ランプがあるわけじゃなくわかりにくいのが難点。そこで、交通ICカードには一切手を加えず、電源ランプを自作しちゃおう!

自作のコイルを作って、そこにLEDをつける
おサイフケータイを有効にして、スマートフォンをかざすとLEDが光る!

ハンダ付けなしでOK! 部品はエナメル線とLEDだけ

交通ICカードのスイッチが入ったかどうかを見る電源ランプの材料は次の通り。

・エナメル線:200円ぐらい
・LED(3mmなければ5mm):200円ぐらい
・紙やすり(240番):100円ぐらい

エナメル線とLED、紙やすりをホームセンターで買ってこよう!
直径3mmと5mmのLED。オススメは3mm。大きなケースに入れるなら7mmの大型LEDでもいい

エナメル線がなかったら、模型工作用の細いビニール被覆電線でもOK。ビニールの電線を使う場合は、ほどけるのを防ぐために瞬間接着剤もあるといい。

これらは近所のホームセンターで入手できるだろう。電気関係の部品の横に、子どもの工作用部品(電池ボックスとか)が売っているコーナーがあり、そのへんで入手できるはず。

もちろん秋葉原に行けば、より眩しく光る高輝度LEDなども入手できるので、実際に店(千石電商や秋月電子、大阪なら共立電子産業)に行ってもよし、通販で購入してもいい。

①極太マジックなど大体太さ2cm程度の丸いものを探す

マッキーの太字とかがいい感じ

これにエナメル線を巻きつけてコイルを作るため。

②エナメル線の片側2cm位を紙やすりで磨く

エナメル線の先っぽ2cmぐらいを紙やすりでよく磨いて、エナメルの被覆を削る

エナメル線は、電線の上にエナメルを塗って絶縁しているので、その被覆を紙やすりで削り取る。紙やすりには、目の粗さで番号が付いているので、240番を使うといいだろう。120番だと粗すぎ、400番だと細かすぎって感じ。

③被覆が残っている部分をマジックに巻きつけて8~10回ぐらいぐるぐる巻く

ここで使ったのはコンパウンド(研磨剤)のフタ。これで10巻きぐらいになっている

じつは、この巻き数とマジックなどの芯の太さが、発電効率の決め手になるのだが、LEDを点灯するだけなので適当でOK(笑)。

④エナメル線を切って反対側の被覆も紙やすりで剥がす

反対側の電線もエナメルの被覆を紙やすりで削る

巻き数はだいたいでOK。なので被覆を剥がす2cmぐらいを巻き数に入れるか否かは好みでどうぞ。発電力は弱くなるが3回巻きにしたり、一回り直径を小さくしてもLEDを点灯できた

⑤マジックなどの芯からコイルを抜き出して形を固定する

キレイに巻いたエナメル線がバラけないように、両端2本の電線でまとめる
余ったエナメル線を巻きつけて固定

エナメル線で作った場合は、両端の2本の線で円の一部を3回ぐらい巻いて固定。これで2カ所固定できる。もう1カ所は余っているエナメル線を2cm位切り取って、ぐるぐるとコイルに巻きつける。

8~10巻き分の電線をカットして両端の被覆を向き、コイルを作る
ほどけないように瞬間接着剤で固定
スマホにかざしてLEDが点灯するのをチェック!

ビニール被覆の電線を使った場合は、両端の被覆を皮むきして、コイルの円が壊れないように、瞬間接着剤で3カ所ぐらい固定する。手とコイルを接着しないように注意。

⑥エナメル線にLEDを取り付ける

LEDの足にコイルの2つの電線をつなげる。ビニールテープなどでショートしないようにカバーするとなおグッド!

ハンダ付けしてなくてもOK。LEDの足とエナメル線をしっかりと離れないように絡める。LEDにはプラスとマイナスの極性があるが、それは無視してOK。なぜなら発電される電気は、交流なので極性は関係ないのだ(極性が逆のときは点灯せず、極性が正しいときに点灯。
実際には猛烈な速度でLEDが点滅している)。

これでパイロットランプが完成! 簡単でしょ! 試作では、ここまで行くのに紆余曲折あって、労力もコストもかかってる(笑)。でも試作が完成したら、こんなに簡単で良かったのかよ! と叫んだ。遠回りしたなぁ~。だって普通のビニール被覆線でもできちゃうんだもん。

パイロットランプの動作チェックは、FeliCa対応の携帯やスマホを使う。俗に「おサイフケータイ対応」って呼ばれているアレ。スマホでは「NFC」と呼ばれる機能をONにして、交通ICカードのデータを読み取るソフトやおサイフケータイなどのアプリを起動する。

ここで使ったのは、Android用のSuica Reader

スマホのFeliCaのマークの中心に、作ったコイルの中心が来るようにして、LEDが光れば動作チェックOK!

LED(秋葉原などで購入できる高輝度タイプ)によっては、1秒間隔でチラッっと光るビーコンが見えるものもあるはず。また、マークから外してみたり、遠ざけると明るく光るので要チェック。

秋葉原などで購入できる高輝度LEDと呼ばれるタイプ。透明なLEDは、だいたい高輝度タイプ。カラーもいろいろあって楽しい

自分なりにアレンジしていろいろ作ってみよう!

交通ICカードの電源ランプ、名づけて「交通ICカード リードチェッカー」が完成したら、定期券入れなどに実装してみよう。

一番簡単なのは、切符の領収書(名刺サイズ)などに完成品をテープで貼って、交通ICカードと一緒にカードケースに入れるなどすればいい。

3mmのLEDを使って定期券入れに入れてみた

5mm(直径)のLEDだと少し大きいかもしれないが、3mmのLEDなら、ポケットに引っかかることもなく使えるはず。

交通ICカードとほぼ同じ大きさのケースの数々。いろいろ遊べそう。診察券入れは透明なので、さっきのパスケースのように交通ICカードとリードチェッカーを入れるだけでOK

また100円ショップには、いろいろなケースが売っているので、交通ICカードリードチェッカーを何個も作ってケースに入れると、クリスマスイルミネーションのようにキレイでド派手な仕上がりになる。

なお、スマホのNFC機能に比べると、改札機の電波はスゴく強く設定されているので、かなり明るく、一度に何個も点灯できる。ただし交通ICカードのアンテナの電波を妨害しないように、カードの中心部からは避けたほうがよさそうだ。

カード中央部を避けてコイルを配置して接着剤で固定


※本工作ではLEDに流れる電流や電圧をまったく制御していない簡易回路なので、低電圧で高輝度のLEDを利用すると玉切れする可能性があります。きちんと計算していませんが、3V程度以上で点灯するのLEDを使ったほうがよさそうです。

また、コイルは改札機のタッチ部分と、交通ICカードの間に挟まらないようにすること。間に挟まると電波を妨害してしまう可能性があるので注意。さらに、コイルはICカード中央から避けたところに配置するほうがいいみたいだ。中央部にコイルを設置すると、間に挟んでいなくても電波を妨害してしまう恐れがある。なにしろ読み取り性能が悪くなったら、本末転倒ならぬ本末点灯になっちゃうので。

改札機と交通ICカードの間にコイルが挟まらないように実装する。動作はまずスマホでチェック

作ったパスケースを駅まで行って試すのが面倒な場合は、交通ICカード対応のドリンクの自動販売機で実験してもいいだろう。電波の強さは改札犠とほぼ同じぐらいだったので、かざしてスグに残額表示できれば、改札もすんなり通れるはずだ。

もちろん、コンビニの支払いでチェックしてもいいだろう。

また、いろいろなケースに実装する楽しみもさることながら、コイルの直径や巻き数を変えて、発電効率を試してみるのもいい。このあたりは各自の自由研究課題としたい。キーワードとなるのは、「13.56MHz」という周波数だ。

いろいろなケースに実装したり、コイルの直径や巻き数を変えて、LEDの光る具合を調整するのは、個々の自由研究課題だ

なお、交通ICカード自体にリードチェッカーを取り付けるなどは絶対にしないこと。これはICカードの改造になってしまうので、法的にアウトになる可能性があるだけでなく、チャージのときにICカードを挿入口に入れられなくなる(笑)。

ICカードはいつでもスグに取り出せるようにしつつ、眩しいぐらいに光り輝く交通ICカードリードチェッカーを各々作ってほしい。

藤山 哲人