5/1にUbuntu12.04とOpenCV2.4が立て続けにリリースされたので、BeagleBoardへ入れてみました。
1.Ubuntu12.04について
以下のサイトを参考に、プレインストールイメージからインストールしました。
http://legacyos.homeip.net/beagleboard2/
http://elinux.org/BeagleBoardUbuntu
そのほかの設定もこれまでと同様の手順で、特に問題なくインストール完了しました。
試してはいませんが、12.04ではarmhf(ARM Hardware Float)版となり、浮動小数点演算のパフォーマンスが上がるのではないかと思います。
2.無線LANについて
前の記事①、前の記事②では
・無線親機 Buffalo WZR-HP-G300NH
・無線子機 PLANEX GW-USValue-EZ
を使用していました。
その後、無線親機をNEC Aterm WR8750Nに変えたところ、どうやってもGW-USValue-EZから接続できなかったため、無線子機にはBuffalo WLI-U2-KG54を使用していました。
その際、以下のようなエラーが出て、通信も安定しませんが、
phy0 -> rt2500usb_set_device_state: Error - Device failed to enter state 3 (-16).
phy0 -> rt2x00lib_autowakeup: Error - Device failed to wakeup.
以下のコマンドでパワーマネジメントをOFFにすると直りました。(wlan2の番号は環境に合わせる必要があります。)
/sbin/iwconfig wlan2 power off
OS起動時にOFFにするために、/etc/rc.localに以下を追記しています。
(ただし、スクリプトが実行されるタイミングが遅いため少しエラーが出ます。)
/sbin/iwconfig wlan2 power off
GW-USValue-EZが11nに対応し最高150Mbpsの通信速度に対して、WLI-U2-KG54は11gで最高54Mbpsとなりますが、WLI-U2-KG54の方が電波の通りが良いようで、実質はあまり問題はありませんでした。
Ubuntu12.04でも上記と同様にGW-USValue-EZはNGで、WLI-U2-KG54もパワーマネジメントをOFFで通信ができるようになりました。
3.OpenCV2.4について
今回は2.4をインストールしましたが、6/2に既に2.4.1がリリースされています。今後は1~2か月の短いペースでバージョンアップする予定のようです。
ビルドに必要なパッケージのインストールから、ビルドまで以下の通り。
# sudo apt-get install ffmpeg
# sudo apt-get install libgtk2.0-dev
# sudo apt-get install libavcodec-dev
# sudo apt-get install libavformat-dev
# sudo apt-get install libjpeg8-dev
# sudo apt-get install libtiff4-dev
# sudo apt-get install libgif-dev
# sudo apt-get install libv4l-dev
# sudo apt-get install cmake
# mkdir opencv
# mv OpenCV-2.4.0.tar.bz2 opencv
# cd opencv
# tar xjf OpenCV-2.4.0.tar.bz2
# mkdir release
# cd release
# cmake -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_PYTHON_SUPPORT=ON ../OpenCV-2.4.0
# make -j 2
# sudo make install
# sudo ldconfig
2.3.1までは、当環境にて使用しているUSBカメラ(LOGICOOL C905m)では以下の対応が必要でした。
・MJPEG形式が使用できないので、YUYV形式を使用する
・カメラの画像が遅延する
2.4ではC905mでもMJPEGが使用できるようです!!
また、その結果非常にスムーズに表示され、ソースを変更しなくても遅延も少なくなりました。
Ubuntuのバージョンアップではあまり違いを感じられていませんが、USBカメラ(LOGICOOL C905m)が問題なく使えるようになったのが非常にうれしいです。