0

ML115 + Ubuntu9.10 64bit環境で音を出す

元サーバーマシンを、開発用のデスクトップマシンにした。
Windowsをインストールするとすんなりいくらしいんだけど、64bit版Ubuntuで音を出そうとすると大変だった。
PCIスロットが3.3V用で、5V用のサウンドカードだと切り欠きが合わなくて刺さらない。そして刺さっても64bitでのまともなサウンドドライバが無くて音がホワイトノイズだらけになる。

このUSBスピーカーを刺して他のサウンドデバイスを刺さないようにすれば音が出る。音質はたぶんそんなに良くないけど。

SANWA SUPPLY MM-SPU2WH USBスピーカー ホワイト
サンワサプライ
売り上げランキング: 798
おすすめ度の平均: 4.0
3 ちょっと不便。
4 安いし簡単
4 値段以上の価値はあります
3 音は及第点(値段の割には)
5 価格以上の音質


他にも、Creative Sound Blaster 5.1 VXを使うと音が全部ホワイトノイズになってしまうが、
alsamixer -Dpulse
alsamixer -Dhw
で音量をギリギリまで絞ると一応聞こえなくもなかった。
参考:[ubuntu-jp:1749] Jaunty において Creative Sound Blaster 5.1 VX 上で再生する音声が全てホワイトノイズに


あとはAppleのMac用の小さいキーボードと、Microsoftの光学式マウスの安い奴を使ってる。



2

AspireOneにUbuntuをインストールして使っている

春頃にTeleshadowの実装のために、修理品のAspireOneをNTTストアで2万ちょっとで買って使ってたんだけど、修論が終わってまあTeleshadow動かす為だけに置いておくのももったいないのでUbuntu9.04を入れてみた。
これけっこうよかった。最近は開発がLinux中心なので、持ち歩く事も多い。

せっかくなのでセットアップをまとめておく


■Windows
Windowsはもうあまり使ってない。
AspireOneの起動時に winlogon.exe がエラーを出してたんだけどこれは「アプリケーションの追加と削除」からLaunch Managerを削除したら出なくなった。
そもそもメモリが1GBだけなので、Windows動かすのがけっこうつらい。


■インストール
参考:AspireOneにUbuntu9.04インストール – 橋本詳解
CD-ROMドライブが無いのでUNetbootを使ってインストールした。
デスクトップ版Ubuntu9.04のisoイメージをダウンロードしてきて、UNetbootのWindows版で空のUSBメモリ(1GB)をUbuntuインストールディスク化した。
AspireOneに刺して、BIOS起動時にF12押してUSBデバイスからbootするようにすると、GUIのインストーラが出てくる。
パーティションをUbuntu 60GB、Windows 40GBに切り直してインストールした。

内臓カメラ、キーボード、無線もすぐ使えた。


インストール中
Ubuntuインストール中


■e-mobile
最近イーモバイルのD23HWを買った。
GUIとCUIそれぞれから使える。電波強度が表示できないけど実用上問題は無い。
pon, poffコマンドの場合:emobile D23HWを使う(CUIで) – 橋本詳解

gnome-pppの場合:emobile D23HWを使う(CUIで) – 橋本詳解



■デスクトップの設定
ワークスペースを2×2に増やして、ウィンドウをキーボードショートカットでワークスペース間移動できるようにする。

キーボードショートカットの設定から、ctrl+上下左右キーで上下左右のワークスペースに移動するよう設定。ctrl+shift+上下左右キーでウィンドウを上下左右のワークスペースに移動するように設定。

左上Firefoxとemacs、右上Terminal、左下ThunderbirdとSkypeとPidgin、右下予備というふうに置いておくと、全部フルスクリーンにしておいても画面切り替えでなんとかなるので小さい画面でも戦える。

あとapt関係のアップデートと、ssh, zsh, emacs、mercurial、ruby関連、opencv、boostなどのインストールをする。
参考:Thinkpad X32にUbuntu 8.10 Desktop版をCDから入れた – 橋本詳解



■キーボード
キーボードの設定から「capslockをもう一つのctrlキーに設定」を選択
日本語入力。SCIMの全体設定で開始に変換キー、終了に無変換キーを割り当てる。他は全部キーを削除する。

これでMacと同じように、ホームポジションに置いた時親指で日本語入力をON/OFFできるようになる。

キータッチはネットブックの中ではけっこういいと思う。キーも大きくて押しやすいし、記号キーの配列も変態じゃないからコード書くのにも支障ない。


■電源
バッテリーは2時間もつ。ACアダプタはinspiron miniのが同じ電圧だったのでそっちを持ち歩いている。


■WiFi
Gnome標準の最初からついてるやつでばっちり


■サスペンド
ちゃんとできる。よく使ってます


■Firefox
最初から入ってる。拡張のHideMenubarを入れると画面を有効活用できる。
あとはGreasemonkeyでLDRize、Autopagerize、minibuffer
拡張のIt’s all text、Adblock plus、SBMカウンタ、TabMixPlux、Tomblooなど。
ブックマークは普段使ってるMacbookProからHTML形式でエクスポート・インポートした。
FlashPlayer10もAdobeのサイトでインストールできる。

スムーズスクロールはoffにする。

■Thunerbird

sudo apt-get install thunderbird
Windowsからもってきたプロファイルがそのまま使えた。
~/.mozilla-thunderbird/の下にコピーすれば読み込まれる。


■IM
PidginでMSNメッセンジャーとGoogleTalkが使える。Skypeはダウンロードしてきてインストール。
Pidginはすぐ[ツール]→[個人情報]で「コンタクトリスとの人のみ許可」に設定しないとspamがいっぱい来る。


■Gyazo
Linux版がある。
/usr/local/bin/gyazo として置いて、画面の上のパネルにショートカットを追加してすぐ使えるようにする。


■DropBox
Linux版がある。インストール後に再起動すると使える。
メニューにも登録されるし、dropboxコマンドからも動かせる。
dropbox start
dropbox stop
dropbox status



■Office
OpenOffice.orgが入っている。Word/Excel/PowerPointを見るのは問題ない。excelの高度なマクロなどは再現されてるか不安で、結局あまり使ってない。


■プロジェクタ
設定が難しい。10分ぐらいかけても画面が出せなかった。
プレゼン前に確認しておいた方がいい。




というわけで長時間プログラミングはしたくない環境だけど、おでかけしながらサーバーのタスクを監視したり簡単なスクリプトを書いたりする環境はできた。
よかったよかった

0

BeagleBoard(Ubuntu9.04)とArduinoやmoxaを接続し、シリアル通信でやりとりする

BeagleBoardはTIの作ったオープンソースハードウェア。こっそり春頃からいじっていたんだけど書いてなかった。
スペックに難はあるが、ディスプレイとサウンド出力つきの組み込み環境が俺でも作れるのは魅力。作品のレベルをプロダクトに近い所まで引き上げられる。

最近CRESTでのプロジェクト用にARM版Ubuntu9.04をbuildしてインストールして、Arduinoと接続する所までやったので書いておこう。

今はApache2とruby1.8.7(いずれもaptでインストールした)を使って、外付けしたArduinoとmoxaからデータを読み取っている。とりあえず大学院棟の明るさをCdSで取得してwebに公開している → http://shokai-b.mag.keio.ac.jp/light


R0012112


■準備
BeagleBoardと、インストール時にパソコンとBeagleBoard間でシリアルコンソールを使うのに必要なBeagleケーブルはdigikeyで購入できる。他の部品は国内で全て入手可能。
BeargleBoard 周辺機器


■Ubuntu9.04をBeagleBoardにインストール
OSはSDカードにインストールする。
最初デスクトップ版をインストールしてみたけど重すぎた。AngstromやHandheld Mojoならそれなりに動くけど、フルのUbuntuデスクトップはウィンドウマネージャをtwmにしても無理だった。
今回の用途にはCUIがあれば十分だったので、最低限のbuildツールを含んだARM用イメージを作って起動させた。

なお作業はext3のファイルシステムが読み書きできる必要があるので全て別のUbuntu Desktopで行った。

  1. BeagleBoardにUbuntu Desktop版インストール – 橋本詳解
  2. BeagleBoardにUbuntuセットアップ(GUIなし)、sshdを入れてリモートログインしてみる – 橋本詳解
  3. いろいろインストールして環境を整える – 橋本詳解
  4. Rubyまわりをインストール – 橋本詳解

これで、ApacheやRubyやsshdはもちろん、emacsと各種elisp、gemとeasy_install、rails2やsinatra、mongrel_clusterとapache2でmod_proxy_balancerなどがaptとgemでさくっとインストールできた。
このへんのサーバサイドアプリ開発環境のセットアップの容易さはubuntuさすが。

処理速度は体感でDebian化した白箱より速い。SDカードなのであまりR/Wしたくないがたぶん外付けUSB-HDDも認識できるんじゃないだろうか。そうすると、クローラ作ったり簡単なbotを動かす程度の俺は自宅サーバ環境はBeagleBoardで十分という可能性もある。



処理速度とストレージ読み書きに不安はあるが小型かつバッテリーでも動かせるUbuntu Linux環境ができた。


■Arduino / moxaとの通信
BeagleBoard基板上のシリアルコンソールに使ったポートをArduinoやmoxaとの通信を使った。

本当はUSBで接続したかったけどできなかった。
FTDIチップのドライバはaptでインストールできるが、USBに接続しても認識されない(/dev/ttyUSB0に現れない)
同じバージョンのUbuntuデスクトップを別のAMD64マシンで用意して、同じようにセットアップをしたがこちらは認識した。ARM版Ubuntuが何かおかしいのかもしれない。

64bitAMDマシンではlsmodした時にFTDIチップを監視してるプロセスがいるんだけど、BeagleBoardではlsmodしてもいない。
誰かLinux詳しい人教えてくれるとうれしいです・・・


しかたないのでセットアップに使ったBeagleケーブルのオス版を作って通信に使う。
シリアルポートの9つのピンにはよく見ると番号が振ってあり、それをBeagleBoardの基板上の1~9ピン(10は無視する)と接続する。
シリアルポート側は

12345
6789

のようになるが、BeagleBoard上のコネクタは

13579
2468

となっているのでとても捻れる。気合いではんだづけする。基板上のシルク印刷をよく見てね。


R0012102
R0012104
R0012106
R0012107


これで、Arduinoの外側にあるRX / TXピンにMAX232(ADM3202)を接続すればBeagleBoardとシリアル通信できる。
R0012110

ArduinoにCdS(明るさのセンサ)なんかを接続して数値をBeagleBoardに送り続ければいい。


/etc/event.d/ttyS2 を削除して再起動すると、/dev/ttyS2がシリアルコンソールではなくシリアルポートとして開ける。

screen /dev/ttyS2

でモニタできる。
UNIX系なので、シリアルポートもFileとして簡単に読み出せた。
Arduino + BeagleBoard(Ubuntu) シリアルポートを読んでたまにファイルに書き出す – 橋本詳解

通信できる手段が整えばあとは好きにできる。