nfc2014/02/09無題ふと、iBeaconと同じようなしくみをNFCでやるとどうなるんだろうか?と思った。認証せず、応答を求めず、となるとポーリング動作しかないだろう。SENSF_REQだ。この段階でデータを一番多く載せられるのは、TypeBのときみたいだ。いうのを考えるのはあまり意味が無い。BLEのビーコン系は不特定多数にばらまきたいしくみなのだけど、NFCは通信するときはほぼ一対一前提だ。やるならいつもの認証無しアクセスで十分。いうどうでもいいことをたまには考えないといかん。nfc[ble]どういうライブラリが良いものかAndroidでBLEを使う練習をしている。APIの使い方もひっくるめて書かれているので、参考にしながら作ってみた。http://blog.fenrir-inc.com/jp/2013/10/bluetooth-le-android.html作ったのは、これ。考えずにまねしただけなので、できがいいとか、技を使ったとかはない。https://github.com/hirokuma/BleTest実装で忘れてしまいそうなところはライブラリにしてしまい、あとは使うだけという状態にしておきたい。思ってBleUtils.javaを作ってみたのだが、どこまでをライブラリにして、どこまでをアプリにするかが決めきらなかった。SensorTagなんかはペアリングでキーを入力せずに使えるし、ビーコンなんちゃら系はAdvertisingさえ取れれば良いのだろうとか、いろいろ考えてしまう。そんなわけで、今回はスキャンとそれ以降で分けた。それ以降、といってもNotificationを受け付けるところしか作っていないのだがね。以下、どうでもいい話。自分でAndroidのソースを書くと、非常にCっぽい。intで数値にしてreturnするようにしてるが、たぶんenumとかにしてthrowするのがJavaっぽいんじゃないかね。try-catchってコストが高いというイメージがあって、よっぽどの例外じゃ無い限りはreturnで返すように作ってしまうのだ。新しい酒は新しい革袋に、というわけではないが、違う言語をやるんだったら自分もある程度リセットしてからやらないといかんし、時代が変わればやり方も変わってくるだろうし。歳を取ってきて新しいことに追いつく体力が無くなってきたとは思うが、やらないとゼロだ。最近は仕事でコードを書かないようになってきたし、家にいる時間短いしで、なにもできてない。(2)NFCって、どのくらい届くの?3cmくらいだったら、だいたい大丈夫じゃないかね。10cmくらいまではいけるかも。無線なので、強さと環境次第だろうね。それでも1メートルなんてのは無理だろう(Nearじゃないし・・・)。nfc2014/02/02[git]stashって便利だなお仕事で、git管理するようにしている。私は「gitでやるんで、みんなよろしく」というだけなんだけど、たまには自分でちょっと修正したりすることもある。修正中のソースにpullしたいことがある。--」とかで全部元に戻して、pullして、また変更箇所をWinMergeとかで戻す、などということをやっていた。普段、gitはGUIのツールでやってたのだけど、昨日はなんとなくコマンドラインから実行した。pullとすると失敗したので、またいつもの作業をするか・・・と思っていると、なんか説明が出ている。「commitかstashかしんしゃい」みたいなことらしい。あることは知っていたstashだが、「一時保存して何に使うんだ?」くらいの印象しか持っておらず、試したこともなかった。試しにstashすると、statusで見たら変更分が消えて、一時保存されていた。あら、一時保存して、汚れたソースを元に戻すところまでやってくれるんだ!statusで変更が無い状態になるので、pullしても問題なし。popでポップするみたい)。今回は修正したソースが誰も触っていないことがわかっていたのでこれでよかったのだけど、変更されていたらまずそうだ。コンフリクトしてくれるらしいので、それでよいのかな。いろんな人がいるので、GUIで「こうやれば何とかなるので使ってください」という形に持っていかないと、なかなかうまく使ってくれなかったり、変な使い方をして結果的に困ることになったりする。Flowっていう運用がよいという話も聞くので、検討せんといかんな。Extension(だっけ)を使い、MacだとSourceTreeになってる。Linuxは、SambaにしてWindowsから使うか、コマンド打ちか(GUI環境無しなので)。SourceTreeで統一したい気もするが、Windowsだとインストールがちょっと会社的に面倒なのだよなあ。(1)忙しい記念に、NFCのことをゆっくりと書いていこうと思う。「ゆっくり」というのは、1回の記事を短くする、というだけのことだ。初回だけ長めにする(ストレス発散のため)。Communicationの略。ここでは特に、13.56MHz帯の無線を使った10cm以内の近距離通信技術を指す。Suicaのようなおサイフケータイや、IC免許証、パスポート、住基カード、Taspo、社員証のように、「かざす」という動作で何かできるものは、NFCを使ったものが多い。一時期は、磁気カードがよく使われていたと思う。カードに黒い帯がついていて、私なんかは出退勤のカードとして使っていた記憶がある。会員証とかでも使われているんじゃないかと思う。その置き換えとして使われたりする。NFCを使うと、ICカードといって、ICが入ったカードを使うことになる。磁気カードに比べると、当然値段が高い。かかわらず使われているのは、以下のようなメリットがあるからだろう。磁気カードなんかは見えないペンで書かれた文字のようなもので、読む手段さえあれば誰だって読むことができる。NFCは、カードに入っているICと会話をしないと話を聞き出すことができない。会話して、合い言葉を交わして、そしてようやく本題に入ることができる。いうセキュリティを高めた使い方もできるし、もう少し敷居を下げてクーポンのような使い方をすることもできる。考えると、なにに使っていいのかわからなくなってくるが、特徴を考えるとよいだろう。すごく安価にはしにくい(IC入ってるし)値段を上げるとセキュリティも上がるが、安くてもそこそこ何とかならなくもない。セキュリティMAX、か、セキュリティそこそこ、の2モデルくらいになるお金を扱うことができるくらいのセキュリティを持てるこの特徴が、NFCがはやってるようなそうでもないような、そんな状況の説明にもなってしまう。