Search Results


Android Wear 5.1.1 は Wi-Fi 接続に対応しました。
利用できるのは Wi-Fi 機能を搭載したデバイスのみに限られますが、インターネットを経由した同期を行うことが可能です。

                        Bluetooth   Wi-Fi
-------------------------------------------------------------
Android Wear 4.4W~5.0  直接同期    --
Android Wear 5.1.1      直接同期    Internet 接続、Cloud 同期
Apple Watch             直接同期    LAN 経由同期 (P2P)

Apple Watch も Wi-Fi 接続を併用していますが Wi-Fi の使い方が異なります。


● Apple Watch の場合

Bluetooth の補佐として用いられているようです。
接続は自動化されており iPhone 側の設定を引き継ぎます。
そのため Watch 側には特に Wi-Fi の設定はありません。

iPhone と同じ Wi-Fi ルータを利用して LAN 内で直接転送が行われます。
あくまで iPhone と Watch 間の通信に用いられており、Apple Watch が直接インターネットに接続することは無いようです。

Apple: Apple Watch の Bluetooth と Wi-Fi について


● Android Wear の場合

Android Wear 側に独立した Wi-Fi の設定があります。
予め Wi-Fi の設定しておけば、Android Wear デバイスが直接 Internet への接続を行うことができます。実際に Google Map アプリでは、Bluetooth 接続が切れていても地図データを読み進めることができました。

さらに「クラウド同期」を有効にしておくと、スマートフォンやタブレットとの通信(同期)もインターネット経由で行うことが可能です。

有効にする方法
 1. Smartphone/Tablet 側のコンパニオンアプリ "Android Wear" の設定を開く
 2. クラウド同期を ON にする

Android Wear の場合は Apple Watch と違って同一のネットワーク (LAN) に接続しておく必要がありません。バッテリー消費を考えなければ、ペアリングしたスマートフォンやタブレットは家に置いたままで、Android Wear とモバイルルータだけ持ち歩くこともできるわけです。

通知などのメッセージが届くのはもちろん、設定などコンパニオンアプリを伴うものでもクラウド経由できちんと設定変更が反映されます。


関連ページ
Smart Watch 一覧

関連エントリ
Apple Watch のバッテリーと Android Wear 5.1
Apple Watch を使ってみた, Android Wear との比較など
Android Wear 単体で音楽再生を行うアプリ (2)
Android Wear 3D のアナログ時計 (Watch Face)
Android Wear の 3D 描画 と NDK r10
Android Wear にゲームを移植


携帯電話と連動可能な腕時計が出ています。

アイバートM(エム)製品情報
アイバートM(エム)

日本には SPOT (Smart Watch) がないので、こういうのはもっと出てきて
ほしい気もします。
もしかして Bluetooth や携帯との連動がなかったとしても、常時表示で
普通のカラー液晶画面の腕時計は初めてかな?と思って調べてみました。

カラーだけど普段は画面が消えていたりとか、固定のカラー液晶や
その積層タイプだったらいろいろあったかと思います。
Fossil Japan BIGTIC - SCROLLING
CASIO 液晶の色が変わる"デュプレックスLCディスプレイ構造"搭載
MP4 WATCH

と思ったらありました

カシオ、カラー液晶モニタを搭載した新型リストカメラ

CASIO リストカメラのカラー液晶版 WQV-10。
STN 液晶 2001年、これが世界初だったそうです。


Fossil から有機ELタイプの新作が出ていました。
自己発光なので、やはり LED タイプのように普段は消えていて
ボタンで呼び出すのでしょうか。
Fossil Japan JR9464

そういえば i:VIRT の初代も有機ELでした。これも常時点灯しておらず
ボタン操作によって画面を呼び出すタイプだったようです。
i:VIRT 製品仕様


少々時間が空いてしまいましたが、手持ち端末のアップデート状況などをまとめてみます。

● Android Wear と Version 一覧

Android Wear は何度か UI の大きな変更が行われています。当初は Android 自体のバージョンと連動していましたが、5.0 以降は Android Wear のみのバージョンが併記されるようになりました。下記はわかっている範囲でのこれまでの Android Wear のバージョン一覧です。

Version API 新機能(一部)
Android Wear 4.4W 20
Android Wear 4.4W.2 20 Offline Music Player
Android 5.0 + Android Wear 1.0 21 Custom Watch Face
Android 5.1 + Android Wear 1.1 22 AppMenu, Wi-Fi
Android 5.1 + Android Wear 1.3 22 Interactive Watch face, iOS

2015年11月段階での最新版は Android 5.1 + Adnroid Wear 1.3 になります。Interactive Watch Face に対応したため再び Home Menu の UI が変更されています。Watch Face のタッチだけではメニュー画面にならず、画面の右端からスワイプで呼び出すようになっています。


● 複数デバイス対応とデバッグ

どのバージョンで対応したのか不明ですが、一つの端末に複数の Android Wear Device をペアリングできるようになりました。

例えば同じ Nexus 5 に LG G Watch と Moto 360 の 2台の Android Wear 端末をぶら下げることが可能。通知は両方に届きますし、片方を Wi-Fi 接続に設定しておけば Nexus 5 本体の近くになくても通知を受け取ることができます。便利かどうかはわかりませんが、持ち歩くのは腕に1台、デスクサイドに固定で 1台といった使い分けもできるかもしれません。

Android Wear の通信(同期)は基本的に 2つの仕組みが用いられています。

・メッセージの送受信
・アプリごとの共有ストレージの同期

初期のマニュアルに従った作りでは列挙されたデバイスを区別していないので、すべての端末に同じように同期が行われます。たとえば 3D imclock の場合、スマートフォン側のコンパニオンアプリによる設定が両方の端末に同時に反映されることが確認できます。

複数のデイバスに対応したことでアプリ開発中の動作確認が少々楽になりました。以前はペアリングするために Android Wear 端末と同じ数だけスマートフォンやタブレットが必要でした。なお複数台接続した場合、Bluetooth 経由のデバッグは同時には行えずどちらか片方だけ選ぶ形になるようです。


● 3番目のアーキテクチャ

Android Wear デバイスに新しい SoC 搭載機種が登場しています。これまで Moto 360 (初代) 以外の Android Wear 端末はすべて Snapdragon 400 が用いられていました。CPU Clock や有効な CPU core の個数に違いはあるものの中身は同一です。

Moto 360 (初代) だけは Motorola MOTOACTV の流れを汲む設計となっており TI OMAP3630 が使われています。OMAP3 は世代が古いため性能上の問題が生じる場合があり、アプリケーションの互換性のためにこれまで何度か苦労させられてきました。

最近発表された TAG Heuer Connected は Intel のプロセッサが内蔵されているとのこと。詳細は不明ですが、OMAP3, Snapdragon 400 に続く Android Wear デバイス 3番目のアーキテクチャになります。ARMv7A でも動作しますが、バッテリー効率を考えると NDK を使う場合できるだけ x86 にも対応しておくことが望ましいと思われます。


関連ページ
Smart Watch Spec 一覧
Android Wear OS 一覧

関連エントリ
Android Wear 5.1.1 3D-imclock の更新と Moto 360
Android Wear 5.1.1 は Wi-Fi による同期に対応、Apple Watch との違い
Android Wear 5.0 Watch Face API 対応と互換性


Apple Watch を手に入れたので数日間使ってみました。
印象としては、これまで使っていた Android Wear など Android ベースの
スマートウオッチとはかなり違うということ。
特に感じたのは最初からできることが多い点と時計としての安定感です。

apple_watch01.jpg

左から
SmartQ Z Watch, Apple Watch Sport 42mm, Android Wear LG G Watch
大きい方の 42mm モデルですが、並べると他のスマートウオッチよりも小さめです。


● アプリと操作

Android Wear は単独で専用アプリが動くものの、標準の UI は音声認識できる
通知特化デバイスといった位置づけでした。

通知だけのアプリもありますし、Android Wear はほとんどの場合
設定などの操作をスマートフォン側のコンパニオンアプリで行います。

全体的に時計側ではあまり複雑な操作をさせたくない印象です。
インストールしたアプリの起動も深いメニューの奥底で、
隠してあるのではないかと疑ってしまうレベル。


Apple Watch はまず HOME 画面からしてアプリのアイコンが並びます。
デジタルクラウン (右サイド上のボタン) を押すだけでこの画面に戻ることが可能。
通知を受けるだけでなく、アプリを使って欲しいのだということが明確にわかります。

Apple Watch 側でできる操作が多く、小さい画面ながら物理ボタンの併用によって
操作性が工夫されています。

・タッチ画面 (マルチタッチ操作はしない)
・タッチ画面の強い押し込み (選択メニュー等)
・デジタルクラウンの回転 (スクロール, ズーム)
・デジタルクラウンの押し込み (HOME, 戻る, Siri)
・サイドボタン (フレンドリスト, 電源)


Android Wear の場合統一されている共通操作は画面の左から右へのスワイプです。
これが Android の "戻る" ボタン 相当で、どの画面でもこの操作ができないと
Android Wear アプリの審査が通りませんでした。
(通らなくてもストアには公開できます)

Android Wear の機種によってはサイドに物理ボタンを持っているものもありますが、
スリープや長押しで設定画面が呼び出せるだけです。
ボタンがない機種も存在するのでアプリの個別操作には活用されていません。



● 通知とアプリ

Android Wear の基本は通知の仕組みを使ったカード型のビューアです。
Gmail も新着が届いて返信やアーカイブ等の操作ができますが、
通知扱いなので一度消すと読み返すことができなくなります。

さらに厄介なのは、アプリからの情報を通知領域に表示するものがあることです。
通知画面とアプリ画面の違いがわかりにくいこと、通知同様に消せることと
アプリに容易に戻れないなど、慣れるまでは混乱しがちです。


Appel Watch は通知とアプリは別れておりスマートフォンに似ています。
メールの通知は消せますが、アプリを起動すれば能動的に選択してメッセージを
見ることができます。

また時計や HOME 画面に切り替わっても、デジタルクラウン (HOMEボタン相当) の
ダブルクリックで直前まで使ってたアプリに戻ることが可能です。



● 内蔵アプリ

Android Wear を手に入れた当初は、何ができるのかよくわからなかったのが
正直なところです。
基本的には拡張子の関連付けのように、アクションに対して機能を割り付ける
仕組みとなっています。
アクションからのみ呼び出せるものもあり、必ずしもアプリの一覧に
アイコン並んでいるわけではありません。


Apple Watch は機能が HOME 並んでいるので非常にわかりやすいといえます。
メール、マップ、フォト、カレンダー、ミュージックその他、さまざまな
内蔵アプリが用意されています。

その反面、サードパーティ製のアプリは今のところ iPhone との接続が必須と
なっているようです。
Bluetooth か Wi-Fi どちらかが必要で、接続が切れるとアプリを起動することが
できなくなります。
内蔵アプリは接続がなくても動きます。


この辺 Android Wear は制限がなく自由度が高くなっています。
UI 以外は Adnroid API そのままです。NDK も使えます。



● 腕時計として使う

Android ベースの Z Watch は、任意の Android アプリが動くので出来ることが
多い反面、時計としての使い勝手はそれほど良いものではありませんでした。
画面の常時点灯はできず、腕の動きでスリープ解除できるものの認識はいまいちです。
一番問題だったのはスリープ解除しても時刻の表示が更新されていないときがあり、
時計としての信頼性に欠けることです。


Android Wear は Ambient Mode があるので、時計画面を常時表示させて
おくことができます。

ただし機種によっては常時 ON にできないものもあります。
またバッテリーを優先したい場合は普段画面を消しておくことも可能。

画面タッチだけでなく腕の動きでも点灯しますが、必ずしも意図した通りに
反応してくれるとは限りませんでした。
なかなか点灯せず、結局画面をタッチすることもしばしば。
動作から画面点灯までの時間は一定ではなく、反応にはばらつきがあります。
時計として使うなら常時表示の Ambient Mode の方が確実です。


Apple Watch の時計は残念ながら常時点灯ではなく普段は画面が消えています。
ところが腕につけている場合、非常に良いタイミングで画面が点灯してくれます。
時間を見ようと腕を上げると即座に画面が現れるため快適に時刻を確認できます。
点灯までの反応速度は安定しており今のところストレスはありません。



● 単独で Music Player として使ってみる

Android Wear では 5.0 から単独で音楽プレイヤーとして使えるようになっています。
ただし Google Music が必須で日本では使用することができませんでした。
以前作った↓アプリによって、単独でオフラインプレイヤーとして使うことができます。
Bluetooth ヘッドホンが必要。

Music Player2 for Android Wear
Muisc Player for Android Wear


Apple Watch もオフラインプレイヤーに対応しているので試してみました。

 1. iPhone で Apple Watch アプリ起動
 2. マイウオッチ → ミュージック から同期するプレイリスト選択
 3. Apple Watch を充電器に接続 (同期転送は充電中のみ行われる)
 4. 転送完了したら Apple Watch の 設定→ Bluetooth からヘッドホンをペアリング

apple_watch02.png

 5. Apple Watch の「ミュージック」アプリ起動して、画面を押しこむ
 6. ミュージックソースの選択があるので「Apple Watch」を選ぶ

apple_watch03.png

 7. 同期転送したプレイリストを再生。

単独で再生可能で iPhone との接続が切れていても問題ありません。

注意点としては、一度ペアリングに失敗するとデバイスを認識できなくなる場合が
ありました。一覧に Bluetooth ヘッドホンが現れない場合、または再接続に
失敗する場合は Apple Watch の電源を一旦切ってから入れ直すことで改善しました。



● iPhone が必須

Android Wear は Android OS 4.3 以降の OS 制限があるものの、
スマートフォンでなくてもペアリングして使うことが出来ました。
Nexus 7 などのタブレットでも問題なし。


Apple Watch は iPhone 専用なので iPad や iPod では使うことができません。
対応しているのは iPhone 5 以降。iPhone 5/5c/5s/6/6Plus の 5機種のみです。



● iPhone との接続と Wi-Fi

Android Wear は対応スマートフォンと Bluetooth で接続を行いますが、
Apple Watch は iPhone との接続に Bluetooth と Wi-Fi が併用されているようです。

最初の認識は Bluetooth ですが、途中で Bluetooth だけ OFF にしても
iPhone との接続は切れません。
ルータが無い場所では Wi-Fi だけでは接続を維持できなかったので、
直結ではなくルータ経由のようです。



● 最後に

価格が高いこともあり、当初はあまり購入に乗り気でなかったのですが、
実際に使ってみて非常に良く作りこまれていると感じました。
高性能スマートウオッチなのに、腕時計としてきちんと使い物になることに
少々驚いています。
全く期待していなかったせいもあるのかもしれません。

かつて通常の携帯電話からスマートフォンに乗り換えるタイミングが訪れたように、
コストと性能のバランスが取れたら、自然にスマートウオッチに置き換わる時が
来るのでしょう。

バッテリー寿命など使っていくと不満はこれからいろいろ出てくるかもしれませんが、
今のところ気に入っています。
これまで普通の腕時計と Android Wear を併用していましたが、
Apple Watch なら一つで十分だと感じました。


関連ページ
Smart Watch 一覧

関連エントリ
Android Wear 単体で音楽再生を行うアプリ (2)
Android Wear 5.0 Watch Face API 対応と互換性
Android Wear Sony SmartWatch 3 SWR50 は速い
Android Wear 3D のアナログ時計 (Watch Face)
Android Wear にゲームを移植
SmartWatch 関連エントリ


Smart Watch をまとめてみました。
単体でアプリが動くものだけです。

Smartwatch


関連エントリ
Android SmartWatch SmartQ ZWatch (4) アプリの管理
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch


LG G Watch を入手したので CPU/GPU を調べてみました。
プロセッサは Snapdragon 400 MSM8226、1.2GHz で 4 core あります。
GPU は Adreno 305。
Low End ですが 300番台なので OpenGL ES 3.0 に対応しています。

SmartQ ZWatch は Single Core かつ 3D GPU も無かったので、
比較すると LG G Watch がかなり高性能に見えます。
RAM 容量以外はおそらく低価格帯のスマートフォンと同等でしょう。
2014/07/11修正 (実測結果)

Smart Watch スペック一覧

その代わり Z Watch のような Wi-Fi やヘッドホン端子は無く、単独での利用は考えられていません。
通信は Bluetooth だけ。ペアリングした親機 (Android 端末) が必要です。

Android Wear では adb も親機を介した bluetooth 経由で接続できるようになっています。
付属の充電クレードルを使えば、今までどおりの USB 接続もできるようです。

LG G Watch Android 4.4W
Qualcomm Snapdragon 400 MSM8226
Cortex-A7 1.2GHz Quad core, Adreno 305
RAM 512MB

-------------------
CPU
-------------------
processor	: 0
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 38.40
Features	: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 3

processor	: 1
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 38.40
Features	: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 3

processor	: 2
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 38.40
Features	: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 3

processor	: 3
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 38.40
Features	: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 3

Hardware	: Qualcomm MSM 8226 DORY (Flattened Device Tree)
Revision	: 0007
Serial		: 0000000000000000



-------------------
GPU
-------------------
GL_VERSION: OpenGL ES 3.0 V@84.0 AU@  (CL@)
GL_RENDERER: Adreno (TM) 305
GL_VENDOR: Qualcomm
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.00

Extension:
GL_AMD_compressed_ATC_texture
GL_AMD_performance_monitor
GL_AMD_program_binary_Z400
GL_EXT_debug_label
GL_EXT_debug_marker
GL_EXT_discard_framebuffer
GL_EXT_robustness
GL_EXT_texture_format_BGRA8888
GL_EXT_texture_type_2_10_10_10_REV
GL_NV_fence
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_depth_texture
GL_OES_depth24
GL_OES_EGL_image
GL_OES_EGL_sync
GL_OES_EGL_image_external
GL_OES_element_index_uint
GL_OES_fbo_render_mipmap
GL_OES_fragment_precision_high
GL_OES_get_program_binary
GL_OES_packed_depth_stencil
GL_OES_depth_texture_cube_map
GL_OES_rgb8_rgba8
GL_OES_standard_derivatives
GL_OES_texture_3D
GL_OES_texture_float
GL_OES_texture_half_float
GL_OES_texture_half_float_linear
GL_OES_texture_npot
GL_OES_vertex_half_float
GL_OES_vertex_type_10_10_10_2
GL_OES_vertex_array_object
GL_QCOM_alpha_test
GL_QCOM_binning_control
GL_QCOM_driver_control
GL_QCOM_perfmon_global_mode
GL_QCOM_extended_get
GL_QCOM_extended_get2
GL_QCOM_tiled_rendering
GL_QCOM_writeonly_rendering
GL_EXT_sRGB
GL_EXT_sRGB_write_control
GL_EXT_texture_sRGB_decode
GL_EXT_texture_filter_anisotropic
GL_EXT_multisampled_render_to_texture
GL_EXT_color_buffer_float
GL_EXT_color_buffer_half_float
GL_EXT_disjoint_timer_query

下記のページを更新しました
CPU/GPU OpenGL ES Extension (Mobile GPU)
SmartWatch スペック一覧

2014/07/11訂正: 実測結果より cpu0 しか使われておらず実質 single core 700MHz 相当でした(詳細はこちら)


関連エントリ
Android SmartWatch ZWatch で 3Dゲーム (ChiRaKS)
Android SmartWatch スマートウオッチのスペック比較表
Android SmartWatch SmartQ ZWatch (4) アプリの管理
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch


Android Wear 5.0 の新しい Witch Face API に載せ替えました。

3D imclock for Android Wear
Google play

Activity ではなく Service を使用しています。LiveWallpaper と同じです。
OpenGL 初期化や描画タイミング ( onTimeTick() ) の管理もほぼお任せで、
System UI, Card のレイアウトなどの設定も可能。
新しい API を使用したことで全体的にバッテリー消費量も減りました。

対応する描画モードは 4種類あります。

Interactive mode  通常の描画、秒針などアニメーション付き
Ambient mode      スリープ状態、1分に一度の描画更新
Protect mode      Ambient mode 時に描画面積を最小に
LowBit mode       Ambient mode 時に白黒 2階調

Protect/LowBit が有効かどうかはデバイス依存で onPropertiesChanged() によって判定します。

// G2WatchService.java
@Override
public void onPropertiesChanged( Bundle properties )
{
    super.onPropertiesChanged( properties );
    boolean protect= properties.getBoolean( PROPERTY_BURN_IN_PROTECTION, false );
    boolean lowbit=  properties.getBoolean( PROPERTY_LOW_BIT_AMBIENT, false );
    ~
}

OpenGL で直接描画しているため、画面形状への対応も自前で行う必要があります。
丸型かどうかの区別は onApplyWindowInsets() で行います。

// G2WatchService.java
@Override
public void onApplyWindowInsets( WindowInsets insets )
{
    super.onApplyWindowInsets( insets );
    boolean round_style= insets.isRound();
    ~
}

Watch Face 以外のアプリでは自分で Listener を登録できます。

// GAScreen.java
public class GAScreenView extends GLSurfaceView
          implements View.OnApplyWindowInsetsListener {
    public GAScreenView( Context context ) {
        super( context );
        setOnApplyWindowInsetsListener( this );
    }
    ~
}

Gles2WatchFaceService を使うと簡単に描画できる反面、EGL 初期化は
内部で行われており、任意の GLES Context を選べないなどいくつか制限も出てきます。

im-clock でもいくつか問題が生じていたので、LiveWallpaper のように
GLSurfaceView を使った方法も試しました。
最終的にはデバイス互換性を維持するのが難しくて断念。
結局 Gles2WatchFaceService を使い MSAA は自前で処理しています。

ChiRaKS for Android Wear では Moto 360 で画面が 90度回転してしまうとの報告を
かなり多数いただきました。
原因は Android 版で指定していた screenOrientation="portrait" が残っていたこと。
Moto 360 だけ画面が landscape 扱いとなっているようです。
ちなみに画面だけでなく使用している SoC も Moto 360 だけ異なります。

Device         SoC             GPU             CPU
--------------------------------------------------------------------
Moto 360       TI OMAP3630     PowerVR SGX530  Cortex-A8
LG G Watch 他  Snapdragon 400  Adreno 305      Cortex-A7 (1~4 core)

より詳しいスペック比較表は下記よりどうぞ

Smart Watch のスペック比較

Device             Display              Viewport
-----------------------------------------------------------
Moto 360           320x290 Landscape    (0,-30,320,320)
LG G Watch W100    280x280 Portrait     (0,0,280,280)
Galaxy Gear Live   320x320 Portrait     (0,0,320,320)
LG G Watch R W110  320x320 Portrait     (0,0,320,320)
SmartWatch SWR50   320x320 Portrait     (0,0,320,320)
ZenWatch WI500Q    320x320 Portrait     (0,0,320,320)

上記のように Moto 360 だけ 320x290 と画面が横長です。
ただしアプリケーションからは他のデバイス同様 320x320 の正方形画面に見えます。

OpenGL ES の場合どうやらデフォルトで設定されている Viewport でハードの違いを
吸収しているようです。
OpenGL は左下原点なので y に -30 のオフセットが入っています。
これを知らずに自分で Viewport を設定し (0,0,width,height) で上書きしていたため、
Moto 360 で動かした場合だけ描画が上に 30pix ずれていたことが後から判明しました。
互換性の対処のためにも日本で発売して欲しいデバイスです。


関連エントリ
Android Wear Sony SmartWatch 3 SWR50 は速い
Android Wear 3D のアナログ時計 (Watch Face)
Android Wear にゲームを移植


Android Wear LG G Watch (LG-W100) の速度(実測)」で計測に使ったアプリを公開しました。

VFP Benchmark
Google Play: VFP Benchmark for Android Wear

命令単位の実行速度など、詳細な表は Smartphone/Tablet 側で表示することができます。
ログの書き出しも可能です。
よろしければどなたか Galaxy Gear Live の結果を教えて下さい。

Android Wear と Smartphone/Tablet の通信 API は対称で、どちらも同じコードになります。
Smartphone 側からデータを送ったり Android Wear の Activity を起動することができますし、
逆も同様に可能です。
Android Wear は Android を搭載した独立したデバイスなので、対等な扱いになっていることがわかります。
このアプリはログのビューアとして Smartphone/Tablet を利用しています。


関連エントリ
Android Wear 3D のアナログ時計 (Watch Face)
Android Wear の 3D 描画 と NDK r10
Android Wear にゲームを移植
Android Wear LG G Watch (LG-W100) の速度(実測)
Android Wear LG G Watch (LG-W100)
Android Wear LG G Watch の GPU


現時点で Android Wear に使われている SoC 一覧です。

SoC CPU core GPU GL Dev
TI OMAP 3630 Cortex-A8 1.0GHz 1 PowerVR SGX530 ES 2.0 x1
MediaTek MT2601 Cortex-A7 1.2GHz 2 Mali-400 ES 2.0 x1
Snapdragon 400 Cortex-A7 1.2GHz 1-4 Adreno 305 ES 3.0
Snapdragon Wear 2100 Cortex-A7 1.2GHz 1-4 Adreno 304 ES 3.0
Intel Atom T1000 Silvermont 1.0GHz 2 PowerVR G6400 ES 3.1 x2

・Dev = 採用機種の数 (2016/12/29現在)

スマートウオッチの場合、記載されているスペックが必ずしも実際のパフォーマンスと一致していないので注意が必要です。例えば Snarpdragon 400 は Cortex-A7 の Quad core 搭載ですが、Android Wear の場合はそのうち 1~2 core しかアクティブになっていないようです。パフォーマンス面でも実質 1 ~ 2 core CPU と同等になります。

同じように動作クロックでも、仕様には 1.2GHz と表記されていても実際は 0.8GHz で頭打ちになっているものがありました。同じ SoC でも機種によってかなり性能にばらつきがあります。

下記は分かる範囲で実質スペックをまとめたものです。

SoC CPU core Device
TI OMAP 3630 Cortex-A8 1.0GHz 1 Moto 360 Gen1
Snapdragon 400 Cortex-A7 0.8GHz 1 LG G Watch W100
Snapdragon 400 Cortex-A7 1.2GHz 2 SmartWatch SWR50
Intel Atom T1000 Silvermont 0.5GHz 2 Fossil Q Founder

採用されている SoC の種類としては、Snapdragon 400/Wear 2100 が最も多くそれ以外は少数派となっています。Snapdragon が実質リファレンス相当であり反応速度も良好です。


TI OMAP 3630 は Android 2.x 時代の非常に古い SoC です。今となっていは描画も遅く性能面では見劣りしてしまいます。ですが採用している Moto 360 Gen1 は非常に人気があったので、アプリの互換性を考える場合は無視することができません。

Moto 360 の後継機は Snapdraogn 400 になりました。Snapdragon 400 はつい最近まで低価格帯の Smartphone に使われていたもので、OMAP 3630 と比べると性能差にはだいぶ開きがあります。


MT2601 を採用しているのは今のところ POLAR M600 だけです。こちらは新しい SoC なので今後採用例が増えてくるものと思われます。


Intel Atom を搭載しているのは TAG Heuer Connected と Fossil Q 初期型 Founder の 2機種になります。Fossil Q の後継機である Wander, Marshal は Snapdragon Wear 2100 になりました。

Intel はアーキテクチャが異なります。Smartphone や Tablet の場合 Atom 搭載機種には ARMv7A を x86 に変換する Binary Translator が乗っており、armeabi-v7a のバイナリがそのまま動くようになっています。Android Wear では、搭載メモリが少ないせいか Binary Translator が乗っていない可能性があります。対応 abi が x86 だけなので、NDK を使う場合は x86 の binary がおそらく必須となるでしょう。

なお TAG Heuer Connected は RAM が 1GB と倍増しており、かつ CPU も 1.6GHz と高性能がものが使われているので、こちらは Binary Translator に対応しているかもしれません。

Atom 機種の Smartwatch は SoC の詳細が伏せられていますが、GPU が PowerVR G6400 であることからおそらく Z34xx 相当の低クロック版に相当するものと思われます。性能が抑えてあるとは言え、PC 相当の x86 プロセッサが腕時計の中に収まる時代になっています。

下記ページも更新しています。

Smart Watch Spec 一覧


関連エントリ
Apple Watch S2 の CPU と浮動小数点演算
Android Wear Sony SmartWatch 3 SWR50 は速い
Android x86 Binary Translator を試してみる
Android Wear LG G Watch (LG-W100) の速度(実測)


大きさ (下:Z Watch、上:iPod nano 6G)

zwatch05.jpg

画面サイズ、解像度は同じです。1.54inch 240x240 (220dpi)
当時 iPod nano (6G) で動くアプリを作りたいと思っていました。
LiveView はレスポンスに難がありましたが、単独でアプリを走らせられる
SmartWatch ならいろいろ出来そうです。

SmartQ Z Watch

SmartWatch は 2種類あります。

(1) サブモニタ型
・一般の Smartphone や Tablet のサブモニタとして利用する
・単体ではアプリケーションが動作せず Dumb Terminal に近い
・キー入力をサーバーに送り、画面出力だけ Bluetooth で受け取る
・もっと単純なものは特定の通知だけを受け取ることができる

(2) 単独動作可能
・一般の Smartphone や Tablet を小さくして腕時計形状にしたもの
・Android 等の OS がそのまま乗っておりアプリを走らせられる
・アプリを使って (1) のような使い方もできるが、データはローカルに蓄積される
 (1画面ごとに通信するわけではない)

Sony の LiveView/MN2 系は (1) で、ZWatch は (2) に相当します。

Z Watch は右側面に電源ボタンと Back ボタンがあります。
Back ボタンは長押しで Home 相当。
左側はヘットホン端子のみで、USB&充電を兼ねています。

時計画面は Home の Widget に相当するようです。
デザインは切り替え可能。

普段はバックライトが消えていて時刻を確認できませんが、
腕のアクションで一時的に画面を点灯させることができます。
水平状態から手前に傾けるイメージ。
知らないうちに点灯してる場合結構あります。
角度をつけて机に置いた状態でも反応してしまうのが難点。

Home には他にも画面単位で Widget を追加できます。

アプリの追加や削除には PC が必要。(adb 接続方法はこちら)
Mac OS X でも adb でつながります。
adb shell では su 可能。

Android 4.1 + 1GHz single core CPU + RAM 512MB + ROM 4GB なので、
安価な Android 端末としては十分な性能。
ただし画面が小さいので、通常アプリは表示や操作に制限があります。
UI は専用に作らないと厳しいでしょう。

ソフトキーボードは入っていません。
マニュアルを読む限り、同期用に Android 端末を登録すれば
リモートキーボードとして使えるようです。

AKIBA PC Hotline: SmartDevices(智器) Z Watch
AKIBA PC Hotline: 中華な腕時計型デバイスがまた登場、Android 4.3ベースで1万5千円

設定の言語選択に日本語はありませんが、上記ページを見ると
日本語も表示されていることが確認できます。
公式サイトや上のページでは Android 4.3 と書かれていますが、
API Level は 16 を返します。つまり Android 4.1 相当。

ZWatch の JZ4775 は Paladin の JZ4770 と違い 3D GPU が搭載されていません。
OpenGL ES 2.0 を使ったアプリケーションは起動できませんでした。

↓レイアウトを調整してみました。使ってみるとこれでもまだボタンが小さく感じます。

zwatch04.png


関連エントリ
Android 4.1 SmartWatch SmartQ Z Watch


OpenGL ES 2.0/3.0 でウオッチフェイスを作ってみました。
3D で動きまわります。

imclock01.jpg
imclock02.jpg

Google Play "3D imclock for Android Wear"
3D imclock


● Install 方法

連動している Smartphone/Tablet (Handheld 端末) にインストールします。
Android Wear (Wearable 端末) にも自動的に転送が行われます。


● 時計の切り替え方

時計画面の長押し、またはメニューから変更できます。
メニューの「設定」から「ウオッチフェイスの変更」


● 描画更新について

Android Wear はスリープ中も時計表示が可能ですが、
バッテリー消費を抑えるために描画の更新速度が大幅に遅くなっているようです。
およそ 1分間隔の更新となっており、それ以外は止まっています。

・通常時 60fps
・スリープ中 0.016fps

内蔵の Watch Face がスリープ中に秒の表示を消している理由がわかりました。

ただし adb で接続している間は別で、画面が暗くなっても完全には停止せずに
描画更新が行われています。
デバッガの通信のために本当の意味でのスリープに移行できないためだと思われます。
USB 接続、Bluetooth 経由の adb 接続どちらでも同じでした。

また作っていて気がついたのですが、
Bluetooth 圏内の場合はスリープへの移行に若干タイムラグがあります。
画面が暗くなったあともしばらくは描画更新が続いており、
連動端末と何らかの通信が行われている可能性があります。

Bluetooth 非接続の場合は特に何もすることがないので、
スリープに入るとすぐに描画更新が停止してしまうようです。

このアプリは平常時 30fps で動作しています。
スリープ中はアニメーションできないので、秒針を消すと同時に
基準の位置に戻す処理を入れています。
ただし Bluetooth 圏外では完全に戻りきる前に画面が止まってしまう場合があるようです。

オリジナルの Windows 版はこちら 3D IM-clock


関連エントリ
Android Wear の 3D 描画 と NDK r10
Android Wear にゲームを移植
Android Wear LG G Watch (LG-W100) の速度(実測)
Android Wear LG G Watch (LG-W100)
Android Wear LG G Watch の GPU


Android Wear の利用には連携を行う Android 端末が別途必要です。
通信や設定管理など多くの部分を連携する Android 端末に依存しています。

しかしながら Android Wear のハードウエアは単独で動作する Android 端末と
違いはなく、OS も最新の Android 4.4W (API Level20) 。
専用アプリケーションのインストールも可能となっています。

LiveView 系 SmartWatch がホスト端末のリモートモニタとして機能していたのに対し、
Android Wear の場合は主従が逆です。
通信や操作上の都合など、足りないものを補うために連携した端末を利用している形です。

スマートウオッチには大きく分けて、単独で使用できるものと
自分ではアプリが動かないクライアントタイプの 2種類あります。

1. クライアントタイプ (ホスト端末が必要)
 ・通知だけ受けるタイプ
 ・アプリケーションはホスト側で動き、入出力だけ行うもの(SONY LiveView)

2. 単独で動作するタイプ
 ・機能固定 (スポーツなど特定用途向け)
 ・独立したコンピュータとして機能するもの

Android Wear は独立したコンピュータとして機能しますが、
連携した Android 端末が近くになければ活用できない仕組みになっています。
通知などのネット接続はもちろん、Android Wear の有効な入力手段は音声なので
ボイスコマンドやテキスト入力にもインターネットが必要になります。
逆に歩数計 (Fit) のように、ネット接続がなくても特に困らないアプリもあります。


SmartQ Z Watch との比較

gwatch_lgw100_01.jpeg
↑左が LG G Watch LG-W100, 右が SmartQ Z Watch

見た目はほぼ同じ大きさで、数値上は G Watch の方が少し小さいようです。
実際に手にすると G Watch の方が表面積が大きくだいぶ薄く感じます。

スペック        LG G Watch LG-W100      SmartQ ZWatch
-------------------------------------------------------------
SoC             Snapdragon 400 MSM8226  JZ4775
CPU             Cortex-A7               XBurst
ISA             ARMv7A                  MIPS32-R2
Clock           1.2GHz                  1.0GHz
Core            4 core                  1 core
FPU             VFPv4+NEON              FPU
3D GPU          Adreno 305              --
OpenGL          ES 3.0                  --
OS              Android 4.4W            Android 4.4 (GApps無し)
RAM             512MB                   512MB DDR
ROM             4GB                     4GB
Display         280x280 (1.65inch)      240x240 (1.54inch)
Bluetooth       4.0                     4.0
Wi-Fi           --                      b/g/n
Size            46.5x37.9x9.95          49.9x38.5x12.2
Weight          63g                     42.5g
Battery         400mAh                  300mAh
Application     Wear専用                Android汎用
Sensor          Acc,Gyro,Compass,Mic    Acc,Mic
Button          --                      Power,Back
Connector       充電(USB)               3.5 Headphone(USB/充電兼)

Android Wear LG G Watch の GPU
SmartQ Z Watch Specifications

2014/07/11修正: G Watch は 4core のうち 1core しか使われてないものと考えられます(詳細はこちら)


◎時計として

Z Watch は腕の傾きで画面を表示させるオプションがありますが、
何かと誤動作が多く不安定です。
傾き以外のスリープ解除はボタン操作なので、
腕時計としては時刻を確認しづらいのが難点。

LG G Watch は常に画面を表示させておくことが可能です。
一定時間経つと背景が暗転して輝度が落ちますが時刻表示は残ります。
時計として活用するには十分でしょう。
バッテリーの持ちが心配なら完全に画面 OFF にすることもできます。
この場合も画面に触れるだけですぐ点灯するので面倒はありません。
Z Watch 同様に腕の傾きでも復帰します。
腕につけていると知らないうちに画面が光ってる場合あり。

待機状態への移行 (画面全体を手で覆う操作) は、輝度センサーではなく
画面の広範囲のタッチで判定しているようです。
3本指のタッチでも認識します。


◎ストレージ

Z Watch は USB 接続 (MTP) で直接データを送ることが可能。
音楽データを転送すればプレイヤーとして利用できます。

G Watch の内部ストレージには直接アクセスすることができません。
端末情報にストレージや空き容量の項目が無いのでもともと想定していないようです。
adb 接続では普通にアクセス可能で、/sdcard/Music や DCIM もありました。
3GB 近く空いていることを確認。


◎アプリケーション

Z Watch は通常の Android をスマートウオッチ向けにカスタマイズしてあります。
非常に小さい Android Tablet のようなもの。
普通のアプリも動きますが、画面が小さいため使い物になるかどうかはアプリ次第です。
特に操作面で難があります。

G Watch は Android 端末側でインストールすると自動的に同期が行われます。
専用の管理画面はないので、正しくインストールされているのかどうか
少々不安になることがあります。
デバッグ実行できるので adb を使った直接 install も可能。


一見そのままアプリが動く Z Watch の方が便利そうに見えますが、
使ってみると操作上の問題が非常に大きいことがわかります。
小さい画面にレイアウトを合わせるだけではだめで、細かい操作や文字入力が苦手です。

Android Wear はこれらの問題を解決することに重点が置かれているようです。
極力操作しなくて済むよう徹底されており、文字入力は音声を用い
アプリの導入管理や設定も連携した Android 端末側で行います。
本体の操作は画面のスライドなど非常に簡単なアクションのみ。

その代わり専用に作られたアプリケーションが必要です。
当初は数が少なくても、使えるものだけ揃っていることになります。
快適さや実用度は大きく上回っていると言えます。


●トラブル等

Android 4.3 以降の条件は結構敷居が高く、日本だと半年前に発売された
スマートフォンでも使えない可能性があります。(半年前)
手持ちのスマートフォン端末にも無かったので Nexus 7 とペアリングしました。

最初アプリケーションの導入ができず、G Watch に反映されない問題ではまりました。
Android Wear アプリの再インストールや、LG G Watch の初期化(リセット)
が有効でした。
試してから気がついたのですが、メニューにある「端末をリセット」は
再起動ではなく端末の初期化(消去)のことでした。


●最後に

4 core CPU に 3D GPU 搭載と、予想以上に性能が良かったので今後登場するアプリや
さまざまな活用方法に期待できます。
Chromecast よりも総合スペックは高いです。
普段腕時計している人にとっては、時計として使える点も重要でしょう。

2014/07/11訂正: 実測結果より、cpu0 しか使われておらず実質 single core 700MHz 相当でした(詳細はこちら)


関連エントリ
Android Wear LG G Watch の GPU
Android SmartWatch ZWatch で 3Dゲーム (ChiRaKS)
Android SmartWatch スマートウオッチのスペック比較表
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch
Android LiveView MN800 プラグインの作り方
LiveView MN800 Android のマイクロディスプレイ


使いやすくてびっくりした!

YouTube gesture10key改造版(g10k3)デモ on 03
↑大変わかりやすいです。


詳細は下記から
gesture10key/gesture10keyr

様々なバリエーション
gesture10key改造ファイル


●他の sip データも探してみました。
どれも工夫されたものばかりで良く作り込まれています。


hp49g+
とあるhx2490bユーザーのメモ hp49g+
  ダウンロードはこちらから


ニコタッチ (2タッチ/ポケベル入力)
ときどきもばいる p905i_nt_sip


タイ語、HTC Touch Dual 風
El Camino Real 英語 日本語 タイ語 入力 スクリプト
El Camino Real HTC Touch Dual 風 各種入力パネル


emonsip
Desire for wealth emonsip

emonsip バリエーション
C_andY の iPHONE + WINDOWSMOBILE メモ emonsip★ネイル用スキン完成\(*^▽^*)/

  C_andY の冷蔵庫

emonsip バリエーション 英語キーボード対応
Smart Phone memo emonsipのキーコードをX01HT仕様に変更成功!


ページ送りキー
伊藤浩一のW-ZERO3応援団 pageupdownsip3color


srkeyboardsip 改良版
小人閑居為不善 SIPローマ字変換用スクリプト改変(続)


フルキータイプ
モバイル日記(旧ほぼW-ZERO3[es]日記?) TouchKeySip用自分カスタマイズキーボードV1.2 [WM(自作ツール未満・・・)]


他にもあるかと思います。抜けていたらごめんなさい。



Sony SmartWatch3 の vfpbench スコアを送っていただきました。
LG G Watch (LG-W100) よりも速く、実際に 1.2GHz 出ているものと思われます。
またきちんと確認していませんが 2 core 生きている可能性もあります。

// SmartWatch 3 SWR50
// MSM8226 Cortex-A7 1.2GHz x4 (1.2GHz x2?)

ARCH: ARMv7A
CPU core: 4
VFP: VFPv4-D32 NEON
FMA: Yes
NEON: Yes
Result
  SingleT SP max:  2.257 GFLOPS
  SingleT DP max:  1.144 GFLOPS
  MultiT  SP max:  4.946 GFLOPS
  MultiT  DP max:  2.278 GFLOPS

Motorola Moto 360 以外はどれも同じ Snapdragon 400 (MSM8226) の
横並びですが、予想外に違いがあるようです。

device                SoC             CPU       SoCのspec   実質
----------------------------------------------------------------------
LG G Watch   LG-W100  Snapdragon 400  Cortex-A7 1.2GHz x4   0.8GHz x1
LG G Watch R LG-W110  Snapdragon 400  Cortex-A7 1.2GHz x4   ?
Galaxy Gear Live      Snapdragon 400  Cortex-A7 1.2GHz x4   ?
ASUS ZenWatch WI500Q  Snapdragon 400  Cortex-A7 1.2GHz x4   ?
SmartWatch 3 SWR50    Snapdragon 400  Cortex-A7 1.2GHz x4   1.2GHz x2?
Motolora Moto 360     TI OMAP3630     Cortex-A8 1.0GHz x1   1.0GHz x1

同様に Motorola Moto 360 の結果も頂いたので下記にまとめます。
スコアから見てこちらは Cortex-A8 の 1.0GHz で動いているものと見られます。

device (4.4W.2)       SP-ST   DP-ST   SP-MT   DP-MT
-----------------------------------------------------------
LG G Watch LG-W100    1.419   0.742   1.367   0.676  GFLOPS
SmartWatch 3 SWR50    2.257   1.144   4.946   2.278  GFLOPS
Motolora Moto 360     3.739   0.126   3.376   0.125  GFLOPS

  * SP=単精度, DP=倍精度, ST=SingleThread, MT=MultiThread

一見 Moto 360 が一番速いようにみえるかもしれません。
ピーク値で突出しているのは Cortex-A8 が 64bit 幅の NEON ALU を
持っているからです。(Cortex-A7 は 32bit幅)

実際は世代の古い SoC を採用しており Moto360 の CPU Core も数世代前のものです。
倍精度(DP)の結果を見てわかるように、VFP 演算では他の CPU の 1/5 以下の速度となります。
浮動小数点演算を多用している一般的なアプリケーション (NEON未使用) では
おそらく Moto 360 の方が低速でしょう。
この辺りは VFP Bencmark で命令毎の数値を比較するとよくわかります。

詳しいログを下記ページに追加しました

VFP Benchmark Log

もし他のデバイスのログをお持ちの方がいましたらぜひ送ってください。


関連エントリ
Android Wear VFP Benchmark
ndroid Wear LG G Watch (LG-W100) の速度(実測)


昔作成した 3D ポリゴンのゲームを移植してみました。
CPU だけでレンダリングしているので、3D GPU が入っていない Z Watch でも動きます。

zwatch_chiraks01.png

ChiRaKS (Android)

当時 (2000年) は SH3 30~60MHz の SHARP MI-Zaurus (PDA) で動いており
160x160 サイズのレンダリングでぎりぎり 30fps に届かない程度でした。

その後移植した PocketPC (WindowsCE/WindowsMobile) では、すでに iPAQ に
StrongARM (206MHz) が搭載されており 100fps も余裕で超えています。
同世代の MIPS VR4122 端末 (150MHz) は StrongARM の 1/3 くらいの速度でした。

現在のハイエンド端末は single core でも Zaurus の 100倍以上速いので
1080x1080 サイズのレンダリングでも 60fps 近く出ます。
ただし 32bit 固定小数点演算を行っている関係上、演算がオーバーフローしてしまう
問題があったため、アプリでは最大解像度を 540x540 に制限しています。

Z Watch (JZ4775 MIPS) の画面は 240x240 と小さいこともあり余裕です。
設定の NoWait にチェックを入れると 60fps 出ていることがわかります。

レンダリングには NDK の Bitmap API を利用しています。

#include  <android/bitmap.h>
~
void Render( JNIEnv* env, jobject obj, jobject bitmap_object )
{
    void* ptr= NULL;
    AndroidBitmap_lockPixels( env, bitmap_object, &ptr );
    ~
    AndroidBitmap_unlockPixels( env, bitmap_object );
}


関連エントリ
Android SmartWatch スマートウオッチのスペック比較表
Android SmartWatch SmartQ ZWatch (4) アプリの管理
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch


VFP Benchmark を走らせてみました。

ARCH: ARMv7A
FPU: VFPv4-D32 NEON
SingleT SP max: 0.951 GFLOPS
SingleT DP max: 0.470 GFLOPS
MultiT  SP max: 0.945 GFLOPS
MultiT  DP max: 0.469 GFLOPS
CPU core: 1
NEON: yes
FMA: yes

詳細な結果はこちら。

VFP Benchmark Log

下記は抜粋です。

* VFP/NEON (single fp)               sec     MFLOPS     MFLOPS
--------------------------------------------------------------
VFP fmuls (32bit x1) n8       :    2.649      453.0      453.0
VFP fadds (32bit x1) n8       :    2.557      469.3      469.3
VFP fmacs (32bit x1) n8       :    2.586      928.2      928.2
NEON vmul.f32 (32bit x4) n8   :   10.097      475.4      475.4
NEON vadd.f32 (32bit x4) n8   :   10.182      471.4      471.4
NEON vmla.f32 (32bit x4) n8   :   10.165      944.4      944.4

* VFP/NEON (double fp)               sec     MFLOPS     MFLOPS
--------------------------------------------------------------
VFP fmuld (64bit x1) n8       :   10.164      118.1      118.1
VFP faddd (64bit x1) n8       :    2.554      469.8      469.8
VFP fmacd (64bit x1) n8       :   10.746      223.3      223.3

Single core で VFPv4 と NEON に対応していることがわかります。
ただし NEON でも結果はスカラーと同じ速度しか出ていません。(上の表の MFLOPS)
また倍精度の乗算速度も加算の 1/4 まで落ちています。

これらの特徴を踏まえると Cortex-A7 が使われているものと思われます。速度を見る限り実行クロックは 500MHz 程度でしょう。CPU core 毎の浮動小数点演算能力 (特徴) は下記にまとめています。

CPU の浮動小数点演算能力の詳細

Apple S1 のアプリケーションプロセッサは Android Wear に使われている Snapdragon 400 と比べると少々非力です。CPU core は同じですがクロックはおよそ半分で Single core になります。

↓ 一応 Apple Watch で ChiRaKS 動きました。まだ操作と速度に問題があります。

chiraks_awatch01.png


関連エントリ
iPod touch 6 の浮動小数点演算速度は Core 2 Duo ライン超え
Android Wear Sony SmartWatch 3 SWR50 は速い
iPad Air 2 (Apple A8X) の浮動小数点演算能力
Android Wear VFP Benchmark
ndroid Wear LG G Watch (LG-W100) の速度(実測)
VFP Benchmark 関連


MIPS 版の debian があったので試してみました。

Linux on Android

Debian-MIPS.zip を解凍すると image file が 2GB になり
そのままでは内部ストレージから溢れます。
実際の容量は 200M くらいなので、500M の新しい image file を作って
中身を全部コピーしました。
/sdcard/debian の中に debian.img として入れています。

アプリは使いません。
起動スクリプト debian.sh (debian-script.zip) はそのままでは使えないので、
必要な箇所を書き換えて adb shell から直接実行しています。

adb shell では su で容易に root になれます。
最初から busybox も入っています。

system update 直後は /system が rw で mount されているので、
この状態なら chroot で Linux を起動できます。
Z Watch を再起動すると /system は ro に戻りますが、
下記公式ページのドキュメントにあるように rw で remount できます。

SmqrtQ Z Watch Programming Guide

device 名が異なるので、debian.sh の最初で mount (remount) している
命令を削除します。

#mount -o remount,rw /dev/block/mmcblk0p5 /system

cut, grep, sed, umount などの存在しない命令は、
前に busybox を挿入します。

perm=$(id|cut -b 5)
↓
perm=$(id|busybox cut -b 5)

image file のパスは直接変数 kit に代入します。

export kit=$(dirname $0)
↓
export kit=/sdcard/debian

あくまで動くだけ。
もしアプリが root 権限で走るなら、端末の terminal からも
実行できるでしょう。


関連エントリ
Android SmartWatch スマートウオッチのスペック比較表
Android SmartWatch SmartQ ZWatch (4) アプリの管理
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch


SmartQ Z Watch を買ってみました。Android の SmartWatch です。
Bluetooth 経由の RemoteDisplay だった LiveView と違い、
単体で Android 4.1 が動作しています。

zwatch01.png

スペックによると中身は Ingenic JZ4775。
CPU は Xburst 1.0GHz で ainol Novo 7 Paladin と同じ mips です。
RAM も同じく 512MB。下記は ZWatch 実機より cpuinfo。

system type		: s2122b
processor		: 0
cpu model		: Ingenic Xburst V4.15  FPU V0.0
BogoMIPS		: 812.64
wait instruction	: yes
microsecond timers	: no
tlb_entries		: 32
extra interrupt vector	: yes
hardware watchpoint	: yes, count: 1, address/irw mask: [0x0fff]
microMIPS		: no
ASEs implemented	: mxu
shadow register sets	: 1
kscratch registers	: 0
core			: 0
VCED exceptions		: not available
VCEI exceptions		: not available
Hardware		: s2122b

基本的には他の SmartWatch と同じように、母艦となる Android Smartphone
と Bluetooth 同期する使い方が想定されているようです。

そのため内蔵のアプリケーションは最小限で設定項目もごくわずか。
アプリケーション管理も無いので、単独で Z Watch 側のアプリの
追加や削除を行う方法が見当たりませんでした。

USB 接続で MTP ストレージとして認識するのでアクセスは容易です。
内部ストレージに update.zip を転送して、
Settings から Firmware Upgrade を選ぶだけでファームウエアの更新が可能。

Firmware 1.9 に更新したところ FileManager が追加されており、
Z Watch 単独で内部のファイルを閲覧できるようになりました。
FileManager で apk を開くと一度ブロックされますが、
ここから提供元不明アプリのインストールを許可することが可能です。
(設定からは出来なかった)

また偶然 Settings → About の Model number を連打していたら
Usb debug を Enable に切り替えられることがわかりました。
再び連打すると Disable になります。

Driver は inf 書き換えで google のものを利用できます。
USB 接続で adb が使えるようになったので、任意アプリの
install / uninstall 方法が確保できたことになります。

画面が狭いだけで普通の Android Device と変わらないようです。
内部ストレージ (/sdcard) は 2GB、System ストレージ (/data) が
およそ 1GB (900MB free) となっています。

install したアプリアイコンもメニューに追加されており実行できます。
Eclipse から直接デバッグも可能。
下記画像は ADT (DDMS) からキャプチャ。

zwatch02.png zwatch03.png
↑ Chot Calculator も画面が小さくキーが潰れてるが一応動作 (NDK使用)

母艦と同期するサブ画面的な用途ではなく、
単独でさまざまなアプリを入れて持ち歩ける超小型デバイスとしても
活用できるのではないかと思っています。


関連エントリ
Android 4.0 MIPS で RenderScript, ainol Novo 7 Paladin の浮動小数点演算速度
Android 4.0 ainol Novo 7 Paladin、MIPS CPU の NDK と Vivante GPU
Android LiveView MN800 プラグインの作り方
LiveView MN800 Android のマイクロディスプレイ


zwatch08.jpg

キーの数を減らして長押しに割り当ててみました。
これなら押せます。(右側の文字は長押し)

zwatch09.png

メニューも出ます。

zwatch10.png

ヒストリやメモリー保存もあり。


ちょっと電卓 ZW (Google Play) (2013/12/01追加)


関連エントリ
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch


壁紙も貼れます。

zwatch11.png zwatch12.png

LiveWallpaper は無理っぽい。
PDF も開けるのでドキュメントを入れておくことも一応出来ます。

zwatch13.png

画面は小さいけどマルチタッチ使えました。
拡大縮小操作が可能で、とりあえずプログラムで 4点まで取れることは確認。


ES File Explorer が動きました。
(壁紙の設定も ES File Explorer から)

これで PC につないで adb コマンドを打たなくても
アプリの管理 (主に uninstall) ができるようになります。

左上のアイコンからスライドメニューを開いて、
Tools の中の AppManager を選ぶと下記の通り。

zwatch14.png zwatch15.png

これでアプリの削除が簡単です。

Home 画面はセンターが時計 Widget (上下で face 切り替え)、
右側がアプリ一覧、左側が Widget です。
Wedget はサイズによらず、画面いっぱいに引き伸ばされるようです。

zwatch16.png


関連エントリ
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android SmartWatch SmartQ ZWatch (2)
Android 4.1 SmartWatch SmartQ Z Watch


プラグインを作ってみました。

liveview_watch2.jpg

3地域同時表示の手抜き世界時計です。

世界時計 watch2.apk

前回 書いたように LiveView MN800 のアプリケーションは親機の Android で
動いています。画面出力とボタン入力は Bluetooth を介して行われます。

プラグインは大きく分けて 2種類あります。

 (1) 通知 プラグイン
 (2) Sandbox プラグイン

(1) メールのように着信をテキストで通知する場合は指定の API でテキストを
送るだけです。標準的なユーザーインターフェースが予め用意されています。

(2) Sandbox プラグインは描画やボタン操作を全て自前で処理します。
使える描画手段は bitmap の転送だけです。
イメージデータを用意すれば、API を呼ぶだけで Bluetooth 経由で LiveView の
画面に送られます。


● Android SDK

Plug-in は Android アプリそのままなので、Android の開発環境が必要です。

SDK install 手順

LiveView Plug-in の場合、上記手順のうち Cygwin と NDK は不要となります。


● LiveView SDK

Create Android plug-ins for LiveView micro display

上記の場所から LiveView の SDK とドキュメントをダウンロードすることが
できます。


● LiveView SDK のサンプルを動かす

ダウンロードした LiveView_SDK_v1.01.zip を適当なフォルダに展開しておきます。

1. Eclipse を起動し File → Import
2. General を開いて「Existing Projects into Workspace」を選択 → Next
3. Select root directory の右の [Browse...] をクリック
4. 展開しておいた LiveView_SDK 内の sandboxPlugin を選択して OK
5. sandboxPlugin にチェックが自動で入るので Finish

Package Explorer で sandboxPlugin を選択してメニューの Run → Run 。
実機 (親機) が adb 接続してあるならこれで sandboxPlugin がインストール
されます。

「LiveView アプリケーション」を起動し タイルをカスタマイズ→プラグインの管理
を開き、プラグインが読み込まれていることを確認します。
設定で Enabled にチェックを入れたら LiveView 本体側で確認します。


● LiveView の API

SDK 付属のサンプルやテンプレートにはソースコードも多数含まれています。
一見難しそうに見えますが、プラグインのプログラムは
SandboxPluginService.java だけです。

API そのものは下記のファイルで定義されています。

IPluginServiceV1.aidl
IPluginServiceCallbackV1.aidl

中を見ると API 自体は非常にシンプルで数も少ないことがわかります。

その他の java コードはプラグインの雛形として使えるライブラリです。
必ずしも必要ではありませんがよく使う使われる処理がまとまっています。

基本的にはサンプルか Template をコピーし、必要な部分を置き換えていく
形になるかと思います。


●世界時計を作ってみた

サンプルの sandboxPlugin 自体にすでに簡単な時計機能が含まれています。
これを参考にして作ってみました。
ただし出来る限り機能を単純化(手抜き化)します。

(A) 表示は分単位にします
 sandboxPlugin は 1秒単位で画像を更新していますが、遅くなるし
 バッテリーを消耗しそうなのでやめておきます。

(B) 自動更新しません
 LiveView は操作しなければ 20秒くらいですぐ画面が消えます。
 1分未満ですぐ画面が消えるだろうとの予測の元、リアルタイムに表示を
 更新しないことにします。

時計として使う場合どうせボタンを押さなければ画面が表示されないので、
割りきってしまうことで画面の送信タイミングが下の 2つだけになります。

  ・プラグイン起動時
  ・画面が ON になった瞬間

自動更新しないので Timer 処理も不要となり、終了手順は何もしなくて
よくなりました。

もちろん表示時刻は厳密には正確ではありません。
1分程度の誤差が出るため、表示時刻の方を 30秒進めておきます。

世界時計 (watch2) ソースコード LiveView_watch2_v100.zip

セレクトボタンを押した場合も表示を更新するようになっています。
押すたびに下部の 3連アナログがランダムなサイコロに切り替わります。


●プログラムの説明

プラグインは WatchService.java です。

画面を更新したいタイミングで upgradeTime() を呼びだしています。
Handler に渡していますが、描画する内容自体は sendImage() で作られます。

128x128 dot の画像を生成し、その中に表示すべき情報を構築しています。
最後の mLiveViewAdapter.sendImageAsBitmap() でデータの送出です。

画面の更新速度は Bluetooth の通信状況に依存します。
プラグイン起動直後など、Bluetooth の通信が始まるまではしばらく待たされる
ことがあります。

watch2 の場合は特に画面 ON の通知が来てから表示の更新を行うので、
データが届くまでの間 LiveView の画面には古い時刻が表示され続けてしまいます。
時計としては致命的なので、画面 OFF のタイミングで「更新中」の文字を
転送しておきます。

 1. 表示が消える
 2. 画面 OFF のイベントが Plug-in に届く
 3. 「更新中」の文字を転送しておく (clearImage())
 4. 表示は消えているが LiveView の画面には「更新中」の文字がブレンドされる

 5. 電源ボタンを押すなどして画面が点灯する
 6. 4. の状態の画面が表示される。(つまり更新中マーク入り)
 7. 画面 ON のイベントが Plug-in に届く
 8. 現在時刻をもとに新しい画面を作って送信する
 9. LiveView の画面に最新の時刻が反映される


●startWork()/stopWork() とは何か

プラグインでは startWork()/stopWork() の定義が必須となっています。
これは AbstractPluginService から呼ばれるもので API には特にありません。

LiveView Plug-in の設定画面によく出てくる "Enabled" を実現するための
代物のようです。プリファレンスで Enabled のチェックを切り替える度に
この startWork()/stopWork() が呼ばれています。


●LiveView plug-in

プラグインの構造自体は画像を作って送信するだけなので、非常にわかりやすい
ものでした。Android のアプリそのままなので、いろいろ応用もできるし用途は
工夫次第だと思います。

ただやはりボタン反応は思うように動かないことがあり、操作性が悪く感じる
場合があります。一度動き出せばスムーズに反応するので、Bluetooth の
ネゴシエーションか省電力モードからの立ち上がりの遅延かもしれません。


関連エントリ

LiveView MN800 Android のマイクロディスプレイ


SHARP メビウスのモニターに当選してしまいました。

募集がすぐ終わったとか倍率高いとか新しいセンサーを使っているとか、
ちょうどその話をしていた直後だったので目を疑いました。
なにせ「募集時点ではスペックや詳細が未発表だったので、自分はもっと小型の
デバイスを期待してた・・」とかその場で興味なさそうに発言してた本人が
当たってしまったのだから尚更です。

すでに発売されているようですが、モニター自体は来週以降なので少々待たされます。

SHARP Mebius PC-NJ70A

スペック的にはほぼ一般的な Atom N270 PC です。
特徴的なのは独自のタッチパッド。
液晶画面がついているだけでなくセンサーも兼ねた代物で、画素一つ一つが光を
読み取っているようです。
この新しいデバイス&センサーは使ってみたいところです。

もう1つ興味あるのは、タッチパッド部の液晶も結構解像度が高いこと。
854x480 ドットというと初代 EeePC 701 とほぼ同じ広さな訳ですから
この中でデスクトップやらブラウザやら普通に動かしていたことになります。
タッチパネル部のサブ画面をウィンドウズでどこまで自由に使えるかわかりませんが、
画面を広くするためのひとつの方法かもしれません。

思い返すと初めて買ったノート PC がSHARP メビウス ワイド PC-W100 でした。
メビウスワイドの画面は偶然にも同じ 1024x600 ドットです。

ネットブックが出てから 1024x600 ドットはごく普通のありふれたサイズに
なりましたが、13年前の当時は大変珍しいものだったのです。
横をのばしたというよりも 1024x768 から縦を削ってキーボードを圧迫せずに
本体サイズを小さくしようとしたもの。

当時のスペックをあらためて見ると Windows95 で RAM は 16MByte に HDD 1GByte。
CPU も Pentium 133MHz。さすがに 13年の年月を感じます。
これでも当時は DirectX3~5 を入れて Direct3D の RampDriver でプログラムを書いていました。

メビウスワイドから今まで、この間に使ってきたノート PC は
1024x600~1024x768 が圧倒的に多かったことに気がつきます。
記憶容量も演算速度もバス速度も描画速度も著しく向上しているはずなのに、
意外なほど長期間にわたって小型ノート PC の解像度が変化しませんでした。

もちろん最近は LOOX U の 1280x800 や VAIO type P の 1600x768 のように、
より詳細な液晶画面を搭載するものも出てきています。

PC-NJ70A を見て思ったのは、高解像度化に消極的なメインの液晶画面の代わりに
サブモニタを増やしてマルチ画面化するのも小型ノートパソコンの方向の 1つとして
ありなのかもしれないということ。
CPU が Multi core 化するように。

あとはサブ画面をどこまで自由に使えるか。
もしかしたら Windows SideShow でしょうか。
無理かもしれないけど理想はデスクトップの延長として使えることです。
Windows7 だと multi touch API が整備されているので、もしドライバがあるなら
すぐにでも使いたいところです。
現在 Multitouch 対応 PC として HP TouchSmart PC IQ800 を触っていますが
外周にセンサーを配置した光学式で 2点まで同時に識別することができます。
PC-NJ70A ではもっと自由に点を取れたらいいですね。

期待点まとめ
・タッチパッドとして
・画面の拡張、サブ画面として
・マルチタッチ対応センサー付きモニタとして
・別の入力手段として、位置的に親指シフトキーを配置できたりするかも


関連エントリ
Windows7 とマルチタッチ / HP TouchSmart PC IQ800


ゲームを Android Wear に移植してみました。

chiraksw_capture4.jpg

Google Play ChiRaKS Android Wear
解説ページ


● Install 方法

連動してる Smartphone/Tablet (Handheld 端末) の方から Google Play にアクセス
してインストールします。
Android Wear (Wearable 端末) にも自動的に転送&インストールが行われます。


● 起動手順

 1. 画面を2回タップして下からシステムメニューを引き上げ
 2. 一番下の 「開始...」 からアイコンを選択


● Uninstall 方法

Smartphone/Tablet (Handheld) 側でアンインストールすると
Android Wear (Wearable 端末) からも削除されます。


● アプリの中断&終了手順

画面全体を手で覆うと時計画面 (ロック画面) に戻ります。
完全に終了させるには Menu から "終了" を選んでください。


● Android Studio

SDK の Android Wear サンプルは全て Android Studio 向けです。
Eclipse+ADT ではプロジェクトの新規作成に失敗したので
サンプルを参考に Android Studio で作成しています。
もともと ZWatch で動いていたので修正は Project まわりと UI のみ。


● NDK

NDK のサンプルも Android Studio に変換できますがビルド環境も統合されます。
src 以下にあるファイルはすべてビルド対象となるようです。
C/C++ は独自の Build ツールを使用していたので分離しました。
最終的に build/intermediates/ndk/debug, release 以下にファイルが
存在していればパッケージに含まれるようです。
ただし Clean で消えます。


● 実行&デバッグ

デバッグは直接 Android Wear (Wearable 端末) 上で行えます。
adb で apk の install も可能。
アプリ管理メニューがないので削除は adb uninstall が必要です。

Round, Square 2種類あるので画面に合わせたレウアウトの調整が必要です。
サンプルにもある WatchViewStub では、それぞれ個別に layout ファイルを
持つことができます。

デフォルトでは画面のスライド(画面左から右フリック)で Back になります。
またサンプルに組み込まれている DismissOverlayView は画面長押しを判定しています。
ゲーム操作と相性が悪いので Activity の dispatchTouchEvent() で使い分けています。
画面全体を手で覆う操作 (ロック画面への復帰) はそのまま使えます。


● Handheld 側アプリの追加

アプリケーションパッケージは単体では配布できず Handheld 側のアプリが必要。
Android Studio の New Module... であとから追加することが可能。
内容は通常の Android アプリと同じです。
Wearable 側のアプリ名を wapp , Handheld 側のアプリを happ とすると、
下記のファイルを編集します。

happ/build.gradle

すでに dependencies block があるのでその最後に追加。

dependencies {
    ~
    wearApp project( ':wapp' )
}

↓ settings.gradle にも追加

include ':happ', ':wapp'

Handheld 側 happ を Release build すると assets に wapp の apk が入ります。


関連エントリ
Android SmartWatch ZWatch で 3Dゲーム (ChiRaKS)
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android LiveView MN800 プラグインの作り方