set up mobile server on Utilite

Compulab製ARM PC “Utilite” に、Apache,PHP,mySQL,vsftpd,samba,x11vnc サーバ、そして事務所LANアクセス用にopenVPNクライントを、さらにLibreOfficeもインストールしました(ただしUbuntu12.04互換なので、どれも標準でインストールできるバージョンが古いのですが・・・)。これとAndroidタブレット、WiMAXモバイルルータがあれば、出張メンテ作業に対応できそう、例えばクローズド環境に設置されたHMPのファームウェアのアップデートなどなど

  • Linux utilite-desktop 3.0.35-cm-fx6-6.3
  • Apache 2.2.22
  • PHP 5.3.10
  • phpMyAdomin 3.4.10.1deb1
  • mySQL 5.5.47

[Utilite スペック]

CPU:Freescale i.MX6 dual-core Cortex-A9 @1GHz
RAM:2GB DDR3-1066
Storage:Micro-SD 8GB
Display:dual head HDMI + DVI
LAN:2x GbE
Wireless:WiFi 802.11b/g/n + Bluetooth 3.0
USB:4x USB2.0 host + USB OTG

mobileServer

set up ownCloud server on ODROID-C1

ODROIDーC1へのownCloudセットアップを成功した環境は下記です

Linux odroid 3.10.80-141
nginx-1.8.1
mySQL ver14.14 distibution 5.5.47
PHP-5.5.9
PHPmyadmin-4.5.4.1
owncloud-7.0.4
*最新版owncloud-8では動作不可

データ保存用として、USB2.0接続の外付けHDD 250GBをマウントしました

C1がとてもコンパクトで省電力なので、DSネットワークにおけるDSplayerへのコンテンツ配信用webサーバとして利用が可能かと思います。ただ残念なことに、owncloudの最新バージョンでは動作できませんでした・・・ fpm経由だとダメなのかな

[ODROID-C1 スペック]

* Amlogic ARM® Cortex®-A5(ARMv7) 1.5Ghz quad core CPUs
* Mali™-450 MP2 GPU (OpenGL ES 2.0/1.1 enabled for Linux and Android)
* 1Gbyte DDR3 SDRAM
* Gigabit Ethernet
* 40pin GPIOs + 7pin I2S
* eMMC4.5 HS200 Flash Storage slot / UHS-1 SDR50 MicroSD Card slot
* USB 2.0 Host x 4, USB OTG x 1 (power + data capable)
* Infrared(IR) Receiver
* Ubuntu or Android OS

owncloudServer

Zooming DSsytem”YOURBORD2″player type3 “UDOO”

写真のtype3はSECO製UDOO dualです。現時点ではOSにAndroid4.4.2/kernel 3.0.35を採用します。type3の特徴はなんといっても、Freescale i.MX 6 ARM Cortex-A9 CPUとAtmel SAM3X8E ARM Cortex-M3 CPUの2種類のCPUを搭載し、デジタルとアナログI/OをAndroidを使ってArduinoで制御できるとういうこと。ですから”YOURBORD2”では、モニタ表示に合わせて、商品が置いてあるフェイスのLEDが点灯するとか、ディスプレイされている商品にスポットライトが当たるというような「演出」も付加できるようになりますね

DSplayer_type3-udoo

Zooming DSsytem”YOURBORD2″player type2 “Utilite2”

写真のtype2はCompulab製Utilite2です。現時点ではOSにAndroid4.4.3/kernel 3.4.0を採用します。desktopコンピュータとして完成され、WiFi標準搭載です。Qualcomm/Snapdragonを搭載し、AndroidPCとして信頼性の高い出来上がりです

CPU: Qualcomm® Snapdragon™ 600 (APQ8064) quad-core @1.7GHz
RAM: 2GB DDR3-1066
Storage: eMMC 4GB, mSATA socket
Display: HDMI 1.4a
LAN: GbE
Wireless:WiFi 802.11b/g/n + Bluetooth 4.0
USB: 4x USB2.0 host + USB OTG

DSplayer_type2-utilite2

Zooming DSsytem”YOURBORD2″player type1 “ODROID”

写真のtype1はHardkernel製ODROID-XU3lite、実際に使用するのはXU4です。現時点ではOSにAndroid4.4.4/kernel 3.10.9を採用します。kernelが新しいので多くの種類のタッチモニターを利用でき、1080PをソフトウェアデコードしてもCPU使用率が50~60%程度という強力なCPU(オクタコア)です

Samsung Exynos5422 Cortex™-A15 2Ghz and Cortex™-A7 Octa core CPUs
* Mali-T628 MP6(OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile)
* 2Gbyte LPDDR3 RAM PoP stacked
* eMMC5.0 HS400 Flash Storage
* 2 x USB 3.0 Host, 1 x USB 2.0 Host
* Gigabit Ethernet port
* HDMI 1.4a for display
* Size : 82 x 58 x 22 mm approx.(including cooling fan)

DSplayer_type1-odroid

Our DS players decided !

いろいろ試した結果、この3機種をハヤテオリジナルのアンドロイドサイネージシステム「ユア・ボード2」で採用することにしました。決め手は、私達の開発環境(adobeAIR, Qt, Java)とのマッチングで、3種類のCPU/Qualcomm製Snapdragon、Samsug製Exyons、Freescale製i.MX6 をそれぞれ搭載する”Utilite2″ by Compulab, ”ODROID-XU4,XU3lite”by Hardkeanel, “UDOO dual,quad” by SECOとしました。

DSplayer_all

Episode 02 / develop DS player with SBC

結果はEpisode01の通り、今回はそこに至るまでに気づいたことのあれこれ

モバイル市場においてAndroidが登場し注目されるようになってから生産が始まった韓国(Samsung製Exynos)や中国製(Rikomagic,Allwinner)のSoCは、Andoroidに最適化さ
れ、それに対しモバイル市場をNOKIAが牽引し以前から組込み用コンピュータで使用されてきた欧米製SoC(Freescale,Qualcom,TI,Broadcom)では、基本が組込み用Linuxがベースとなっているようだ

ODOROID-XU3lite/CPU:Exynos GPU:Mali では、Android4.4.4/Android Media Frameworkで開発することしか解決策を発見できず、Android上でのFramework”Kivy”や”PyQt”での動作は確認(Pygletは未確認、KivyはBuidozerでAPKファイルにトランスレートするかランチャをインストールしてKivyコードを実行、ただしいずれの場合もHWaccelerationは無効、本機Android上でHardwareAccelerationを有効にするには、NativeにてAndroid Multimedeia Framework/OpenMAXを活用するのがよさそう)できたので、これらのFrameworkでの開発がGoodと判断。更に木曽さんの協力により、stageVIDEOを利用したAIRプログラムにおいてHardwareAccelerationも有効になることが確認でき、very good!!  LubuntuでPyQtを使用した場合、ビデオ再生でPhonon.VideoPlayer Classが使用される。このclassの基本メディアエンジンとなるGStreamerでは、XU3上において、HardwareAccelerationを適応できない。他のエンジンとしてVCLが考えられるが、GStreamerを削除しなくてはならずリスクが大きすぎるので却下した。

ODROID-C1/ CPU:Amlogic S805 GPU:Mali では、Lubuntuにおいて、XU3と同じくGStreamerでのHardwareAccelerationを適用できないが、Kodi Player(旧XBMC)でHWaccelerationを適用できる。こちらもAndroid4.4.2上では、XU3と同じくKivyの動作確認はできたが、ただし、1080P出力は不可720Pまで、またHardwareAccelerationが無効なため、実際プレイヤーとしては使用不可。stageVIDEOを利用したAIRプログラムにおいては音は出力されるが絵が出力されなかった。

ODROID-XU3lite とC1の総評として、XU3lite+Androidはプレイヤーとして使用可能、XU3とC1+Lubuntuではプレイヤといっしょに設置するマイクロWWWサーバとして利用可能と考えます(ARMは、メモリ小ということもあり、マルチタスク不可、デュアルタスクまでと考えると、WEBとの連携したサービスを実現する上では、マイクロWWWサーバもいっしょに設置する必要があると考えました)

INFORCE6410plusは、Linaro(組込みLinux/Ubuntu)に完全互換。KivyもPPAからすんなりインストールしアップデートもOK。もち、すんなりKivyを直接再生可能!! QT及びPyQTは今後引き続き検証します

UDOO Quad and DUAL/Freescale製i.MX6なので、Linuxが基本。Kivyの実装はできない。しかし、インストールされているGStreamer-0.10とi.MX Linux Multimedia Framework で、HWaccelerationによるHDの再生を実現しているi.MX Linux Multimedia Framework の使い方がいま一歩理解不足だが、基本的にGStreamerが使用できるので、PyQtで可能なように思われるが、要調査。また、Udoobuntu02のβ版が公開されたので、この検証も引き続き実施予定

Episode 01 / develop DS player with SBC

長らくお休みしていて、すいません

まずは、SBCについてですが、AdobeAIR(AndroidOSのみ)、Python/KivyまたはQt5.*で開発が可能かを検証しました。検証方法は、それぞれの言語でビデオ再生するシンプルなコードを作成し、それが実行するという方法です。AIRの場合はstageVIDEOを活用してハードウェア・アクセルレーションが有効かどうかも試しました

【ODROID-XU3lite】Samsung Exynos5422 Cortex-A15 2Ghz +Cortex-A7 Octa core CPUs、Mali-T628 MP6 GPU

Android4.4.4では、KivyコードをBuidozerを使ってトランスレートしたAPKファイルが実行できました! でも残念ながらHWアクセルレーションは無効、ソフトウェアデコードで720P動画再生時のCPU負荷が50~60%程度です。しかし、adobeAIR+stageVIDEOでは、ハードウェア・アクセルレーションによる1080P動画の再生ができました! LubuntuではKivyを実行できませんでしたが、OSとしては使い勝手がいいので、後継機XU4では、ApacheいれてマイクロWWWサーバとしても使えそうです

【ODROID-C1】Amlogic ARM Cortex-A5(ARMv7) 1.5Ghz quad core CPUs、Mali-450 MP2 GPU

Android4.4.2では、KivyコードをBuidozerを使ってトランスレートしたAPKファイルが実行できますが、HWアクセルレーションは無効ソフトウェアデコードで720P動画再生時のCPU負荷が100%フレームドロップがひどく、プレイヤとして使用は不可ですね。adobeAIR+stageVIDEOでは実行できますが画面表示ができない(音のみ)、たぶんSoCとの関係のためかと思います。こちらもLubuntuでApacheいれてマイクロWWWサーバとしてのみ使える可能性はあります

【Inforce6410plus】Qualcomm Snapdragon 600 (APQ8064 SoC)

Linaro/ubuntuにて、Kivyコードを直接実行できました! 組込みLinuxとしてQt5.*での実行も期待大!! ただし、値段がODROIDの約2倍は痛い・・・・・

【UDOOquad】Freescale i.MX 6 Quad + Atmel SAM3X8E、Vivante GC 2000 + Vivante GC 355

UDOObuntu2beta1で再検証しましたが、やはりKivyを直接実行はできませんでした・・・・ 9/10に発表されたbeta2で再トライ!! でもUDOOは、Kivyなどマルチメディアに拘らず+Arduinoという特徴を活かしたいね

今回の検証も含め、ブロッコデリ木曽様から多大なご協力を賜りましたこと、たいへん感謝しております

 

 

発表! ”UDOO Neo”

Freescale社のアプリケーション・プロセッサ ” i.MX 6soloX “を搭載したローコストなシングルボードコンピュータ”UDOO Neo”が発表されました。このチップは優れたリアルタイム性を持つCoreTex-M4コアとCoreTex-A9コアを統合しています。従って、このコンピュータではArduinoの高い操作性とローコスト&コンパクトを両立させています。さらに、ビデオカメラからのアナログ入力、加速度センサー、磁気センサー そして、ジャイロセンサーまで、このボードには搭載されているんです! 姿勢制御やナビゲーションに利用できる他、IoT(Internet of Things)に通じる面白い工作に使えそうです

UDOO公式発表はこちらから

udoo_neo_datasheet

UDOO_neo_up2UDOO_neo_down2