カテゴリー ‘ スマートフォン

ArduinoとRC-S620/Sを接続してみた


とりあえず、ArduinoとRC-S620/Sを接続してみた。

接続した結果がこちら、

ど素人の電子工作なので配線がひどい事に…。とりあえず大目に見てください。

で、確認の為にまどろみはじめさんのブログ記事を参考に「Arduino+RC-S620/SでFeliCa IDmを取得してLCDに表示する

FelicaのIDmを取得して表示してみた!

見事表示に成功

(わざとぼかした画像を使っています)

今回使ったものは

もし、「Arduino Uno」も「ブレッドボード」も持っていいないという人は、

こちら「ArduinoをはじめようキットArduino UnoFeliCa リーダー・ライター RC-S620SFeliCa RC-S620S ピッチ変換基板(フラットケーブル付き)」がお勧めです!

みんなもLet’s Felica! Let’s NFC!

海外通販でNexus7を購入して届いたので箱空けてNFCとりあえず使ってみた


 

Nexus7で利用出来るオススメのNFCアプリの記事を

Nexus7を購入したらインストールするべきソフト NFC編

に書いたのでよかったら見て行って下さい。

 

今日、なななんとNexus7がおウチに届きました!

届いたものがこちら初めての海外通販でした。

頑丈なダンボールを空けてみると、綺麗な箱が出てきました。

Nexus7の箱を空けて見ると

こんなん出てきました。感動です。Android初のTablet端末を手に入れました。

これでFragment使ってアプリ開発してみようと言う気が沸々と湧いてきました!

とりあえず電源を入れてみる。

ここからは普通にAndroidの初期設定が始まった。でもWelcomって言われるとなんかうれしい。

とりあえず、接続するWi-Fiを選択する。

Googleアカウントでログイン

 

端末の設定のバックアップとリストア設定とりあえず使ってるGoogleアカウントの情報をリストアする事にした。

なので他の端末でインストールしている情報が見事全部落ちてく〜る〜

位置情報について聞かれたので、もちろん一つ返事でOKと答えておいた。

これでセットアップが完了した!!

ということで使ってみた。

とりあえず背面を見てみると、「NFC」の文字が、どうやら「NEXUS」と書いている辺りでNFCが反応するらしい。

フィルムを剥がしてみる。分かりづらいが、側面の左上に電源ボタンと音量調節のボタンが並んで付いています。

とりあえず、NFCのタグににかざしてみたら反応あり!!まぁ当然だけど。

タグの情報を見ると。

自分の名前が正しく表示と。こんな所でした。

 

感想

とりあえず、初めての海外通販で無事に商品が届いてくれてほっとしているのが一番です。

今回使った通販サイトは「B&H」さんでした。

今からの注文だと、届く日程は未定のようです。

私の場合は7月の上旬で、情報を聞いてすぐだったので早かったのかと思います。

思ったら即行動して正解でした。でも、たまに無駄遣いもするので要注意ですが…。

 

Nexus7関連記事

Nexus7でのユーザーレビューを

Nexus7を使ってみたレビュー iPadとの比較」で書きました、よかったら読んでみてください。

AndroidでNFCのIDmを読み取るサンプル


2010年の年末に発表されたAndroidの2.3からAPIがNFCに対応して、

さらに2011年の年末にNTT DocomoからNFC対応端末Galaxy Nexus, Galaxy SⅡ LTEが発売されて、Androidの開発者の中でもNFCが注目されてきた。

 

実際に日本で普及が加速度的に進んでいるかとうと疑問符が付くが、天下のS○NY様がいるからだろうか。(これ以上言うとおこられるのであまり深くは…)

で、とりあえずでもNFCのタグを読んでみたいと思うのが人情、

NFCには一意特定出来る(完全に一意ではないらしい)IDmという値があります。すぐに偽装出来てしまうのでこれを信じてアプリケーションを組んでしまうとNGですがセキュリティとか関係ないようなアプリでは、簡単に試せるのでいいのではないでしょうか?

ということでサンプルです。

サンプルは「ReadNFC」という名前でgithubにアップしています。

まず、NFCを読み取る為には、「AndroidManifest.xml」を修正する必要があります。

2行目を追加しないとパーミッションエラーでNFCが使えません。

4行目の「uses-feature」は、NFC対応端末のみにマーケットで表示する場合は必要になります。

次にNFCを近づけた場合のIntentFilterの設定です。

NFCのインテントフィルターは3種類あり、上から順番に優先順位が高いです。

ACTION_NDEF_DISCOVERED NDEFペイロードが見つかったときにActivityを起動するIntent
ACTION_TECH_DISCOVERED タグが見つかり、Intentの技術として登録されている場合にActivityを起動するIntent
ACTION_TAG_DISCOVERED タグが見つかった時にActivityを起動するIntent

「ACTION_TECH_DISCOVERED」で対象の技術を登録する方法は、18行目指定しているxmlにあります。

内容は、

このような内容です。

ここに記述する種類は、android.nfc.techに記述されています。

Intentを受信したら、IDmの取得方法です。

onNewIntentで渡ってきたintentから、「intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);」で取得できるbyte[]を取得します。

取得したbyte[]から12行目で文字列に変換します。

これで文字列でIDmが取得出来るので、アプリで利用してみて下さい。

AndroidのPendingIntentで気を付けるべき事


Androidで「Notification」「ウィジェット」「AlarmManager」などを使用する場合に、

PendingIntentを使う事になると思います。

この時に、使用する

getActivity(Context, int, Intent, int), getBroadcast(Context, int, Intent, int), getService(Context, int, Intent, int)

こいつらを気を付けないと、上書きしている事に気付かないで上手く動作しないという迷路に陥るので注意が必要。

特に、複数PendingIntentを使用するようなアプリを作ると一度は悩むかもしれません。

しかも、良くあるサンプルプログラム達は、あまり良くない記述で書かれているし、

PendingIntentのドキュメントページにも第2引数の説明に「currently not used」という記述あるし。

嘘つくなと言いたくなる。

 

注意する点というのはこの第2引数の箇所である。

同じ値を入れて設定すると、最初に設定したものがキャンセルされてしまいます。

なので気をつけて下さい。

というのが結論でした。

AndroidのRingtoneManagerの動作を確認するサンプル


AndroidでRingtoneManagerという着信音、アラーム音などを操作するクラスがあります。

今回はその使用方法を確認するサンプルです。

ソースは、githubに「SampleRingtone」でアップしてあります。

まずは、端末にインストールされている一覧を取得する方法です。

これでどのようなRingtoneが端末にインストールされているか確認できます。

次に「RingtoneManager.ACTION_RINGTONE_PICKER」が用意されているので呼び出して使用する方法です。

呼び出すとこのような画面が表示されます。

これを表示させるコードがこれです。

選択してOKを押した場合のデータ取得方法がこちらです。

「onActivityResult」を利用します。

6行目の内容で対象のURIが取得できます。

取得したURIを使用して対象のRingtoneオブジェクトのインスタンスを取得して操作します。

どういう操作があるかは、RingtoneManagerとRingtoneのJavaDocを参照してください。

JavaDoc

 

return top