VNCのセットアップ UDOO-report09

TightVNCとX11VNCをセットアップします。VNCを2種類使う理由は、TightVNCは、物理ディスプレイ(ディスプレイ番号:0)がロックされていているので作業用に、そして物理ディスプレイの画面をモニタリングできるX11VNCを表示画面モニタリング用にするためです

<参考文献>
(X11VNC)
http://blog.asial.co.jp/842
(TightVNC)
http://www.udoo.org/ProjectsAndTutorials/vnc-server-with-udoo/
http://elinux.org/RPi_VNC_Server
http://web.sfc.keio.ac.jp/~yama/nos/?p=4101

<展開>
TightVNC serverをインストール
$ sudo apt-get update
$ sudo apt-get install tightvncserver
起動用シェル・スクリプトを記述
$ nano svnc.sh  #ファイル名はお好きな名前に
下記の行を追記
vncserver :1 -geometry 1280×800 -depth 24 -dpi 96
<ディスプレイ番号を1、表示スペースは1280x800ピクセル、色深度24bit、96dpiに設定>
$ chmod +x svnc.sh  #起動用シェル・スクリプトに実行権限を付与
実行テスト
$ ./snvc.sh
サーバのシャットダウンは
$vncserver -kill :1

OS起動時に自動実行させたい場合は、http://elinux.org/RPi_VNC_Serverを参照し、/etc/init.dに、vncbootファイルを作成することを勧めます。udoo.orgにある/etc/rc.localに記述する方法は、わたしのtargetでは有効ではありませんでした。調べてみると、ubuntu12.04では、起動時にrc.localは読み込まれていないようです、「過去の遺物」として残ってしまっているようなファイルのようです。私は、自動実行にはせず、デバイスを再起動した場合には、SSHから./snvc.shを起動するつもりです。

X11VNCをインストール
$ sudo apt-get install x11vnc
最初の起動は、GUIで、「アプリケーション」→「インターネット」→「X11VNC Server」
passwordとviewOnlyのpasswordを設定
通常起動は、上記のようにGUIからでも、SSH経由下記コマンドで可能
$ x11vnc -display :0 -passwd:<password>
<:0は、起動中のディスプレイ番号(物理ディスプレイの番号)>
サーバのシャットダウンは
$ x11vnc -kill :0
boot時の自動起動のための設定は下記を参照
http://qtotter.wordpress.com/2013/08/23/【ubuntuサーバー再構築】no-04-x11vncを設定してみる/
http://zettai-non-sugar.blogspot.jp/2012/09/ubuntu-1204-lts-ratpoison-x11vnc.html

VNCビュワー”REAL VNC”は下記から
https://www.realvnc.com/

日本語環境の構築 UDOO-report08

UDOOに日本語環境を構築します。今回設定した環境はLinaro Ubuntu12.04 LTS ですが、これは、UDOObuntu ver1.0 でも問題ないかと

1.日本語キーボード
*方法1 GUI
System Setting → Keyboard Layout→Layouts→”+”→Japanease
*方法2 CUI
$ sudo apt-get install console-data
「The keymap records the layout of symbols on the keyboard. …」の画面が表示されるので「OK」を押下します。
次に「Policy for handling keymaps: …」の画面が表示されたら「Select keymap from full list」を選択して「OK」を押下します。
次に、「If the keyboard is disigned for a different computer architecture, …」の画面が表示されたら「pc / qwerty / Japanese / Standard / Standard」を選択して「OK」を押下します。

2.日本語フォント(システム全体に適用)
*IPAゴシック(ipag.ttf)とIPAゴシックプロポーショナル(ipagp.ttf)をDLしてDesktopに配置、そしてインストール
$ sudo cp /home/<user>/Desktop/ipag.ttf /usr/local/share/fonts
$ sudo cp /home/<user>/Desktop/ipagp.ttf /usr/local/share/fonts
すぐに反映されない場合は、下記を実行
$ sudo fc-cash -fv

3.日本語表示
日本語と英語パッケージをインストールし、日本語をデフォルトに
$ sudo apt-get install language-pack-ja language-pack-en-base
$ sudo update-locale LC_ALL=”ja_JP.UTF-8”
$ sudo update-locale LANG=”ja_JP.UTF-8”
$ sudo update-locale LANGUAGE=”ja_JP.UTF-8”
$ sudo dpkg-reconfigure locales
$ sudo reboot
/etc/default/locale に下記記述があるか確認(なければ作成する)
LANG=”ja_JP.UTF-8”
LANGUAGE=”ja_JP.UTF-8”
LC_ALL=”ja_JP.UTF-8”
$ sudo locale-gen ja-JP.UTF-8
$ sudo dpkg-reconfigure locales
$ sudo reboot

4.日本語入力(ibus-anthy)
It comes with stable version, 1.4.1.
$ sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4
$ sudo apt-get install ibus-anthy
$ im-switch -s ibus
#ログアウトそしてログイン
$ ibus-setup  #Japanease(日本語)に設定

コーディングなしで、マルチタッチやジェスチャ制御コンテンツを開発!

エンジニアには厳しい時代です。これからのサイネージや展示演出、教育に使われるマルチタッチ制御やジェスチャ制御で動作するコンテンツを、なんとコーディング作業なし、GUI操作のみで開発できるオーサリングソフトとプレイヤーソフトの販売が始まりました。それは、IntuiLab社から発売されている”IntuiFace4″です。価格はオーサリングソフトは月額¥5,400(買取¥65,000)、プレイヤーソフトはWindowsPCなら3ライセンスで月額¥2,800(買取¥34,000)、iPadなら10ライセンスで月額¥2,800(買取¥34,000)。私達も日々進化しないと食いっぱぐれます……

詳しくは、ここから(もちろんフリーのお試し版ありです)

モーションセンサーデバイスはどれが最適?Kinect vs Senz3D vs LEAPmotion

試して見ないとわからないけど、この記事を読んで見よう。

それと、関連する画像解析関係SDKの記事や資料をメモっておきます

openCV : http://docs.opencv.org/index.html  http://www.buildinsider.net/small/opencv/01

Intel Percetual Computing (PerC) SDK : http://www.buildinsider.net/small/perc/01  http://docs.opencv.org/doc/user_guide/ug_intelperc.htmlay_modeki_kinect04_fig01

 

 

BLE(Blue tooth LE) 対 NFC(Near Field Communication)のどっち?

BLEvsNFC“Felica”に代表されるNFCに対して、BLEの改良版でiPhoneやAndorid4.3以降に搭載される”iBeacon”どちらが、自分たちが習得すべき技術か、ほんのちょっと考えました。結果、下記参考文献を読んだ結果、まずはBLE(and iBeacon)かなと思いました。皆さんのご意見お待ちしております。

(参考文献)

http://www.mobilepaymentstoday.com/blogs/ble-vs-nfc-the-future-of-mobile-consumer-engagement-now-infographic/

http://blog.paygent.co.jp/ec/bid/345454/BLEとNFCの覇権争い-次世代のモバイル決済の仕組みはどちらが勝つのか

http://blogos.com/article/84722/

Qt3Dprojectが起動できても終了できない?/UDOO-report07

Qt5とQT3Dがなんとかインストールできたものの、また問題が・・・。examples/qt3dにあるデモ用Qt projectを起動したのですが、フルスクリーンで、keyboardもmouseも効かなくなり、お手上げ。UDOOforumをくぐると、同じ問題にでくわしている人がいた。”Board hangs up when runs Qt programs” と “UDOO can’t quit from Qt programs with GUI“を参考に、~/.profile の最後に、QT_QAP_ENABLE_TERMINAL_KEYBOARD=1を追記しました

具体的には、$ sudo nano ~/.profile そして 最後の行に export QT_QAP_ENABLE_TERMINAL_KEYBOARD=1 を記述・保存しました

次回起動後は、Qt3dのサンプルプロジェクトを終了する際、ctrl+cでプログラム停止、ctrl+alt+F2 でCUI画面に、さらにctrl+alt+F1でコンソールを切替て、sudo reboot で再起動して、デスクトップ画面に戻しています。なんかおかしいかな???

UDOOケースが完成/UDOO-report06

UDOO forumにあったアクリ組立ケースの「型紙」をダウンロードして、実際に作成しました。Quadだと冷却フィンのため使えないボード固定用ビス穴があるので、今回は3点で無理やり固定してます。この型紙はDualのがいいみたいです。型紙はここからダウンロードしました。最初はインターネット上にあった3Dプリント用データをDLして、Kinco’s品川に見積だしたら、常識外な金額提示だったので、却下しました。(なんか3Dプリントの価格は、日本と海外を比較すると桁違い?!)

P1040481 P1040494 P1040492 P1040486

UDOOでQt5.3をビルド UDOO-report05

UDOOquad に、Qt5.3をビルドした記録です。

(環境)
ホスト : Ubuntu14.04 LTS / 64bit
ターゲット : Linaro Ubuntu 12.04 LTS / 32bit(UDOO quad)

(参考文献)
http://www.udoo.org/ProjectsAndTutorials/how-to-build-qt5-for-udoo/
How to build QT5 for UDOO

1.ホストが64bitなので、まずは”ia32-libs”をインストールします。まず、ここが1つ目の障害でした。下記を参考にしてクリア!
http://stackoverflow.com/questions/23182765/how-to-install-ia32-libs-in-ubuntu-14-04-lts
How to install ia32-libs in ubuntu 14.04 LTS
http://www.cyberciti.biz/faq/install-libgobject-2-0-so-0-on-debian-ubuntu-linux/
Error While Loading Shared Libraries: libgobject-2.0.so.0 Error and Solution [ Debian / Ubuntu ]
http://crunchbang.org/forums/viewtopic.php?id=23561
[SOLVED] ia32 packages kept back from dist-upgrade
http://www.randomhacks.co.uk/package-ia32-libs-gtk-has-no-installation-candidate-ubuntu-13-10/
Package ‘ia32-libs-gtk’ has no installation candidate Ubuntu 13.10
http://askubuntu.com/questions/352717/getting-ia32-libs-gtk
Getting ia32-libs-gtk

2.まずはgitをインストール
$ sudo apt-get install git

3./home/<user>下に、Qtソースコードとツール・チェーンを収納するためのディレクトリ”UDOO_Qt5_build”を作成、所有者を<user>に変更
$ sudo mkdir /home/<user >/UDOO_Qt5_build
$ sudo chown -R <user>:<group> /home/<user>/UDOO_Qt5_build

4.現在地を UDOO_Qt5_buildに変更
$ cd UDOO_Qt5_build

5.Freescaleのツール・チェーンを、UDOO_Qt5_build下にダウンロード
UDOO_Qt5_build$ git clone https://github.com/embest-tech/fsl-linaro-toolchain.git

6.UDOO.orgのダウンロード/バイナリページから、使用する(=ターゲットと同一)ファイルシステムを見つけ、ファイルシステムと同名のディレクトリを、/home/<user>下に新たに作成。*今回使用するファイル・システムは、”UDOO_FS_ubuntu-1204_v4.0”
UDOO_Qt5_build$ sudo mkdir /home/<user>/ UDOO_FS_ubuntu-1204_v4.0

7.現在地をディレクトリ<fileSystem name>に移動し、ファイルシステム圧縮ファイル”UDOO_FS_ubuntu-1204_v4.0.tar.gz”をダウンロード
UDOO_Qt5_build$ cd /home/<user>/UDOO_FS_ubuntu-1204_v4.0
(圧縮ファイルのダウンロードは各自対応)

8.上記ダウンロードファイルを解凍、そしてファイルシステム全ファイルの所有者を<user>に変更
UDOO_FS_ubuntu-1204_v4.0$ tar xvzf UDOO_FS_ubuntu-1204_v4.0.tar.gz
UDOO_FS_ubuntu-1204_v4.0$ cd /home/<user>
$ sudo chown -R <user>:<group> /home/<user>/UDOO_FS_ubuntu-1204_v4.0

Qt5をビルドするターゲット・ファイル・システムを、UDOOで使用するためマイクロSDカードに事前に書き込まれたファイル・システムとします。この書き込み済みマイクロSDカードをホストに接続すると、 /media/<user>/udoo_ubu1204 と認識されます

9.X11ではなくフレームバッファでアクセレートされるEGLとOpenGL ESを使用します。従って、下記のように、ファイルシステム内のいくつかのシンボリック・リンクを調整します。最後に、現在地をUDOO_Qt5_buildに戻します
注意:sudoでシンボリックリンクを作成するので、ファイル所有者を<user>に変更することを忘れずに!
$ cd /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib
lib$ sudo rm libEGL.so
lib$ sudo rm libEGL.so.1
lib$ sudo rm libGAL.so
lib$ sudo ln -s libEGL-fb.so libEGL.so
lib$ sudo chown -R <user>:<group> /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib/libEGL.so
lib$ sudo ln -s libEGL-fb.so libEGL.so.1
lib$ sudo chown -R <user>:<group> /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib/libEGL.so.1
lib$ sudo ln -s libGAL-fb.so libGAL.so
lib$ sudo chown -R <user>:<group> /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib/libGAL.so
lib$ cd /home/<user>/UDOO_Qt5_build

10.Qt5とQt3Dのソースコードを取得します
10-1.Qt5のgit repositoryを取得します
UDOO_Qt5_build$ git clone git://gitorious.org/qt/qt5.git qt5

10-2.ブランチを5.3にします(==Qt5.3にします)
UDOO_Qt5_build$ cd qt5
qt5$ git checkout 5.3

10-3.Qt3D(qt5のサブディレクトリ)のgit repositoryを取得します
qt5$ git clone git://gitorious.org/qt/qt3d.git qt3d

10-4. Qt5とQt3Dのすべてのソースコードをダウンロードするために、スクリプトinit-repositoryを実行します
qt5$ ./init-repository

11. qmake.confファイルに、いくつかの修正を加えます
qt5$ nano qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf

いくつかの変数の定義を下記のように変更します
QMAKE_INCDIR += /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/include /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/include/arm-linux-gnueabi

QMAKE_LIBDIR += /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib

QMAKE_LFLAGS += -Wl, -rpath-link, /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib -Wl, -rpath-link, /home/<user>/UDOO_FS_ubuntu-1204_v4.0/usr/lib/arm-linux-gnueabi

*qmake.conf ファイルの残りの部分は、そのままです
12.configureオプションを定義します。すべてのオプションのリストは下記を実行すればわかります
qt5$ ./configure -help

私が実行したconfigureオプションは、下記の通り。(完了するには、それなりに時間がかかります)

qt5$ ./configure -prefix /opt/qt5 -make libs -no-pch -no-opengl -device imx6 -device-option CROSS_COMPILE=/home/<user>/UDOO_Qt5_build/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -no-largefile -opengl es2 -qt-zlib -qt-libpng -qt-libjpeg -no-nis -no-cups -gui -make examples -sysroot /media/<user>/udoo_ubu1204 -no-gcc-sysroot -opensource -confirm-license -qreal float -v

configurationが成功すれば、最後に“Configure summary”が記述され、その中のどこかに“OpenGL …yes (OpenGL ES 2.x)”という記述が見つかるはずです
configure中に、いくつかエラーが出現しますが、それは今回必要としない機能部分ですので、最後に“Configure summary”が記述されれば、基本的には、configurationは成功です

実は、私はここで大きく躓きました。
それは、9で作成したシンボリックの所有者を変更していなかった(root:rootのまま)にもかかわらず、“Configure summary”にまでたどりつき、一見Configureが成功したように見え、そのままmakeしてしまいました。makeでもいくつかエラーがでましたが、そのままmake installまですすむこともできました。しかし、すべての操作終了後、Qt3Dのexampleを実行すると、”it could not find or load the Qt platform plugin “eglfs”.”というエラーがでて、実行できません。“Configure summary”をよく見ると、”egfls…..no”でした。この原因が、シンボリック・リンクの所有者がrootのままだということに気づくのに、お盆休みをすべて使ってしまいました、トホホホ・・(これはUDOO.orgには明確な記述がないから要注意!)

13.makeコマンドを実行してください。私はコンパイル時間を少なくするために、3つのジョブを同時に実行するオプション”ーj3”をつけました。それでも4時間以上かかりましたが………
qt5$ make -j3

14.Qtをインストールするディレクトリを作成します
まずは、ホストに、そして、所有者を<user>にすることをお忘れなく
qt5$ sudo mkdir /opt/qt5
qt5$ sudo chown -R <user>:<group> /opt/qt5
つぎに、ターゲットに、そして、こちらも所有者を<user>に
qt5$ sudo mkdir /media/<user>/udoo_ubu1204/opt/qt5
qt5$ sudo chown -R <user>:<group> /media/<user>/udoo_ubu1204/opt/qt5

15.すべてのインストールするディレクトリの作成と所有者の変更が完了したら、make installを実行
qt5$ make install

すべての操作が正常に完了すれば、Qt5がターゲットのファイルシステムの /opt/qt5 ディレクトリに、すべてインストールされています。

16.最後に、ターゲットでの操作・実行を行います
まずは、ターゲットのファイルシステム上でのQt5を確認します
$ ls -l /opt/qt5

17.所有者を変更します
$ sudo chown -R ubuntu:root /opt/qt5

18.適切な検索をするよう動的リンクに伝えるために、このスクリプトを実行します
$ sudo /opt/gpulink-fb.sh
もし、x11バージョンに戻すなら、このスクリプトを実行します
$ sudo /opt/gpulink-x11.sh

19.インストールされているQtサンプルの中の1つを実行して、動作を確かめました
$ /opt/qt5/examples/qt3d/monkeygod

LinaroUbuntu12.04では10分経つと画面がoffに UDOO-report04

UDOOでLinaro Ubuntu12.04LTSを使用した時、マウスやキーボードを操作しないで10分経過すると、自動的に画面がOFFになってしまう。調べたところ、どうもbugらしく、Energy Starという規格に沿ってLinuxが動いているために起きる現象のようです。でも、これでは業務には使用できないので、下記の対策を施し、この現象を無効にしました。

まずは、原因を確認します。

“$ xset  -q” で、現状を表示し、その記述の中に “Screen Saver:
prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600 “ があることを確認

次に、/home/<user>/.profile の先頭行に” xset s 0 0 ” を記述し、保存、再起動すれば、次回以降起動しても、この現象が現れなくなります

(参考文献)https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1072531

XMBCの再生状況 UDOO-report03

XMBCを起動させるとわかりますが、Yocto project で構築しているようです。1080P再生結果は下記の通りです。このままリピートさせて8時間連続表示しましたが、問題ありませんでした。目立ったドロップ・フレームもないようです。CPU冷却フィンはそれなりに高温になりますが、触れない程高温にはなりません。したがって、Signage clientとしては、同じくfullHD VPU を持っているDUALのがよさそうです。