2011年09月05日

タイ王国携帯電話事情3

間延びした企画になってしまった。今日こそ完結させよう。

■ imobile 3gx
TOTの回線を利用した3G接続サービスのSim。2100MHz帯を使っている。 MBKの大抵のSim屋に置いてある。お値段は199バーツだった。 パッケージにでかでかと「500MB 30Days」と書いてある。 短期滞在でデータ通信したい人にはオススメだろう。
imobile_card.jpg imobile_package.jpg

取扱説明書はタイ語オンリーで全く読めない。 ネットを巡回して使用レポートを漁り、アクティベート手順を発見する。 *8888をダイヤルして利用開始。「You have free data 500MB」というSMSが届いたので、 とりあえず上手くいったのだと解釈。 データ通信を切断すると、「GPRS xxxx baht, balance 0 baht」というポップアップが出る。 通信量を測ってくれているみたいだが、肝心の残量が全然分からない。

速度に関してはさすがの3G。Youtubeも快適に閲覧できる。 しかし、カバー範囲に穴が多い。街中では問題ないが、ビルの中で使えないエリアがあったり。 インパクトアリーナ(という多目的ホール)で使おうと思っていたら、 アリーナの外では快速なのに中では全く電波を掴まなかった。 また、3G網が整備されているのはバンコク市内に限られており、郊外に出ると 通信が途絶する。西に向かったところ、ナコーンチャイシーのあたりで接続が切れた。

■ true high speed netsim
タイのキャリアTrue mobileの提供するデータ通信simカード。 100MBの無料通信がついて199バーツ。wifiホットスポットのアクセス権も付いてくる。 ポイントは、通常のSimとmicrosim(iphone4/ipad)の2種類のパッケージがあること。

同行者2がsimフリーのiPhone4が欲しいと言い、現地で購入。 怪しい店に突撃してくれると期待していたら、dtacの正規代理店に向かっていった。 動作確認を直ぐに行いたいということで、Sim屋に行って適当なsimを見繕ってもらう。 店主がtrueのhighspeed netsimとAISの1-2callを見せたので、trueのsimを購入。 買ったばかりのiPhone4に挿したところ、ちゃんと動いた。

なお、AISのSimカードはmicrosimでは無い。店主にそれを指摘したところ、 「大丈夫、オレがカットしてやるよ」。 面白そうだったが、同行者2は丁重に辞退した。

■ おまけ:縁起のいい番号
Sim屋に並んでいるsimは100〜200バーツだが、時折1000バーツ前後のsimが売られている。 これは何だと店主に聞いてみると、「こういう番号なのだよ」と言って頭上を指差した。 頭上には11ケタの数字が大量に書かれた紙が垂れ下がっている。 ゾロ目とか8が多い電話番号は縁起物として、他より高値で売れるらしい。
simshop.jpg
だいたいこんな風景。あと、隣に食べ物売ってる店があったりして、空気が妙に脂っぽい。

posted by yuji_at_radiance at 23:46| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年09月02日

タイ王国携帯電話事情2

昨日に引き続いて、実機での運用の話。なお、使った機体はAT&T版のnexus one。 AIS_imobile.jpg
現地で使っていたSimカード。imobileの3G接続カードとAIS 1-2callの2G接続カード。

■ AIS 1-2 call netsim
タイ1番手の携帯電話事業者AISの提供するカード。サービスの内容が異なるパッケージがいくつかある様子。私が使っていたnetSimは30時間までの2G接続が無料で、電話をかけるにはチャージが必要(着信はいつでもできる)。お値段は139バーツ。同行者その1は1Gバイトまでの3G通信が付いてくるタイプを空港で購入していた。
AIS_card.jpg

取り扱い説明書は英語で書かれたセクションがちゃんとあった。 電源を入れる。TH GSMとオペレータ名が出るのを確認して、900120をコール。英語にするなら2を押してとアナウンスが流れたので、2を押すと電話が切れた。直後にSMSがAISと見知らぬ電話番号から立て続けに届く。「*121*1#をコールしたら35バーツあげます」「*183#をコールしたら20回SMS無料」「mobileNETFree30Hrs has been activated」。何がなんだか良く分からないがとりあえずクーポンコードっぽいものを立て続けに打ち込む。しかし、*121#で残高照会しても何かが増えた様子は無い。しかし同行者1の携帯にSMSが送れたのでとりあえず納得しておく。

2G通信の速度に関してはテキスト送受信では文句なし。googlemapを使うと画像のロードに時間がかかった。予めwifiが使えるところで地図のダウンロードをやっておくと良いだろう。画像のアップロードも多少待たされるが問題なく出来る。b-mobile sim U300を常用しているならば、耐えられる速度だろう。時間課金なので、頻繁にデータ接続を切る必要がある。私は「DMデータ通信設定ウィジェット」を使って通信状態の確認と切り替えをやっていた。あと、こころなしか電池の減りが速い気がする。サービス範囲は広い。郊外に出て列車に乗っているときも普通に通信できる。

電話を使えるようにするために、残高のrefillもやってみた。残高はコンビニ(セブンイレブンがあちこちにある)で購入できる。勝手が分からないのでSimカードのパッケージを店員に見せてチャージをくれと言う。「50バーツで良いか?」と聞かれるが最低額がどれだけか良く分からない。とりあえず50バーツを店員に渡すとレシートを寄越した。見ると16桁の数字が書かれており、これを端末に打ち込めばよいらしい。*120*数字#を打ち込むとSMSが届く。「You have topped up 50baht」。どうやらチャージに成功したらしい(top upって言うのか)。
AIS_refill.jpg

posted by yuji_at_radiance at 00:11| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年09月01日

タイ王国携帯電話事情

タイに旅行に行ってきた。滞在中にSimや携帯について調べたり試したりしたことの報告。

■ 基本的なところ:Simカードと携帯
Simカードは携帯電話通信事業者(キャリア)との契約情報を記録したICカード。 日本では携帯端末はキャリアと強くヒモ付けされて売られているが、 タイでは端末とキャリアを選んで組み合わせる自由度がある。 キャリアが提供するサービスも様々であり、Simにヒモ付けられている。

■ Simフリー携帯端末
日本でキャリアを通して売られている携帯電話は、特定のキャリアでしか通信できない、 いわゆるSimロックが仕掛けられている。海外キャリアのSimカードで通信を行うには、 Simロックが掛かっていない(Simフリー)機体が必要である。 NTTドコモの夏モデル以降では、Simロックを有償で解除できる。 日本通信が販売する機体はSimロックがかけられていない。 海外製の端末を個人輸入するという手もあるが、日本国内での運用は電波法に抵触する可能性が高いのでオススメしない。

■ Simの購入@タイ
タイではSimカードは簡単に購入できる。空港の入国管理ゲートを出ると、 AISやDTACなどタイでメジャーなキャリアがSimカードを販売している。 また、バンコク市内のMBKセンター(というショッピングモール)では様々な携帯端末と Simカードが売られている。 データ通信の可否、2G/3G、wifiサービス、無料通信分などの条件の組み合わせがいろいろある。滞在日数や地域、端末の利用方法をもとに選ぶ。 日本で利用する時と同じコンディションで使いたいという人は、予め通信量測定のソフトを1週間くらい走らせて、自分がどれくらいの通信をしているか把握しとくとよいだろう。

■ MBKセンター
タイのショッピングモール。東急百貨店も入ってる。3階までは普通のデパートなのだが、 4階に踏み込むと突然秋葉原の裏路地やガード下のような光景が広がっている。 正面に携帯電話屋、右手にSim屋、左手に(どうみても海賊版の)ゲームとDVD。 初見ではクラっときた。携帯電話についても、iPhoneやGalaxyなどおなじみのものから、新興国向けの安価なスマートフォン、単機能の携帯、パチモンまでよりどりみどり。hiPhoneやソニーエリッコソン(誤植ではない)とかが堂々と売られている。

■ タイ王国での携帯電話
普通にiPhoneは使われている。galaxyS2も見た。このあたり、観光客と混ざってしまい地元民の傾向を掴みにくい。blackberry多し。中学生〜高校生くらいの子供が使っていた。MBKセンターでの広告は、SamsungとLGが多い。韓国勢は押しが強い。ハイエンドモデルだけでなく、新興国向けモデル(HTC wildfireや、Galaxy mini/Ace、XPeria miniなど)が売られている。Windows Phone7もSamsung Badaもある。デュアルSimな端末(アジアでは良くある)が売られていた。有名メーカのスマートフォンは国際的価格(〜20000バーツくらい)、アジアンなメーカはもう少し安くて〜10000バーツくらい。非スマホのローエンドモデルは数千バーツくらい。

つづきはまた明日。

posted by yuji_at_radiance at 01:02| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年08月16日

3TBのハードディスクを使う

録画データを保存する倉庫ディスクの残り容量が足りなくなってきたので、値段がこなれてきた3TBを購入。2TB超えのHDDが正常に扱えるか心配だが買う。買わずに後悔するくらいなら買って後悔しよう。

購入したのはHGSTの0S03229 (中身はHDS5C3030ALA630 参考資料) 。静音低消費電力モデル。箱入りのものしか出回っていない様子。

Centos5.5 32bitのマシンにつないで、dmesgを見る。 very big deviceとか言われるが、とりあえず3TBの容量があることを認識している模様。 とりあえず安心。

ata3: exception Emask 0x10 SAct 0x0 SErr 0x4060000 action 0xe frozen
ata3: irq_stat 0x00000040, connection status changed
ata3: SError: { PHYInt CommWake DevExch }
ata3: hard resetting link
ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata3.00: ATA-8: Hitachi HDS5C3030ALA630, MEAOA580, max UDMA/133
ata3.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 0/32)
ata3.00: configured for UDMA/133
ata3: EH complete
  Vendor: ATA       Model: Hitachi HDS5C303  Rev: MEAO
  Type:   Direct-Access                      ANSI SCSI revision: 05
sdc : very big device. try to use READ CAPACITY(16).
SCSI device sdc: 5860533168 512-byte hdwr sectors (3000593 MB)
sdc: Write Protect is off
sdc: Mode Sense: 00 3a 00 00
SCSI device sdc: drive cache: write back
sdc : very big device. try to use READ CAPACITY(16).
SCSI device sdc: 5860533168 512-byte hdwr sectors (3000593 MB)
sdc: Write Protect is off
sdc: Mode Sense: 00 3a 00 00
SCSI device sdc: drive cache: write back
 sdc: unknown partition table
sd 2:0:0:0: Attached scsi disk sdc
sd 2:0:0:0: Attached scsi generic sg2 type 0

パーティションを切る。fdiskを試すと、GPTを使えと怒られる。

WARNING: The size of this disk is 3.0 TB (3000592982016 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).

うーむ。1TBのパーティションを3つ作りたいだけなのだがなぁ。 警告を無視してテーブルを切ろうとすると、領域の末尾を2.2TB相当の地点より先に設定できない。

Disk /dev/sdc: 3000.5 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      121600   976751968+  83  Linux
/dev/sdc2          121601      243200   976752000   83  Linux
/dev/sdc3          243201      267349   193976842+  83  Linux

fdiskではやはり無理だったので、アドバイス通りにgpartedでテーブルを切る。 1TBの領域を3つ。厳密には最後の一つは900GBくらい。mkpartfsコマンドでフォーマットも一括してできるらしいが、とりあえず後回し。

parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart primary 0 1024GB
(parted) mkpart primary 1023GB 2048GBGB
(parted) mkpart primary 2047GB -0
(parted) quit

出来上がった領域をext4でフォーマットする。

mkfs.ext4 /dev/sdc1

posted by yuji_at_radiance at 13:03| Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする

2011年08月07日

夏休み自由工作:掛け軸っぽい馬鹿ウィジェットを作ってみる

適当に格好いい漢字を掛け軸調にしたらcoolじゃないかなと思った。 なので夏休み自由工作として作ってみた。 自分自身でも何のために使うのか全く分からないが後悔はしていない。 子供の漢字練習にでも使えば良いのではないだろうか。

aji_smartphone_mini.png
こんな感じに漢字を表示する。掛け軸というよりむしろ額縁。
barano_yuutsu.png
設定画面はシンプル。文字列を与えると一文字ずつ表示する。 何も設定しないとランダム表示になる。
kirin_tablet_lcut.png
タブレットで大きく表示。でかい。ちょっと文字にジャギーが出てる。
kirin_tablet_resize.png
Android 3.1以降ならばリサイズできる。

以下、技術的な話。

漢字データ: 漢字データはGlyphWikiからPNG画像で取得する。androidの内部文字コードはUnicodeなので、String#charAtで取得した数値をもとに画像を取ってくる。取得できる画像は200x200なので、拡大するとジャギーが出る。svg形式を使いたいがレンダリングできるライブラリがあったかな?

画像の差し替え: 画像の取得&差し替えを普通に記述するとタイムオーバーするのでAsyncTaskを使う。HTTPコネクションの確立→ビットマップ画像の生成をAsyncTask#doInBackGroundに実装し、画像の差し替えをAsyncTask#onPostExecuteに実装する。あとはウィジェットの更新時にAsyncTaskをキックすればよい。

一定周期の更新: AlarmManagerに次回の更新時刻をセットして、起こしてもらう。持ち越しデータ(ウィジェットの設定や次回以降に表示する文字列)をPendingIntentに格納してAlarmManagerに渡す。

引き伸ばし対策:漢字表示部分は縦横比率を一定に保ちつつ適当にズームしてくれないとまずい。よってscaleType=fitCenterにする。さらにpaddingに適当な数値を入れて隙間を作って額縁らしくする。枠部分はリサイズしても不恰好にならないように、9patch画像にする。

リサイズ(スマフォ向けとタブレット向けの共存): ウィジェットのリサイズはAndroid 3.1(SDK 12)から利用できる。appwidget_providerを設定するXMLにresizeMode="vertical|horizontal"と書く。これではAndroid 3.1以降でしか使えないアプリになるので、ちょっと工夫する。XMLを生成するウィザードで「what kind of resource configuration would you like」と聞かれるので、versionを選んで12と入力する(xml-v12というフォルダが新しく作られるはず)。

良く分からないこと:android3.1向けの設定XMLをxml-v12に置いた状態でBuildTargetをAndroid 2.2にすると、XMLに不正な記述があるとして怒られてしまう。困る。だからといってBuildTargetをAndroid 3.1にすると、エミュレータや実機にアプリケーションをアップロードする際に互換性がないと注意される。どうすればよいというのだろう。

まとめ:スマフォ・タブレットの両対応は色々と奥が深い。

希望があったらor完成したら(SVG読み込みまでやりたいですね)アプリを配布するかも知れないです。欲しい人は連絡ください。善処します。

posted by yuji_at_radiance at 22:58| Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする

2011年07月28日

Android Fragmentsの練習(with M3Navigator)

Android 3.0からサポートされたfragmentsフレームワーク。画面をいくつかの領域に分けて振る舞いを記述できるというもの。せっかくタブレット端末を買ったのに使ってみないのは勿体無いということで、ちょっと遊んでみる。せっかく遊ぶなら実用的な例題でということで、拙作のM3Navigatorをタブレット向けのUIへ移植してみた。

いきなり表示例。
fragments.png
左側にリスト、右側に詳細表示。この辺りはgmailの画面構成とかと同じ…というか、Android SDKのfragmentsサンプルまんまである。実際に、レイアウトや画面の遷移は大きくサンプルから流用している。

概論:意外と簡単。 既存のAndroidアプリをfragments対応するのは大変じゃないかとビビっていたが、実際のところ、タブレットっぽく見せる程度の改造はそれほど難しくなかった。ただし、MVCアーキテクチャ(モデルとビューとコントロールを切り分けようというUI設計の基礎論)に沿って設計することが大事だと思う。

レイアウト:条件付レイアウトフォルダを活用すべし。 タブレットっぽいUIの醍醐味は、傾けると変化するレイアウト。縦版と横版のレイアウトを作ることで、フレームワーク側でよしなにやってくれる。フラグメントを動的に切り替えていく箇所(上図右サイドとか)は、frameLayoutで仮のスペースを確保しておく。で、そこに生成したfragmentをアタッチする。

アクティビティの処理:フラグメントに移植、インテントの扱いに注意。 アクティビティのonCreateなどに書いていた処理は、fragmentの相当物に移動させれば大体うまくいく。ActivityやContextが必要な時は、Fragment.getActivity()を使えばよい。注意すべきはプロセス間通信。ActivityはIntentでやり取りするが、Fragmentの引数はBundleである。Intent.getExtras()を使って、中身のBundleだけを取り出してFragmentに食べさせればよい。

ビューの扱い:ビューの組み立てはonCreateViewでやる。 Activityでは初期化処理を全部まとめてonCreateに書くので、ちょっとコードの整理が必要かもしれない。

データベースの扱い:そのまんま。 とくに手を入れるべきところは無い。SQLiteもPreferenceも使える。

ボタンイベント:FragmentでListenerを継承、または無名クラスを利用。 無名クラスを使うとおそろしく捗る。直感的に理解しがたいが、インナークラスのコードからアウタークラスのメンバに触れるのだ。しかし、Cに慣れた身としては、メソッドの引数が納まる位置にクラス定義が鎮座しているのは落ち着かない。

あとは、メニューフラグメントとかも試してみたいと思う。そのうち時間をとってやってみる。

posted by yuji_at_radiance at 00:18| Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする

2011年07月20日

ABC2011Summer報告(カンファレンス)

前回の続き。午後のカンファレンスのこと。メモと消えかけの記憶が頼り。

■Session1:ロボットトラック:「ADKボードを用いたワークショップ」
アールティがOpenADKの概要とGoogle I/Oの様子を報告するという内容。 技術的に濃い話というよりは、ロボットの作り方とかリアルとクラウドのつなぎ方の持論が興味深かった。ADKのキモというのは拡張ボードそのものではなくボードとAndroidデバイスを結ぶプロトコル、特にボードと結びついたアプリやサービスをボード側が指定できることなのだという。ユーザやスマートフォンは、接続相手のことを事前に知る必要がなく、最初の接続時のネゴシエーションで全てが上手く行く。リモコンになったり、説明書になったり、デバッグコンソールになったり。
ロボットや家電の作り方のヒントとしては、スタンドアローンでもしっかり動くように作っておいて、Androidデバイスと接続した時にプラスアルファの機能・性能を発揮するという思想が大事とのこと。ネットワークに依存しないと何もできないロボでは意味がない。実際に沢山のデモを行った経験から出る言葉は説得力があった。
RT-ADK(open Accessory Demo Kit)についても説明あり。フレームワークとデモボードの名前が紛らわしいことについては、失敗だったとの談。4000円くらいで買える安価なモデルも展開する予定があるとのことで、試作品が会場に持ち込まれていた。
ADKの遅延については、体感的には100ms行かない程度とのこと。wifiと比べればずっと速いらしいが、Androidデバイスに制御系を入れてフィードバック制御するには遅い。ロボット側に(分散?)制御系を入れるなどの工夫が重要。先述の作り方ヒントにも繋がってくる。

■Session2:開発トラック2:「Linuxカーネルから紐解くAndroid」
アプリケーションフレームワーク(Javaのクラスライブラリとして見える部分)を支えるカーネルに着目しようという企画。セキュリティ、プロセス間通信、電源管理、メモリ管理について簡単な説明があった。生コードは残念ながら出てこなかった。
セキュリティ。これは、UID/GIDをアプリごとにユニークにつけるサンドボックス思想の説明だった。
プロセス間通信。Binderの話。先述のセキュリティより、アプリ間の相互干渉は困難である。ファイルシステムを介したやり取り以外に、Binderと呼ばれる仕組みがあるよという話。実はIntentを使う時にお世話になっているのだが、そのことはあまり知られていない。Unixのミドルウェアを移植することを想定してUnix的なプロセス間通信との得失を問う質問があったが、将来的な互換性とセキュリティの観点からAndroidの流儀に沿うことが薦められていた。ただし、Binderを生で使うのは技術的ハードルが高いとのこと。良い子はIntentを使おう。またはSocketを使うべし。
電源の話。WakeLockの話だった。
メモリ管理の話。LinuxではOutOfMemoryが発生すると立ち上がっているアプリがキルされるが、Androidでこうなるとまずいので、他のアプリをキルする処理が走るよという話。で、犠牲者を探す際には優先順位がきっちりと決まっているのだよ、と。サービスは優先度が凄く高くてキルされにくい。タスクキラー入れてもメモリ足りないと泣いている人は、サービスを乱発していないか調べてみるとよいだろう。「アプリの管理」→「実行中タブ」からサービスの起動数が見られる。

■Session3:開発トラック1:「アプリ開発・端末毎の解像度の違いを吸収する方法」
OpenWnnフリック対応版の中の人が講演。リソースディレクトリの上手な使い方と、ソツ無いレイアウトを作るコツの話。列挙すると、

  • 画像のオートスケールは避ける。ボケるから
  • 端末の最大解像度は今後大きくなるのだから、思い切って大きめに画像を作るべし
  • マニフェストにはminSDK=3(Android 1.5)とする。後方互換性のため
  • Project Build TargetのSDKバージョンを色々変えて動作確認する。最後に最新のターゲットでリリース版を作る。
端末の解像度やセンサの特性データベースが欲しいですとの談。対して、AndroidDeviceInfoShareというソフトがあるとのレスポンス。

■Session4:アカデミートラック:「MONAC・モバイルP2Pとクラウドを融合するメッセージングシステム」
継続的なネットワーク接続が困難な状況で通信の到達性を高める通信手法(DTN:遅延耐性ネットワーク)の実装。3G接続が制限された状況下でP2Pのメッセージ交換を駆使してインターネットへのメッセージアップロードを実現しようという技術の説明。震災に触発されたとのこと。 実は、クラウドサービスのユーザ認証を透過的に扱う仕組みがなおの事凄い。メッセージ交換アルゴリズムは、epdemic routingという、手当たり次第にメッセージを交換する仕組みなので、中継する端末に負荷がかかるらしい。課題は、インターネット側からDTNにデータをダウンロードする(持ち込む)技術の確立とのこと。活発に質問が飛び交った。

■Session5:アカデミートラック:「いま求められる、Androidのセキュリティ」
セキュリティ部の設立趣旨と、camellia for Android(暗号ミドルウェアの移植)の紹介、ウィルス対策ソフトウェアの是非を扱う紙芝居の3本立て。マルウェア対策については教科書どおりの話だった。

ラベル:android
posted by yuji_at_radiance at 00:08| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年07月19日

ABC2011Summer報告(バザール)

7/17に早稲田大学にて開催されたAndroid Bazaar and Conference 2011 Summerを観てきました。資料やメモを清書するついでに、webに残しておこうかなと。今日の更新分はバザールの話。順番は巡回した順。巡回先が偏っているのは仕様。書き始めたら分量が膨らんで終わらなくなってしまった。

■mbed部
mbedを使ってADK(open Accessory Development Kit)準拠のI/Oボードを実現するという企画。 何かイベントをやるときはGadget Cafeを中心に活動されるとのこと。 まだ、ボードの着脱→インテント→アプリの立ち上げの手順のどこかに不備があるらしく、 アプリがボードを認識しないとのこと。RT-ADKをプロトコルアナライザで観てみたいと言っていた。

■横浜支部・ロボット部、神戸支部・ロボ部
ひとまとめにしてごめんなさい。展示の棲み分けを把握できていませんでした。

  • ATTiny(とPIC?)でADK準拠のI/Oボードを作る
  • twitterと連携する、しゃべるロボ
  • ロボットハンド。スマートフォンの画面を指でなぞると3自由度(たぶんそれくらい)の腕を振る
  • クモっぽいロボット
ADKを駆使してスマートフォンから動かすロボを実現。悩みの種はスマートフォンの電池の消耗だとか(外付けIOボードはスマートフォンから給電する)。

■実機展示(主宰者失念)
Camangiの7inchタブレットを展示していた。まだ発売前なので調整が不完全とのことだが、良く動く。画面が小さい&解像度低いので、HoneyComb的に大丈夫かと思っていたが、特にストレスは感じなかった。HTC flyerのHoneyCombアップデートも案外期待できるかもしれない。

■Yamaha
担当の人が熱かった。Androidで電子楽器を作る際には、タッチ→音出力の遅延が重要になってくる。その遅延を縮める技術の説明を2つ。一つはADKを使ってarduino MIDIシールドからMIDIを出力、MIDIの機材で演奏するというもの。もう一つは、HW音源と改造カーネルで音を鳴らすというもの。IS03に入っている(たぶん着メロ用)音源チップを叩いて音を鳴らしていた。カーネルを改造して、midiを扱うjavaクラスライブラリまで作ったとのこと。
また、参考展示として、米国miselu社が企画中のandroid搭載電子ピアノのモックを紹介。 オンラインセッションとかそういう時代が来るのだろうか? 以前のCEATECで、ヤマハがネットワーク接続できる電子ピアノを参考出展していたことを思い出した(参考リンク:インプレスBB watch)。

■ガイガーカウンター(主宰者失念)
浜ホトは職人芸でしたねーと雑談。安価に量産できるGM管のデザインを作成したらしいが、工場のオファーは今のところ無いみたい。

■TechBooster
AndroidのプログラミングTipsを掲載しているサイト。 9月中旬に「Android タブレットアプリ開発ガイド」を出版するらしい。 Android3.2にも対応との事。努力してますね。でも、3.2でAPI仕様ってそんなに変わったかな。

■スマート・ドライブ・メーター製作委員会
加速度センサを使って道のバンプの高さを検出するソフト。 実際に東北地方を走って、高速道路の歪みを測定したというから恐れ入る。 原理は加速度の二重積分だが、累積高度を取るのではなく、一定時間内の高低差を求めているようだった。 測定精度は中々だが、もう少し頑張れそう。 積分値をとる計測区間の選び方を工夫するともっと正確になるんじゃないだろうか。

ラベル:android
posted by yuji_at_radiance at 00:13| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年06月26日

Motorola XOOM HD Speaker dockの分解調査

XOOMとスピーカーHDドックを組み合わせて使っているが、いくつか思うところがあった。

  • ドックにUSB端子がない、ドックから降ろさないと開発モードもUSBストレージも使えない
  • 手持ちのオーディオアンプに音声を流し込みたい。できればデジタルで
XOOMの分解記事は数多くあれど、周辺機器の分解レポートは全く見当たらないので、 ちょっとドックを分解してみた。

注意:周辺機器の分解は非常に危険な行為です。 周辺機器が2度と使えなくなるばかりか、XOOM本体を破損する可能性もあります。 さらに悪い場合には発熱・発火により、財産・身体に被害を及ぼす可能性があります。 予め危険性を認識した上で作業を行ってください。

■ターゲット
これがXOOMスピーカードック。Amazon.comで入手。今ではAUショップでも買える。

speakerdock.jpg

■工具
ヘクスローブドライバまたはヘクスローブレンチ:
ネジ穴が六芒星になっているネジを締めるための工具。筐体をあけるために必要。 今回は六芒星の対角が2.7mmのものが必要。T10規格というらしい。 ヘクスローブレンチを西川電子部品で購入。 ANEXNo.630 T-10。

六角ドライバまたは六角レンチ:
ネジ穴が六角形になっているネジを締めるための工具。基板を取り外すために必要。 六角レンチセットから1.27mmのものを使用。

■手順

底面には防振ラバーが貼られている。安定感はgood。

speakerdock_bottom.JPG

防振ラバーの下には、筐体を止めるネジが隠れている。全部で9箇所ある。 ネジはヘクスローブのT10タイプ。全てヘクスローブレンチを使って緩める。

speakerdock_screw.jpg

金網っぽい部分を引っ張ると2つに分かれる。 HDMI端子は、太いケーブルでバイパスされている。 プリント基板周りには電源コネクタ、充電端子に伸びるケーブル、スピーカーに向かっていると思しきコード、 USBコネクタへ繋がっているケーブルが見える。 オーディオ信号はHDMIコネクタではなく、USBコネクタから取っているようす。 基板を取り外してみたところ、片面実装であった。スッキリしているが、実に多くの要素が詰め込まれている。

speakerdock_inside2.JPG

オーディオ部分はTIのD級パワーアンプ。TPA3113D2。 (解説記事

さて、問題はXOOMからパワーアンプにいたるパスがどうなっているかということである。 ここで2通りの実装が考えられる。

  • USBオーディオクラスのチップが貼り付けてある。
  • USBのコネクタにオーディオのライン出力を同居させている。
後者の実装は、いくつかの海外製スマートフォン、たとえばHT-03Aなどで使われている。 海外の掲示板で同じようなことを言っている人を発見した。 (androlib: Some general insight into the HD Dock and potential reason why no USB on docks

パワーアンプから丹念に配線を追って行くと、怪しい10ピンのICに突き当たる。

audiopath.jpg

このチップは、microUSBのデータ端子とパワーアンプの入力フィルタに繋がっている。 しかし、刻印の文字数が少なすぎて、まったく型番を調べることができなかった。 「0STI」「JER」と書いてあるように見えるが、アルファベットの判別自体が難しい。 役割は

  • USBオーディオクラスのチップ(ピンが少なすぎ、近くにクリスタルがない)
  • プリアンプ(オーディオ信号を無理やり流し込んでも音が鳴らなかった)
  • アイソレータ
のいずれかだろうが、良く分からない。オシロがあれば簡単に分かるのだが…。知人に借りる相談をしようかな。

一応、分かる配線をメモしておくと

1接続先不明
2パワーアンプLch
3USBコネクタGND端子
4パワーアンプRch
5電源GND
6USBコネクタD-端子
7470オームを通して9番ピン
8電源5V
9470オームを通して7番ピン
10USBコネクタD+端子
気持ち悪いことに、3番ピンと5番ピンは繋がっていない様子。

良く分からないまま、とりあえず閉腹。ちゃんと動作することを確認。

posted by yuji_at_radiance at 16:56| Comment(0) | TrackBack(0) | ハードウェア | このブログの読者になる | 更新情報をチェックする

2011年04月28日

M3カタログビューアー(M3Navigator)更新(4/28)

音系・メディアミックス同人即売会M3の電子カタログビューアーです。 チェックリスト一覧をテキスト起こししてメーラー等に送る機能を実装。とりあえず絶対に入れたいと思っていた機能はだいたい達成した気分。下のリンクから直接ダウンロードするか、簡単インストーラーを使ってインストールしてください。

駆け込みでひとつだけ機能追加。検索ボタンから絞込み検索ダイアログが出るようにしました。せっかくの第四ボタンを大事にしないと。もっとも、ボタンが3つしか付いてない端末もたくさんありますが。

■ ダウンロードアイテム
■ スクリーンショット
circlelist_27B.png

メニューを開いてShare Textを選択

mailedit.png

サークルリストをテキスト化して、メールの作成画面にジャンプ

ラベル:M3Navigator android
posted by yuji_at_radiance at 22:27| Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。