« 2009年9月 | メイン | 2009年11月 »

2009年10月

2009/10/23

できたデポジット

「デポジットできた」とは日本語としては変だろうが、気分としては偽りない。
7回目くらいにして、ようやくGoogle Checkoutがうまくいった。

が・・・正攻法?ではない。
三井住友銀行と東京三菱UFJでだめだったので、地元で使っている福岡銀行にしたのだ。
そしたら、あっさり。
なんじゃそりゃー。

入力の仕方も、特に変更したわけではない。
半角カタカナで、姓と名の間には半角スペース。
何でだろうねぇ・・・。

ちなみに、デポジットで間違えて数千万円入ってたらどうしよう、と思ってたけど、そんなことはなかった。
ちぇっ。

2009/10/21

慣れてきた

また、Google Checkoutのデポジット振込がだめだった。

あっはっは。
もう、慣れたものだ。

まだUFJは試していないから、それでやってみるか・・・。
三井住友銀行は、さくら銀行時代に口座を作った。
東京三菱UFJ銀行は、三和銀行時代に口座を作った。
もしかして、古い時代に作った口座だとだめだとか??

んなことはないわな。

「待つのに疲れました…」という気分だが、そうもいかん。
地方銀行に変えてみるかなぁ。。。

NFCはやりたいところよな

こんなのがあった。

Android向けNFCプロトコル・スタック

MIFAREとかですかな。
気にはなるが、個人では購入できないチップだろう。

2009/10/19

センサー類がほしい

SmartQ5には、センサー類がない。
よく見たら、マイクもないのだな・・・。
遊ぶには、ちょっと寂しい。

USBがあるんだから、がんばってつけろってことだろう。
ソースファイルが提供されていないので、デバイスドライバは作れん。
なので、今のところはシリアル変換できるものがよかろう。

そこで見つけたのが、GPS。
秋月通商にあったので、さっそく注文。。。としたかったのだが、個人的な都合で中断。
無念だ・・・
このGPSモジュールは、PL2303かどうかはわからないけど、Prolificのシリアル変換を使っているっぽい。
なので、そのまま挿せばデバイスとして認識でき、データがとってこれるのだ。
まあ、データがとってこれるだけだから、その先は自分でがんばらんといかんけどね。

AGPSとかって、ネットで問い合わせて計算してもらうんだったっけ?
GPSやってた人がいたのに、教えてもらっておけばよかったなぁ。。。

2009/10/18

実験環境

突然だが、うちの実験環境。

真ん中にあるのは、CQ出版社の雑誌DesignWaveの付録にあった、ARM Cortex-M3ボード。
これがなかなか、使い勝手がよい。
いや、勝手がいいというよりは、3軸加速度センサーがついているので、面白い。
MEMSってやつですかな。

Cortexボードの左側にある小さいやつは、Bluetoothユニット。
KC21というやつだ。
個人的には、ZEALがよかったのだが、購入方法がわからなかったのでKC21に。
KC21は見積もりせずに値段がわかったので、安心できたのだ。
送料込みで6千円くらいだったか。
この子、小さいのはいいけれど、ピッチが2.54mmではないので何とかせんといかんのだ。
変換コネクタも売られているんだけど、高い。
なので、適当に半田付けしている。
そのせいで、ハンダが甘いのかソフトが悪いのかよくわからないことがしばしば。

その下にあるのが、ブレッドボードというもの。
今回初めて使うのだが、配線を変えるくらいなら半田付けしなくてよいので、楽。
Cortexボードもブレッドボードに挿してあるかのように見えるけど、載ってるだけ。
ブレッドボードの構造上、この手のは挿せないのだ。

上にあるのは、テスター。
すごい安っぽく見えるが、実際に安かった。千円くらいか。
高校生の時に買ってから、ずっと使っている。
アナログ屋さんではないので、通電してるかどうかと、電圧がわかればいいから。
FLUKEのとかあるとテンションが上がるのだけど、さすがになぁ。

水色のは、静電対策されてる袋。
あんまり詳しくないけど、導電性があるから静電気を蓄えない、ということかな。
下にある水色のは、リストストラップ。
これも静電対策用で、腕に巻く。
ただ、うちにはグラウンドってものがないので、どうしたものか。
使うときは、PCケースのフレームにひっつけている。

これにあとは安いロジアナがあるくらいか。
自作するなんてとてもできないので、1万円で購入。
プローブとかないので、自分で何とかしなくてはならないが、それでも十分。
ああ、プローブほしい・・・
CPUの足に付けるようなのは、高いんだよなぁ。

基本的に、工作系はこちらのブログには書かないので、ご安心を。
C/C++やらハードやらは、こちらへ

このBluetoothのやつも、なかなか動かなくてねぇ。
昨日の夜中に、ようやく動いた。
ソフト半分、ハード半分くらいの問題。
ハードというのは、単に半田付けとかコードの引き回しが下手、というだけだがね・・・

2009/10/17

ttyUSB0もう一度

ttyUSB0がそのままではアクセスできないので、どうしようかと。

いろいろと考えたが、あっさりした方法でやることにした。
PCからはtelnetでログインできるので、Androidアプリからtelnetでログインし、chmodさせることにした。

telnetするソースは、ネットからもらってきて修正した。
localhostでログインして、chmodするだけなので、そんなに難しくはないのだが、書き込んですぐにcloseしていたため、chmodできていないときがあったようだ。
それに気付くのに時間がかかった。
コマンドの終了を待てばいいんだろうけど、めんどうなのでsleepで待たせることにした。

どうにかこうにか、それでできたのでよかろう。


が、これはあぶないよなぁ。

アプリでtelnetできるのだったら、なんでもできてしまう(めんどくさいけど)。
まあ、開発向きだからいいのかな。
携帯電話に搭載されているものでは、そうはいかないだろうし。

androiding now

いや、タイトルに意味はない。
現状報告をしたいだけである。

Androidのことは、あまりやってない。
やったのは、Google Checkoutくらいかしら。
まだまだうまくいかなくてねぇ。

今のメイン作業は、SmartQ5用のBluetooth端末作成作業だ。
うちにはいろいろとあって、Bluetoothのユニットが2つある。
そのうち1つを、雑誌の付録にあったARMボードで動かそうとしている。

以前は動いていたんだけど、動いてたときのソースがなくてねぇ。
しかも、動いていたときからハードを触っていたので、動かないけど理由がわからん。
ハードかもしれんし、ソフトかもしれん。
半田付けが下手だったかも・・・と思うけど、9割方ソフトだな。

まあ、一応はAndroidのことをやっていないというわけではないので、Androidingだ。

2009/10/16

まただめ・・・

またしても、デポジットが振り込まれなかった・・・
半角カタカナを使ったのに・・・

姓と名の間にスペースが入ってなかったからだめなのかしら?
いや、スペースが入っていたのかしら??
どっちにしたか忘れてしまった・・・
スペースを空けて再度挑戦する私であった。

ちなみに、前回Googleさんにもらった回答が、こちらである。

4. 有効な口座名義人名、銀行コード、銀行口座番号、および支店コードを半角カタカナで入力し、その銀行口座の種類を選択します(不明な情報については、銀行の担当者にお問い合わせください)。

銀行コードも、口座番号も、支店コードも数字なんだけど、半角数字なんだけど、そこも半角カタカナで書く、なんてことはないよねぇ。

2009/10/11

ttyUSB0再び

実家に帰る前にできるかなー、と思っていたが、間に合わなかった。
SmartQ5をUSBシリアルケーブルで接続し、PCと通信したいのだ。

接続

SmartQ5のUSB miniBポートに、USB Aメス-USB Aメスを接続し、その先にUSBシリアルケーブル(PL2303入)を接続し、その先をPCのシリアルポートに接続。

ソフトウェア構成

JNIで/dev/ttyUSB0へのオープン、クローズ、書き込み、読み込みを行い、Androidアプリ側でそれを呼び出す。

JNI

Android NDKに入っていたhello-jniサンプルと、JNI仕様と、Kuro'S RoomさんのJNI実験ページを参照しながら作る。
あんまり特殊なことはやってない。というよりも、JNI自体が特殊だと思うので、よくわからん。
シリアルポートのアクセスについては、実に普通。

Androidアプリ

オープンに成功したら、"ABC"と送信してクローズ。
オープンに失敗したら、ダイアログを出して終了。
そんだけ。

ダイアログ出すだけなのに、なんであんなにコードが面倒なんだろう…
SDK1.5になる前は、なんか楽だったような気がする。

はまったのは、hello-jniサンプルを余り読んでおらず、JNIで作成したライブラリを読み込む部分を作っていなかったこと。
まあ、自業自得ですな・・・

結果!

エミュレータでは、当然ながら動かず。
実機でも動かず・・・


ネットで検索すると、rootになれないとかなんとか、アクセス権が足りないとか何とか。
それは気にしていなかった・・・

一応言い訳しておくと、組込みLinuxでやってたときは rootでばんばん動かしていたのだ。
権限なんて必要ないマシンだったし。

で、/dev/ttyUSB0 を見てみると、「crw- --- ---」と、rootにしか権限がない。
おそらく、Androidアプリはroot権限では動作せず、それに付随するJNIも同じ権限で動くだろう。
よって、/dev/ttyUSB0はオープンできない。
QED

いや、証明を終わらせてどうする。
とにかく動かしてみたいので、chmod 0666してアクセス権を取得。
adb shellやtelnetからだとできるんだよな。

結果!

Androidアプリで書き込んだ文字列が、PC上のターミナルで取得できた。
よかろう。


課題

/dev/ttyUSB0を手動でchmodするのは、なんかいやだ。
いやだけど、ここは手が出せないよな。。。

まあ、こんな使い方をするのは開発側の人間だけだろうけど、ものすごく便利なデバイスができたときに売れないよなぁ。。。
あ、デバイスができても、デバイスドライバが必要になるか・・・

それ以上に困っているのは、うちのSmartQ5でフリッカー入力対応Wnnが動かなくなったことだ。
最初にインストールされていたものを、Android Marketのもので上書きしたのだ。
プリインストールものを上書きするとまずいのかなぁ。。。

2009/10/10

ttyUSB0

Google Checkoutへ、ようやく半角カタカナで入力した。
日本語としては変だけど、私の印象ではそうなのだ。
半角カタカナねぇ。。。ぶつぶつ。。。

で、明日から実家に戻るので何か書いておこう。
もし私に何かあったら、これが書き置きになるのか・・・


SmartQ5には、USB-シリアルケーブルが接続できる。
ドライバが限定されていて、Prolific PL2303のみ可能とのこと。

なぜか、うちにはそれが丁度あった。
どこで買ったか忘れたけど、天神のあの店だったかしら?

どうでもいいことだが、USB-シリアルのチップで2303みたいな数字はよく見る気がする。
気のせいかしら。
チップに互換性があっても、デバイスドライバは名称をきっちりして見分けることが多いから、2303の次に出たチップが2303aだったとしても、認識してくれないことが多い気がする。
「気がする」みたいなのが多いのも、気のせいだといいのだが。

ともかくまあ、幸いなことにうちでは接続する条件が揃っていた。
ならば、つながねばなりますまい。

telnetで、SmartQ5に接続。
PL2303とパソコンのCOMポートを接続。
(最近のPCって、COMポートがなくて困るよな、ぶつぶつ。。)
PL2303とSmartQ5をUSBメス-メスコネクタで接続。
これで、PCとSmartQ5がつながった。

さて。。。

まずは、COMポートをteratermで開く。
何か送りたいけど、どうするのがいいんだろう?
一番手っ取り早い、これでやってみた。

# cat /etc/hosts > /dev/ttyUSB0

はい、あっさりとPCのteratermに文字列が出てきました。
簡単だなぁ。

あとは、AndroidアプリからttyUSB0を操作できればいいんだけど。
もちろん、セキュリティ上の都合で、そんなものにアクセスできるわけはない。
このためにJNIを使うべき?
あるいは、SUNのjavax.commみたいに、Androidで共通のライブラリがある?

何とでもできそうだけど、どうやるのがスマートかなー、などと考えると、手を付けるのに時間がかかる。
ここら辺が「私も歳を取ったなぁ」と思うところである。

2009/10/09

Google Checkoutの謎

Taosoftwareのがくさんのコメントで、日本の口座で問題ないことがわかった。
胡散臭い英語で、Google Checkoutに質問してみました。
前回、日本語はまだって書いてあったからねぇ。

で、今日も2回ほどやってみて、だめ。
寝ようか・・・そう思ったら、返事が返ってきてた。

早い、早いよグーグルの中の人!


で、何かというと・・・

銀行の情報入力で「半角カタカナ」じゃなかったから、銀行側にはじかれていた、ということらしい。

なんと!

半角カタカナって、ネットで使ってはいけないものの上位に位置していると思ったのに。
そういえば、ネットバンキングで振り込むとき、半角カタカナで入力させられたことがあったな・・・
今回もそれだったということか?

とにかくまあ、すっきりしました。
登録はできてないけど。

まだ終わってないけど、いろいろ教えていただいた皆さんに感謝しつつ、今日は寝ます。

再度登録

英語を書くのが面倒だったので、もう一度だけ試すことにした。

登録は、こんな画面。


口座名義には日本語が使えないので、アルファベットで記入。
銀行名も、英語で記入。
でも、今までそれそれでだめだったから、今回はローマ字にしてみた。
そんなんじゃないだろうな・・・

登録すると、こんな画面が出てくる。
気になるのは「タイプ」がnoneになっているところ。
タイプって、アカウントの種類のことかしら??

2009/10/07

デポジットが・・・

Android Marketのために用意したGoogle Checkoutで、またデポジットが振り込まれなかった。
前回は、三井住友銀行。
今回は、東京三菱UFJ銀行。
なんでだめなんだろうねぇ。

NFCしたいなー

「いかに遠くまで通信するか」が課題となることが多い無線だが、「近いところだけ通信したい」という用途もある。
プライベートな情報を簡単な手段で受け渡ししたい、ということだ。

赤外線なんか、かなり近くてよい。
指向性もあるし。
アメリカ軍かどっかが、そういう研究をしてたような気がする。

Bluetoothも比較的近いんだけど、ペアリングがめんどう。
「はいはい」というくらいの手順でできないと。

FeliCaなんかは、Faver2.0になってからそういう用途で使えるようになった。
Mifare(つづり忘れた)とかと上位規格がそろったってのもあるだろう。
いわゆる、NFC(Near Field Communication)だ。
NFCは規格名にもなってたような気がするけど、もう忘れた。
最近、物忘れが激しくてのぅ。

で、SmartQ5にはNFCできそうなデバイスがない。
(ここのNFCは、文字通り「近距離の通信」で読んでください。)
USBケーブルで接続するのは、スマートじゃない。
同じWiFiなら、telnetでえっちらおっちらやってもいいかもしれんけど、目の前の人とって目的は果たせない。

ケーブルを使ってもいいから、ちょっとしたものを考えてみるか。

2009/10/05

[Q5]SPPを試す(よくわからないなりに)

SPPで動かしたいなー、と検索をしていたら、いいことが書いてあった。
DebugIto'sさんの Ubuntu/Bluetoothシリアルポート だ。

telnetでQ5にログインしてファイルをずらずら見ていると、/etcの下にbluezというのがあったので、何となく「Bluetooth関係だろうなー」と探していったのだ。

もう、そこにあることを上から順にやっただけ。
minicomはSmartQ5に入っていないので、catで代用。
$ cat /dev/rfcomm1
PC側のBluetoothとはペアリングできていたので、TeraTermで115200bpsで文字を送る。。。
あれ、出てこない。。。
と思ってEnterキーを押すと出てきた。
リアルタイムじゃないのね(catを使っていたからかな)。

というわけで、うまくやればBluetoothのSPPで通信できることが判明。
どうやるかは・・・今後の課題ですな。
gccのARM版でstaticコンパイルしたものを転送すれば実行できるのかな?

ちなみに、BusyBoxは1.10.1だった。
でも、Androidアプリからは呼び出せないよなぁ。

2009/10/04

UARTを使うには・・・

SmartQ5では、USBシリアルケーブルが使えるらしい。
つまり、それを使ってシリアル通信ができるということだ。

さて、どうやってそれを使うのだろう?
Javaのときは、javax.commってのがSunから提供されていたのだけど、今度はAndroidだ。
使えないだろう。

telnetでログインすると、/dev/ttyUSB0が見えた。
試しに、FileOutputStreamで/dev/ttyUSB0をオープンしてみたが・・・
やはり、怒られた。
そんなのが許されたら、Java使ってないよな。

JNIでやるしかないのだろうか。
古い組み込み屋さんとしては、まずはシリアルポートを動かしたいものである。

次は、BluetoothのSPPだな。

[Q5]いろいろと買う

せっかくうちに来たSmartQ5。
何か買ってやろうと思い、ヨドバシカメラに行く。
ちなみに、ヨドバシカメラの曲は、東京だと歌が付いている。
電車の歌だ。

それはどうでもいいのだが、ヨドバシでは全部揃わなかったので、DOS/VパラダイスとTWO TOPにも行ってきた。

  • 液晶保護シート
  • USBのBluetoothアダプタ(パソコン用)
  • USBのジェンダーチェンジャー
  • USBキーボード

私はあまりこういう機械を持っていない。
タッチパネルって、苦手なのだ。
傷つけてしまいそうで、とても怖い。
今回はとにかく、液晶保護シートが優先された。
4.3インチって、かなり大きいのね・・・
携帯電話のでは入らなかったので、フリーサイズのものを購入。
少し斜めになってしまったが、まあサイズは十分だ。
余った分を、携帯電話に貼れるくらいの大きさ。

それと、キーボード。
もう、ぽちぽちと入力していると、体が疲れて疲れて。。。
安いやつでいいので、小さくてUSBのを購入。
本機では、フリップ対応のWnnを使っている。
横向きで使っているんだけど、一番下のキーがフリップできない。
キャリブレーションの問題っぽいけど、なかなか困る。
これは改善要望しておくべきか。

さて、SmartQ5はminiB。
キーボードはTypeAなので、Type-AメスとminiBオスへの変換ケーブルが必要。
なのだが・・・これがなかなか売っていない。
結局なかったので、ジェンダーチェンジャーを買ったのだ。
まあ、結果的に安く付いたからいいだろう。
ケーブルは長いけどね。

Bluetoothは、おまけだ。
SPPで接続できればいいんだけど、できるんかいな?

[Q5]Android Marketにつながらん・・・

一番困っているのは、やはりこれだ。
どうにもこうにも。

推理するに、全員のSmartQ5が同じ端末番号になっているからでは。
いや、なってるかどうかは知らんのだが。
Android Marketは端末番号(個体番号も?)でアプリの管理をしているから、同じ番号を持つ人がアクセスしに来ても、誰か1人しか受け付けない。
しかも、誰かがダウンロードしようとしているものが、その1人に集中してしまう。
フォーラムに書いてある現象からすると、そんな気がする。
つながってたけど、つながらなくなったとか。
つながったら、ダウンロードしようとしていないものもダウンロードされるとか。

土日はCoviaさんも休みだろうから、来週以降は進展があるのかな。

こそっと困っていることはそれなりにある。
ACアダプタをつなげていないと、なぜか起動しないとか。
(androidの光る画面が終わらない。)
電池がすぐ切れるとか。
(これはスリープ制御が甘いのだろう。今後に期待。)


私が興味あるのは、自分でビルドしたAndroid OSをインストールできるのか、というところだ。
デバイスとかが違うから、ドライバ類を提供してもらわないと無理だろうな・・・

やりたいのは、デバイスドライバを作ることだ。
作ったことないんだけど、USB機器として使えるのなら、ドライバさえがんばれば遊べると思っているのだ。
まあ、勉強がてらやってみるか、と。

OEFSが、組み込み用Androidを考えているそうな。
どっちかといえば、そういうのがSmartQ5には向いていると思う。
電話はないし、センサー類もないしね。
自前で作ったハードをつなげて動かすには、適した大きさだ。
パソコンだと「組込み~」って感じがしないから(気分の問題)。

2009/10/03

WireShark

今日来たSmartQ5だが、うまくAndroid Marketからダウンロードできない。
他の人もそうらしいので、何かあるのだろう。

そもそも、Android Marketとはどういうやりとりをしているのだろう?
携帯電話からはうまくいくのに、SmartQ5ではうまくいかないというのは、通信しているデータと関係があるのではなかろうか。

というわけで、WireSharkでパケット解析をしてみようとした。

したのだが・・・うちにはDAMハブがなかった。
Baffaloのハブを持ってるのだが、スイッチングハブだったようだ。
DAMハブとスイッチングハブの違いは、DAMハブはパケットをすべてのRJ-45ポートに流すけれども、スイッチングハブは適切なポートにしか出さない、ということだと思っている。
なので、スイッチングハブの方がネットワークの負荷が減る。
減るんだけど、こういうテストの時にはDAMハブがよいのだ。

こんな感じ。
もしDAMハブだったら、SmartQ5のパケットがPCにも転送されるので、WireSharkでパケットを見ることができる。
できるのになぁ。。。

どうやら、USIMのデータを使っているという話だ。
IMEIとMSISDNかなぁ。
携帯電話の仕事をしていたこともあったのに、通信関係は担当していなかったので詳しくないのだ。
残念無念。

[Q5]使ってみたところ

さっそくだが・・・SmartQ5にAndroid Marketのアイコンがなかった。
俺じゃだめなのかい?(小金沢昇司)
→ファームウェアをアップデートしたら追加されていた。

携帯電話の方は使ったことがないのだけど、思ったよりも動作が重たい。
重たいと言うよりは、すぐに反応しないというところか。
スタイラスってのに慣れていないからかも。
いろいろあるらしい。

SDカードのところを開けると、中で緑色のLEDが点滅していた。
なんかもったいないなー。

あと、起動時にSDカードのマウントを見に行ってくれない。
挿し直しが必要。
SDHCには対応しているようだけど、私は持ってない・・・
→ファームウェアをアップデートしたら直ったようだ。

それと、電源が切れない。
再起動してしまうのだ。
やり方が悪いのかしら?
→充電中だったからのようだ。ACアダプタを外すと切れた。

メールの設定で落ちる。
→ファームウェアアップデートで直った。

それはまだソフトだから何とかなるとして・・・
画面の下の方が、1ラインだけ表示がおかしい。
これはたぶん、ハードじゃなかろうか。
切れているわけではないけど、おかしい。
説明ができんなぁ。

PCに接続しても、USB機器として認識してくれない。
うんともすんとも・・・
→ホストモードだかららしい。

FAQページがあるので、そこを見ながらやりますか。


一番手痛いのは、Android Marketからのダウンロードができなくなったことだ。
最初はできていたのだけど、再起動か何かしたときにできなくなった。
うーむ。。。
Marketが、携帯電話以外のことをあまり想定していないからだろうか。
しばらく待つしかないな。

SmartQ5

SmartQ5が届いた!
二日酔いだけど、そんなのは気にしていられない。

こんな感じだ。

WiFiもつながったので、安心した。
MACアドレスが本機で表示されないんだよなぁ。不明って出てくる。。。
うちは無線LANはMACアドレスフィルタリングしているので、出てきてほしかった。
あと、SSIDを隠す設定にしてたら、それはだめだった。

ちなみに、付属してきたのは、本体と、充電用のやつと、説明用のB4くらいの用紙1枚。
まあ、これを買う人は使い方もわかってるからってことだろうな。
こういうものを買うのは初めてなので、いろいろと新鮮だ。

2009/10/02

Qt

私は、C++使いだ。
Javaは苦手だが、Androidがあるので、なんとかがんばろう。
Web系は・・・さっぱりだ。
スクリプト言語が苦手なのは、どこかに書いたような気がする。

さて、Webkitブラウザが搭載されているAndroidだが、Webkitといえばあれを思いだした。
Qtだ。
知らない人もあるかもしれんが、Qtはクロスプラットフォームで動作する環境だ。
KDEとか。
Google Earthとか。
Operaは、もう違うらしい。
とにかく、そういったアプリを作ることができる。

んで、Qt4.5から、webkitも使えるようになった。
だから、PC用のアプリと銘打って、iPhoneでもAndroidでも動く、みたいなことができるのやもしれぬ。

まあ、Web系はよくわからんから試してないんだけどね・・・