Month: 9月 2011

ASUS EeePC X101 review (使用編)

無事帰宅したので、さらにMeeGoを使ってみることにした。

とりあえず、山では暗くて見えなかったハードウェアまわりから見ていく。

まず何よりキーボード。

キーボード

(アメリカで買ったのだから当然だが)USキーボードなのはすばらしい。が、どう見ても変態配列。まず5列なのでF1-F12がFnと同時押し必須。そしてEscに追いやられたバッククオートがEnter右下にある(写真参照)。この微妙な配列と、極限まで浅いキーストローク、足りないキーの奥行きによって、とても打ちにくいキーボードが完成されている。最初から期待はしていないが。

右側面

そして右側面にはmicroSDスロットがある。普通のSDじゃないのは仕方ないのだろう。16GBのを調達してさしておいた。

左側面にはアダプタ差し込み口があるが、非常に細いプラグとなっていて心許ない。さすがに折れるようなことは無いだろうが、PSP用のアダプタのプラグよりだいぶ細いってどういうことなんだろう。

天板

そして天板は表面に細かい凹凸の加工がしてあるがプラの質感そのままの出来。パームレストと共通。微妙に手の脂が目立って悲しい。剛性は十分で、特に強度的な不安は覚えないのが凄い。

そして裏面のゴムをむしりとってネジをとり、フタをあけるとメモリとSSDにアクセスできる。

SSDとメモリ

左がPCI_Express miniSSDで、ネジを1本外すと飛び上がってくる。予想に反して普通に交換できそうだったので、8GBで足りなければ適当に買って換装しよう。メモリは普通のDDR3 SO-DIMMっぽいけど、MAXが2GBらしいので、1回換装したら終わりですね(換える前提)。メモリがエルピーダだったのはポイント高い。

というわけで、ハードウェアとしては異常にチープだけど、値段のわりには遊べそうなので大変満足です。とりあえずお金が無いのでハードウェア的にはしばらくそのままかなあ。

 

で、日本語が入れられない件はSKKのかわりにAnthyを入れたら解決した。端末からscim-anthyパッケージを入れるだけなのだが、マネージャがZypperというものらしく、suになってから、

# zypper install scim-anthy

とやったらインストールできた。yumだとパッケージは見つかったみたいだけどエラー。んでscimの設定かえてAnthyにしたら無事日本語が入力できるようになった。すばらしい。

ちなみにデフォルトで入ってるFacebookとTwitterクライアントは認証情報を忘れたり思い出したりするっぽくて(無線が安定していないだけか?)まったく使い物にならない。あとユーザ名がUser固定でパスワード1つでログインしたりsuしたりできるのが割と謎ではある。

基本的にLinuxを期待しているとMeeGoの使い勝手はまったく期待外れでしょうね。一応Chromiumと端末は使えるのでギリギリ耐えられるけど、近いうちにUbuntuに入れ換えることになると思う。

 

 

 

 

ASUS EeePC X101 review (開封編)

ASUSのX101(ASUS X101-EU17-BK 10.1-Inch Netbook)がついに発売されたので、ちょうどアメリカに行っていた友人に頼んで買ってきてもらった。薄くて軽くて安いので、おもちゃとしては最適だろうと。値段は日本円にして18000円くらい。円高ばんざい。日本語でレビュー記事を見ないのでとりあえずレビューを書いていこうと思う。

で、その友人が帰国したので、ちょうど会ったときに受け取ってきました。富士山で。

富士山須走登山口(標高2000m)に届けられたX101

タイムラプス撮影中(前の記事参照)に暇で仕方がなかったので、待ちきれず開封。真っ暗な山で(当然この先の写真はない)。

適当にセットアップを進めていくと、「USBメモリにリカバリイメージを作成しますか?今しか作成できません」との表示が。8GB必要らしいし、もちろんそんなもの無いので、作成せず続行。困ったらUbuntu入れればいいだろ。他には大した関門も無くあっさりセットアップ終了。MeeGo OSなので、なにがなんだかわからない。Linuxベースとのことらしいけど、何系のディストリビューションなのかもよくわからない。

とりあえずChromiumは動くし、WiFiには問題なく繋がったのでネットが出来ることは確かめられた。

ただ、日本語が打てない。正確には、Ctrl + SpaceでSCIMが立ち上がるのだが、SKKというのしか入っておらず、使い方がさっぱり分からない。ひらがなしか入力できない。なんてこったい。とりあえずこの日は大切に箱にしまって帰宅した。

NEX-5で微速度(タイムラプス)動画を撮る

ざっくりした手順は

  • インターバルリモコンを用意する
  • カメラを固定してお好きな間隔で写真を撮る
  • 1枚を1コマとして動画を作成
  • ウマー

以上。

インターバルリモコンを自作

インターバルリモコン?はソニーから発売されてないので、どこかから調達しなくてはいけない。自作して少量売っていた人もいたようなのだが、とっくに売り切れているので自作するしかない。

1. 純正リモコンの信号を見る

まず信号を知る必要があるので、ソニーのカメラのリモコンを調達する。たぶんテレビのリモコンと同じ方式だろうと高をくくり、秋月のセンサをオシロにつないで出力を見てみると普通に波形が見えた。テレビと同じで38kHzのキャリア波で信号を送っているらしい。

詳しいフォーマットは調べても分からなかったので、オシロの画面で時間をはかってみると、以下のことがわかった(ここでいうHighはLEDが発光している間のことを指す。秋月のリモコン用センサは出力が逆になるので注意)。テレビのフォーマット?と似てるっぽいので、全く同じかもしれない。特にH/Lの時間は多少誤差がありそう。

  • 2500usくらいHigh -> 500usくらいLowが開始信号
  • 続けて20bitのデータを送信
  • 1300usくらいHigh -> 500usくらいLow が1(と、いうことにする)
  • 700usくらいHigh -> 500usくらいLow が0
  • これを20回出すまでが1回の命令になる。リモコンはボタンが押されてる間、一連の信号を繰り返し続ける模様。

ソニーの純正リモコンのうち、NEXで使えるのはたぶん2個だけなので、この2つの信号をメモする。

  • 即時シャッター:{1,0,1,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,1,1};
  • 2秒後シャッター(集合写真に使うの?):{1,1,1,0,1,1,0,0,1,0,1,1,1,0,0,0,1,1,1,1};

2. 適当に信号を発信する

信号がわかったので、あとは赤外線LED(秋月で10個100円の、940nm, 55mWのものでOKだった)をこのとおりに光らせるだけである(さらっと書いてるけど、能力がないので割と苦労した)。僕が使えるのはAVRくらいなので、手元にあったATTiny45(8pinDIPなのでかわいい)で作ることにした。

回路はこんな感じ。電源はエネループ(単三)を直列に2本で、2.5Vくらいだけど動いた。3時間くらい1秒間隔で信号出しっ放しにさせてみたけど問題なく最後までいけたので電池の持ちは十分だと思う。たぶんだけどLEDの消費電流がちょっとAVRのドライブ能力を超えてた。気にしないけど。

実際には、空いてるポートにスイッチを付けて、その状態に応じてインターバルを変えられるようにしてあります。1秒から15秒まで対応。ただ、内蔵クロッ クを特に考えず使っているので、間隔はかなりいい加減です。ちゃんとやりたい人は外部クロックと割り込みでやらなきゃいけないんじゃないかな?

完成図

AVRとか難しくてよくわからないので、PWMを使って38kHzのキャリア波を作ることにした。Tiny45のソースはこんな感じ。

 

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <avr/wdt.h>
#include <util/delay.h>

int main(void){

    // 1MHzで動く想定
    DDRB  = 0b00000010; // led以外input
    PORTB = 0b00111101; // pull up

    TCCR0A = 0b00100001; //高速PWMだっけ
    TCCR0B = 0b00001000; // PWM stop

    OCR0A = 13; // MAX。たぶんこれで周波数決める。
    OCR0B = 6; // この値あたりでH/Lが切り替わるのでduty比を決める(たぶん)。

    const unsigned char shutter[] = {1,0,1,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,1,1};

    unsigned short i, num, interval;

    for(;;){

        for (num = 0; num < 5; num++){ //1回あたり5連続で送信する

            // start bit
            TCCR0B |= 0x01; // high
            _delay_us(2500);
            TCCR0B = 0b00001000; // low
            _delay_us(500);

            for (i = 0; i < 20; i++){ // ビット列部分

                if (shutter[i]){
                    // if 1
                    TCCR0B |= 0x01; // high
                    _delay_us(1300);
                }else{
                    // if 0
                    TCCR0B |= 0x01; // high
                    _delay_us(700);
                }

                TCCR0B = 0b00001000;
                PORTB &amp;= ~0x02;
                _delay_us(500);
            }

            // 1回の送信終了、間隔を空ける
            _delay_ms(11.25);

        }

        // インターバルを決める
        interval = 5;  

        for (;interval;interval--){
            _delay_ms(1000);
        }

    }

    return 0;
}

こんなかんじ。

PWMで38kHzのキャリアを出しているので、PWM制御レジスタをいじってPWM自体をOn/Offしてるだけ。かんたん!

 

撮る

リモコンができたら、あとはNEX-5(たぶんαでもいけるはず)のドライブモードをリモコンにあわせて放置して、電源を入れたリモコンをカメラにくくりつけるだけ。で、たくさん写真が自動で撮れるので、VirtualDubModあたりで動画にする。

富士山で天体写真を撮ってきたのがこちら(外気温3度くらい)。このときは10秒露光(+ノイズリダクション)を470枚くらい撮るのに3時間かかった。バッテリは満タンからスタートしたけどほぼ空になったので、その辺が限界なんだろう。

リモコンとしてはちゃんと動いているので満足です。