2013/08/31

Nexus7(2013)を買いました

私も、Nexus7(2013)を買った。
若干、細くなっただけなのだが、ずいぶん細く見えるのは不思議だ。
これでようやく、家でもAndroid Beamを試すことができるようになった。

Google Mapを開いて、背中あわせると、もう片方でGoogle Mapが起動していたら、星が流れる画面になって、どちらかがタップするようになった。
Google Mapが起動していないと、タップしたらもう片方でGoogle Mapが起動した。
もちろん、どちらも表示している位置が中心になった地図が現れる。

片方にないアプリを起動したまま背中合わせして、

2013にあるカメラアプリを起動してから背中合わせすると、ギャラリーが起動した。

背中合わせしてもうまくいかず「もう一度あわせてください」と表示されているときにタップして、また背中合わせすると、そこは自動的にBeamが飛ぶ。

 

そういう仕様なんだー、というだけだが、まあ確認できたのは大きい収穫だ。
あとは、これをどう料理するか、ですな。
最近、実装するような作業をしていないので、ちょっとでも取り戻さねば。

2013/08/19

月刊NDEF 2013年8月号

夏休みの自由研究ということにして、資料をまとめた。
DEP、LLCP、SNEPについてだ。


書けることはまだあるとはいえ、全体的に勉強不足だ。
特にLLCPが消化できていない。
いないけれども、まあこんなもんだろう、とも思う。
あるいは、長すぎたか、とも感じている。
いつものような概要ではなく、どちらかといえば実装に向けての記載になったためだろう。
こうやって見ると、FeliCaのPUSHって、これの超簡易版で使いやすかったよなぁ。
汎用性はなくなるが、LLCPとかSNEPとかではなく、DEPで1回だけ通信、というのもよかったんじゃないかと思う。
まあ、それならTargetになってNDEFを読み込ませるようにすればよいか。
TgInitAsTargetとかでは、Type2 TagのUIDがDEP用になってしまうから、そうもいかんか。

AndroidデバイスマネージャーとiPhoneを探す

何気なくNexus7の設定項目を見ていたら、Android Device Managerなるものがあった。

き、聞いたことがある・・・。
確か、デバイスを探し出せるサービスが始まるとか何とか。

Androidデバイスマネージャー

ログインしているGoogleアカウントが、Android Device ManagerとかGPS関係を有効にしてないと使えんが、制限はそのくらいみたいだ。

着信音を強制的に鳴らしたり、端末データを消去したりできるみたい。
音だけは試してみた。着信音をOFFにしていても鳴るので、まあよいだろう。

 

やったことがなかったが、iPad miniも同じことができたはず。
iCloudから「iPhoneを探す」でできる。
こっちは、着信音の強制鳴動とデータ消去だけでなく、紛失モード、なるものにすることができるようだ。
よしよし。

 

私が使っている携帯電話のP906iも、ドコモのページから探すことができる。
いざっていうときにあせらんでいいように、試しとかんといかんね。

2013/08/05

[rpi]busyboxで動くものがほしくてビルドしたが、はまった

Raspberry Piのいいところは、OSがほぼフルセットで載っているので、いろいろ動かすのが簡単という所だと思う。
が、やりたいことがあって、busyboxが載っている程度の状態で動かしたくなった。

探してみると、Buildrootというやつがそんな感じになっているようだ。
こちらのビルドを試してみた。
https://github.com/gamaral/rpi-buildroot

が、ビルドが通らない・・・。
何か知らんが、CROSS_COMPILEの設定が「1」などというわけの分からんものになっていた。
なぜだ、なぜなんだ・・・。


grepかけて、 わかった。
CROSS_COMPILEの設定がこうなっていたのだ。

  CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)"

そう、AndroidのビルドのためにCCACHEに1を、しかも.bashrcなんぞで設定していたがために発生した現象だった。。。

うーん、変更は局所にすべし、だな。

2013/08/03

[rpi]mailutilsをapt-getするとmailコマンドが使える

Raspberry Piから、メールを出してみたいと思った。

$ mail
そげなコマンドはない

Raspbianは博多弁対応ではないので上記のような出力ではないが、not foundということをbashが告げる。

実は、これをやる前にいろいろとやっていた。
sendmailをapt-get installしたり、removeしたり、postfixをinstallしたり、removeしたり。
デフォルト状態がよくわからんので、あれこれやったのだ。

最後に調べたページが、こちら
この辺をapt-getするとメール送信ができるようになるらしいのだが・・・まだmailコマンド使えず。

 

嫌になったので、Raspberry PiをSHIFTキーを押しながら起動させ、Raspbianのインストールからやり直した。
そうすると、mailutilsをinstaillしたら、mailが使えるようになった。

うーん、納得があまりいってないが、そういうものだと思うことにしよう。

CodeSourceryは、EABI版かGNU/Linux版か

いつも忘れてしまうので、メモを残しておこう。

ARMのクロスコンパイラで、CodeSourcery・・・というか、Sourcery Code Benchを使うことが多い。
Lite版なら無料で使うことができるからだ。

で、これをダウンロードするとき、「EABI」版と、「GNU/Linux」版の2つがあり、どっちにするか迷うのだ。
違いがわかっとらんからだ。

https://groups.google.com/forum/#!topic/beagleboard/o2m0FDmI6Us

EABIはOSなし用、GNU/LinuxはOSあり用、ということだ。
だから普段はEABIのを使っているんだな。
納得だ。

 

さて、Raspberry PiのRaspbianで動かすなら、これはOSあり用じゃないとだめだな。
いずれは小さい環境を作ってしまいたいところではあるが、今はまだ早すぎる。
もう少し調べてからだ。

[rpi]sshが使える!

Raspberry Piをそろそろ使いたくなった。

Linuxが動くってだけでかなり環境ができあがっているのだが、まずは何ができそうか調べておこう。
なお、ホストはWindows7(64bit)で、Raspberry PiにはRaspberianがインストールされている。

LAN環境はあるので、ifconfigでIPアドレスを確認。
TeraTermでssh接続すると・・・できた。
あら、そこまで動くのね・・・。

では、ファイルはssh経由でやりとりすればよかろう。
コマンドは、scpを使うらしい。
そういえば、winscpっていうツールがあったなぁ。
が、今回はcygwin経由でやることにする。

記憶はないのだが、うちのcygwinではscpコマンドが既に使えるようになっていた。

$ scp localfile pi@xx.xx.xx.xx:/home/pi/

こんな感じでよいようだ。
ファイルをもらうときは、こう。

$ scp pi@xx.xx.xx.xx:/home/pi/remotefile localpath

ほほう。
便利なものだ。

[hw]モノマルチバイブレータ

RC-S710を使って搬送波検出回路を作るなら、

ダイオード、トランジスタ、モノマルチバイブレータ

がいるらしい(情報ありがとうございます!)。

 

さて・・・。
私は基本的に組込み屋さんのつもりではあるが、ほとんどソフトウェアにしか手を出していない。
仕事でいじったことがあるもの以外は、ほとんどわからん。

教えてもらった部品3つの中で、最初の2つはわかる。
問題は「モノマルチバイブレータ」なるものだ。
振動するのか?というくらいしか想像がつかない。


調べた範囲では、「モノステーブルマルチバイブレータ(mono-stable multi vibrator)」なのだろうと思う。
monoなのにmultiなのか、と思ったが、「マルチバイブレータ」の種類の1つとして「モノステーブル」があるということのようだ。

Wikipediaでは、チャタリング対策にも使われる、と書かれていた。
チャタリングというのは、よく「チャタる」とか「チャタってる」なんて言うが、短時間の間状態が安定しない状態(変な日本語)を指していると思っている。

よくあるのが、スイッチを指で押して、OFFからON状態になるまでの間だ。
単純なスイッチだと、電極と電極がショートすることで電気が流れる、というしくみだと思う。
でも、電極同士が近づくと、スパークしたりして押し終わる前にONになったりするかもしれないし、接点のショート具合があまりよくなくて、ON, OFF, ON, OFF, と繰り返してしまうかもしれない。

これをそのままソフトで動かしてしまうと、短期間の間にOFFとONをぱたぱたと切り替えたのと同じ動きをすることになり、ひどい場合にはソフトが異常を起こすだろうし、異常を起こさなかったとしてもユーザとしてはうっとうしい動作を見ることになるだろう。

どうでもいいことだが、昔ファミコンで「16連射!」とかあったと思うが、あれはチャタリング処理の下限かなにかだったのかね?
1秒間に16回ということは、1回につき62.5msec。
早いな。

ソフトでチャタリング処理をやろうとすると、どうしてもタイマを使わないといかん(と思う)。
N秒間の間に、同じ状態がM回続いたら「状態が安定した」とみなすのだ。
つまり、OFF→ONになったときにタイマを走らせ、タイムアウト時に状態を読み取って、ONだったらまたタイマを走らせるし、OFFになってたらなかったことにする。M回やってOKだったらONとみなす、とか。
 

こういうのは、無線の場合もままある。
今回のように「かざす」となると、距離が微妙な位置というところでかざされると、ON/OFFが激しく切り替わる可能性もある。
タグをR/Wにかざすなら、タグの角度とかによってはONと思っていたのにOFFになった、ということもあるだろう。


と、想像だけしてみたが、どうなんだろうね?