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

It is Cool for DOOH! “Weather Unlocked API”

天気予報関係の探しものしてたら見つけた、とってもクールなサイネージ用API “Weather Unlocked” 。提携している天気予報サイトに連動して、気温が**度を超えたらトリガーを渡すなど、天気にまつわるいくつかの数値に連動させて、プログラムを制御できるというスグレモノ・APIです。Weather Unlocked が提携する天気予報会社は一応ワールドワイド で日本の主要都市でもカバーしているようだが、予報精度が???。日本でも同様のサービスを始めたら面白いかも! 天気によって売れる商品が異なるから、授業員の手を煩わさず、店頭のサイネージが切り替われば、販売チャンスのロスを最小限にできると思う!Weather Unlocked

Great!!, new TouchFoil is running well on Lubuntu14.04 installed to Odroid.

新しいタッチホイルが届いたので、テスト開始。「新しいタッチホイルはHID準拠ということでWindows7以降ならドライバーなしで動作する」とのことなので、ひょっとすると、OdroidのOSであるLubuntu14.04でも動作するかもということで、ワクワク!!

結果、はい、動作しました!! あとHMPで動作確認できれば、完璧です!!

*タッチホイルのコンフィグレーションソフト(キャリブレ)は、Windows対応のみだが、これなしでのデフォルトでもほぼOKでした(注意:PC起動&タッチフォイル接続後1分程度は盤面には触れないように!)

Fine! Kivy work well on Lubuntu14.04 for Odroid-Xu3Lite and C1

素晴らしい!! サイネージ用ミニPCとして位置づけているOdroid-Xu3及びOdroid-C1、両方共、Pythonのframework”Kivy”で快調に動作する! シングルタッチで動作確認できました。

開発用コンピュータをARM系3機種にフォーカス

各種センサや外部機器を制御するコンピュータとして「UDOO」、タッチモニター(マルチタッチ含む)用インタラクティブなコンピュータとして「ODROID-XU3Lite」、サイネージを中心とした汎用コンピュータとして「ODROID-C1」。いずれもARM系で軽量コンパクトなシングルボードコンピュータです。私達が開発するソフトウェアは、ほとんどがそのソフト専用で使用されるので、いっそのこと「ソフト・インストール済、動作検証済、専用コンピュータ」として出荷することが、トラブルを最少にできると思ったためです

上:UDOO、下:ODROID-XU3LiteUDOO-XU3Lite

 

 

 

 

ODROID-XU3LiteODROID-XU3Lite

 

 

 

 

ODROID-C1ODROID-C1

 

Kivy on UDOO 苦戦中 UDOO-report10

現在、Linaro Ubuntu12.04LTS環境下でのKivy構築にトライしているが、どうしてもできない・・・ Kivy forum と UDOO forum の両方に投稿して、お助け待ちしてます。先日、Kivy forumにおいて、RaspberryPieでのKivy構築に成功している方から、メールがありました。debudの結果を提示したところ、openGLの問題ではないかとのこと。OpenGLでの問題となると、RaspberryPieとUDOOではSoCが異なるので、解決に時間がかかりそう・・・

参考までに、メールいただいた方がRaspberryPieでKivyを動かしている様子は下記に