08日 2月 2017
Deep Learing(深層学習)は、多層のニューラルネットワークを用いた機械学習の方法論です。(「深層学習 (機械学習プロフェッショナルシリーズ)」より) 最近どこでも聞かれるキーワード、IOT(Internet Of Things)...
04日 11月 2015
【今回の目標】 前回のテーマは、HummingBoardにMiniPCIeカードのWiFiを載せることでした。OSはArmbianを使いました。 今回は、同じPCIeボードのIntelのWiFi Mini PCI カード(型番: 512AN_HMW)をAndroidKitkatから利用できるようにしてみました。これにより、WiFiを利用しながらもUSBの2ポートが使えるようになりました。
26日 10月 2015
【今回の目標】 今回のテーマは、USBポートを塞ぐことなくHummingBoardをWiFiに接続したいという要望があり、MiniPCIeカードでWiFiを試したものです。 今回使用したボードはIntelのWiFi Mini PCI カード(型番: 512AN_HMW)です。種々のOSでWIFI接続を行ってみました。
30日 8月 2015
ownCloudはオンラインストレージサービスを自分のサーバーで構築するためのソフトウェアです。ownCloud ClientはownCloud Serverに接続するためのデスクトップクライアントで、PC内のファイルのアップロードやディレクトリの同期を行える。接続にはHTTまたはHTTPSが利用でき、セキュリティ強化のためのプロキシ設定機能もある。ownCloud...
19日 7月 2015
今回のテーマは、Androidが動作するCuBox-i・HummingBoardで、自分でAndroidのアプリを作って動作させることです。Googleの最近の発表では、Eclipsのオフィシャルサポートが終了となります。Android Studioを使ってアプリの開発の方法を紹介します。 これは、2015年7月のCuBoxフォーラ at オープンソースカフェで発表されたものです。
18日 7月 2015
今回のテーマは、Kodi, Volumioへのコンテンツを供給するために必要なのがサーバーとなる。 CuBox-iで動く各種サーバーという観点でまとめてみました。内容は、CuBox-iフォーラムで発表されたものです。CuBox-iをサーバーとして使いたい方のヒントとなる内容となっています。
30日 6月 2015
今回のテーマは、通常はSDから起動しているものを、外部のUSB、eSATA、mSATAから起動させてみるということです。SolidRun社の本家フォーラムでも、いろいろなものから起動させることについて挑戦した報告があがっている。色々な環境のものを「外部メディア」に載せようと考えていると考えられます。最終的な問題点は、いずれのメディアを使おうとも、最初のブートはSDから読み出すということです。即ち、結局ブート以外のファイルをすべて外部メディアに移しての運用はできますが、SDなしでは起動しないということです。 USB、eSATA、mSATAならばどれもやり方は同じです。通常はUSB機器をつなぐのでUSBポートは埋めたくはありません、それでもUSBが一番ありうるパターンでしょう。eSATAはCuBox-i4Proのみが対応可能です。長期間にわたるサーバーの運用を考えるときにはハードディスクが大きなメリットとなります。mSATAはHummingBoard2,2eXで利用可能です。組込みシステムでの利用ではボードの裏側に取り付けて場所をとらないmSATAが大きな利点となるでしょう。ここで紹介する方法は、フォーラムやブログなどで語られたものを集めて検証したものとなっています。
18日 4月 2015
RedSleeve というLinuxディストリビューションは、Red Hat Enterprise Linux (RHEL) に由来するARMアーキテクチャへポートされたディストリビューションです。「自由なエンタープライズクラスのコンピュータ利用基盤を提供するために存在し、Red Hat の上流ソースとのソース互換の維持を目標としている」といわれています。 RedSleeve は Red Hat...
17日 4月 2015
以前、CuBox-iのAndroid4.4の kernelの変更無しで(公式Android)...
07日 3月 2015
CuBox-iのAndroidをもっと使いこなしたいと思うと、じゃあroot権限を取得したいということになります。PetapicoShopにも問い合わせがきています。ということでこのあたりを探ってみます。CuBox-iについての検証を行っていますが、PC・LinuxPCを使ったやり方は基本的には、市販のAndroid端末でも同様に使えます。ブロックしているスマホもありますので万能とはいきません。スマホ単体でrootを取得するには、特殊なアプリがあるので、それを利用する他ありません。機種ごとにに違ったりするので追いかけている方も相当な労力です。 いったん本体のrootをとれたらadbを使うと色々な作業が楽にできます。adb(Android Debug Bridge)はAndroidのデバッグをサポートするツール群です。adbはAndroid SDKに含まれているのでSDKをインストールするとすぐに使うことができます。Androidを開発に用いる方ならば準備しておいて損はありません。adbが使えるかどうかはターゲットとなるAndroid端末がadbを許しているかどうかで決まります。事前に判断するツールはありません。実のところ、CuBox-iのデフォルトのAndroid4.3 (JerryBean)や、Ignitionを使ってAndroid4.4 (kitkat)にアップデートしたものでもadbを許していません。これは容易には対処できません。PetapicoShopのオリジナル版では、エンジニアリング用にビルドしています。(*下記参考)もともとはコラムの別記事にも記載のようにタッチパネルディスプレイとWiFiのUSBドングルのためにカスタマイズして作成したものです。このバージョンではadbが使えます。コラム記載の情報からビルドを再現することができます。しかしフルビルドは時間がかかることなので、PetapicoShop版Android4.4のSDとしてPetapicoShopから購入することも可能です。 ここでは、CuBox-iのAndroid4.4 (kitkat)のPetapicoShopビルド版 を使って検証します。 [LinuxPCをお使いの場合] PCにadbツールをインストールしてサーバーを起動します。 $ apt-get install android-tools-adb $ adb start-server Android 端末を LANまたはWi-Fi ネットワークに接続し、IPアドレスを確かめます。 Android端末本体の「設定」>「WiFi」>「接続済み」となっているネットワーク名(SSID)をクリックするとIPアドレスが分かります。LAN接続ならば、Ethernetというアプリを起動してCheck Ethernetを選ぶと表示されます。いずれにしろあとで使うことになるので、ターミナルアプリをインストールして、ターミナルからコマンドでifconfigなどで調べてもいいでしょう。 ※ここでは以降、例として接続した IP アドレスを「192.168.10.10」とします。 スマホなどのAndroid端末であてば、Android端末とLinuxPCをUSBケーブルで接続し、次のコマンドでポート番号 (listen_port ここでは例として5000とします) を設定します。 $ adb tcpip 5000 ポート設定が終わればUSB接続は外し、接続コマンドを入れます。 $ adb connect 192.168.10.10:5000 これで以降はWiFi接続で操作ができます。 CuBox-iのAndroidでは、そもそもUSBの端末接続できません。そこで、ADBHOST 環境変数による方法をとります。 同じネットワークに接続したPC のコマンドプロンプト/ターミナルなどから ADBHOST 環境変数を設定します。 $ adb kill-server (すでに起動をかけているadbを一旦止める) $ export ADBHOST=192.168.10.10 $ adb start-server (adbを再起動する) これだけで接続は完了です。 (Windowsであれば環境変数は、set ADBHOST=192.168.10.10) スマホやCuBox-iが接続されたかどうかを確かめます。 $ adb devices List of devices attached 192.168.10.10:5000 device のように表示されます。CuBox-iをネット越し接続すると List of devices attached emulator-5554 device のように表示されました。devicesで表示が出ないと接続できていません。 shellを起動します $ adb shell root@android $ のようにプロンプトが返ってきたら、見てお分かりのようにrootとしてshellが起動しています。 Android端末とPCがadb connectしている状態で $ adb usb コマンドを入力するとネットワーク越しのadb接続が解除されます。 これで肝のところは終了です。root権限で操作できます。 このあとは続けて、参考のためにadbについて参考になることをもう少しみていきます。 [WindowsPCで使う場合] 以下はWindowsPCで使う場合です。 Android SDKサイトからダウンロードします。https://developer.android.com/sdk/index.html 「android-sdk_r24.0.2-windows.zip」(2015 Mar 3現在の最新) ファイルを解凍し、フォルダー名を、path設定などの便宜上「android-sdk」とリネームしておく。 設置フォルダの場所にあわせてWindowsのpathの編集もします。 Android端末側の設定 1.Android端末本体の「設定」>「アプリケーション」>「開発{開発者向けオプション}」の「USBデバッグ」にチェックを入れる 2.USBケーブルでパソコンに接続。反応しない場合にはAndroid端末の電源を入れなおしてみる 3.Windows側で「新しいデバイスが見つかりました」が表示されたら「一覧または特定の場所からインストールする」を選択し「次の場所で最適のドライバを選択する」を選び、先ほどのパス\android-sdk\usb_driverを選択。デバイスのドライバがインストールできます。 [adbの使い方] 1.エミュレータ/デバイス上に直接Androidアプリケーションをインストールすることができます。 たとえばsample.apkというアプリケーションをインストールしたい場合は以下のようにします。 # adb install sample.apk 2.開発環境上からエミュレータ/デバイス上にファイルをコピーすることができます。 たとえば、開発環境上にあるsample.pngという画像をSDカード上にコピーしたいときは以下のようにします。 # adb push sample.png /sdcard/ コマンド実行後、端末側のSDカードを確認してみてください。 sample.pngがアップロードされているはずです。 3.エミュレータ上にあるファイルを開発環境上にコピーすることが可能です。 # adb pull /sdcard/sample.png /tmp 4.エミュレータ、およびデバイスの動作ログを見たいときは以下のようにします # adb logcat Eclipseをわざわざ起動させなくてもログを確認できるのでとても便利です。 端末が複数ある場合、例えば以下のようにdevicesが複数表示される場合 $ adb devices List of devices attached yuhua device emulator-5554 device 同時に複数接続されているときは、どの端末を対象とするのかを指定します。 -d:USBで接続されている実機に対してコマンドを実行 -e:エミュレータに対してコマンドを実行 -s:指定したシリアル番号の端末に対してコマンドを実行 例として、USB接続機のSDカードにデータをコピーして、CuBox-iにアプリケーションをインストールしたい場合は以下のようになります。 $ adb -d push sample.png /sdcard $ adb -e install something.apk xxx KB/s pkg: /data/local/tmp/something.apk Success adb install <アプリケーション名.apk> adb uninstall <com.application.packagename> adb push <ローカルの転送したいファイル> <端末の転送先(/sdcard/など)> adb pull <端末の取得したいファイル> <ローカルの転送先> adb shell input keyevent <キーイベント> adb shell input text <文字列> textはEditTextなど文字入力可能なフィールドに文字を入力できます。keyeventは、キーイベント(ハードウェアキーの有無に限らず)の送信が可能です。例えばデバッグなどで仮想的にキー入力がほしい場合に重宝します