レビューメディア「ジグソー」

「What will you make?」「あなたなら、何を作りますか?」

 

 Intel(R)Galileo 開発ボード

 

プレミアムレビュー

 

 

ファーストインプレッション

 

Intelの低消費電力x86 CPU、Intel Quark SoC X1000を搭載した「インテルGalileo開発ボード」のレビューになります。

「インテルGalileo開発ボード」は、Arduinoとの互換性に配慮して設計された、ホビー向けの開発ボードで、Arduino用の拡張ボード「シールド」の流用、Arduino用のスケッチ(プログラム)の流用が容易な作りになっているそうですので、早速使ってみます。

 

開封編

 

 

外箱と、箱の中に「What will you make?」とあります。さて何を作ろうかなとゆう

思いになりました。

 

外箱の底面と、内部の底面にボードのイラストがありました。

 

 中には、Galileo本体と、ACアダプターと各国用プラグが入っていました。

 

 

Intel Galileoについて

1.電源

今迄見てきたマイコンボード等は、ボード上のUSBポートから給電するだけで動作するものが多かったですが、Intel Galileoは、ACアダプタからの給電になります。

そこで、付属のACアダプタの出力が5V/2Aなので、電源ケーブルを作り、モバイルバッテリーで動作すようにすれば、色んな用途に使えそうです。

2.CPU

Intelの低消費電力x86 CPU、Intel Quark SoC X1000を搭載していて、400MHzで動作しているようです。

 

 

3.OS

Arduino互換のソフトウェア環境と、それとは別にLinux BSP(Board Support Package)も提供され、どちらでも利用可能となっていますが、今回私は、マイコンボードとしてGalileoを使用するので、取り敢えずArduino互換環境を構築してみました。

4. Arduino互換性

Arduinoとの互換性に配慮して設計された、ホビー向けの開発ボードで、Arduino用の拡張ボード「シールド」の流用、Arduino用のスケッチ(プログラム)の流用が容易です。

 

5.グラフィック機能

グラフィック機能、HDMIポートを持ち、Androidを載せることもできるRaspberry Piとは異なり、Intel Galileoはグラフィック機能を持たず、UEFIでブートする都合上、Windows、MS-DOSを起動させることは困難な様です。

6.Ethernetポート

ボード上にEthernetポートがあり、Galileo用Arduino IDEに付属のEthernetライブラリで使える他、Galileoに搭載されたLinuxからも利用できるそうです。

7.Mini PCIe

基板の背面に、Mini PCIeコネクタが有り、ここにWiFiカード等を挿入可能で、WiFiについては、Galileo用Arduino IDE付属のライブラリで、Arduino互換にて使えるとのことです。

8.MicroSD

ボード上にMicroSDソケットがあり、Galileo用Arduino IDE付属のライブラリでArduino互換にて使える他、ここにブート用のファイル「LINUX IMAGE FOR SD for Intel Galileo」を書き込んで置くと、Linuxが起動可だそうです。

9.USB Hostポート

Arduino IDEとのやりとりをするのに使うUSB クライアントポートのほかに、USB ホストポートを搭載し、Arduino IDEのUSB Hostライブラリで利用可能です。

セルフパワーのUSBハブが接続出来れば、色々使えるんですがね。

 

 動作確認

 1.ソフトウエアのダウンロード

Galileoの場合、Arduino互換のソフトウェア環境と、それとは別にLinux BSP(Board Support Package)も提供され、どちらでも利用可能となっていますが、今回私は、マイコンボードとしてGalileoを使用するので、取り敢えずArduino互換環境を構築してみましたが、今回のミッションが終了したら、Linuxとしても、使ってみたいです。

ソフトウェアは、Intel Makers Communityからダウンロードできます。

https://communities.intel.com/docs/DOC-22226

 私のPCは、Windows 8.1環境なので、「Intel Galileo Arduino SW 1.5.3 on Windows」をダウンロードしました。

 zipファイルなので展開しますが、この際に展開先を"C:\"にする必要があるそうです。実際は別の場所でもいいそうですが、Arduino IDEからg++を呼び出すにあたり、ロングファイルネームに対応していないようで、C:\Program FilesとかC:\Program Files(x86)ではダメだそうです。また、同時にGetting Stated Guideも入手してみました。

https://communities.intel.com/docs/DOC-21838

 

 

 

 2.PCとの接続

1.まずIntel GalileoにACアダプタを接続電源ONにし、PCとIntel GalileoをUSBケーブルで接続します。この順序を逆にすると、故障する恐れがあるので注意が必要です。又取り外す際は、USBケーブルを残した状態でACアダプタの電源をOFFにしないように注意しましょう。

 Getting Started Guideによれば「ACアダプタを挿さずにUSBを接続するとボードが壊れる可能性がある」と警告されています。

2.デバイスマネージャーでGadget Serial Driverが表示されているのを確認し、「ドライバの更新」をします。

3.Driverの指定で、先に展開した、C\:Galileoを指定して更新します。

 更新が完了すると、デバイスマネージャーのポートのところに、Galileoが認識されました。

4.Intel Galileo 用Arduino IDEを起動して、ファームウェアのアップデートをします。

 「ツール>シリアルポート」を見て、私の環境でIntel GalileoはCOM4で認識されているので、COM4を選択します。

 「ヘルプ>Firmware Update」を実行すると、Galileoの電源は、ONになっていますか?と確認が出ますので、「はい」を選択します。

 

 インストールされているファームウェアより新しいものが見つかりました。アップデートしますかの確認が出ますので、「はい」を選択します。

 約6分位で終了しますので、「了解」を選択してアップデートを終了します。

3.スケッチの動作

 Intel Galileoのデジタルの13番は、基板上のLEDに繋がっているようですので、点滅させてみます。

1.Intel Galileo 用Arduino IDEを起動して、「ファイル」を開き、「スケッチの例>01.Basic>Blink」を選択します。

 

2.「ファイル」を開き、「マイコンボードに書き込む」を選択すると、基板上のLEDが点滅始めました。

 書き込んだスケッチは、USBケーブルを引き抜きしてもそのままですが、 Galileoの電源を一度切ると消えてしまい、継続されませんでしたが、「LINUX IMAGE FOR SD for Intel Galileo」を書き込んだ、MicroSDカードから起動すると、スケッチが保存されるようになりました。

 

 

 

ファーストインプレッションまとめ

現在Linux BSP(Board Support Package)動作の方は、確認していませんが、Arduino互換のソフトウェア環境の方は、取り敢えず確認出来ました。

感想

Arduinoに関しては、初心者の私でも、少しずつですが、使えるようなり今後が楽しみです。

ただ、USBケーブルを接続する際に、先にGalileoに通電しないと、壊れる可能性があることや、電源切るとスケッチが、消えてしまったり(これに関しては勉強不足で、良い方法があるかもしれません。)シールドが使えないものがあったり、ちょっと躓いてます。(;´・ω・)

これから、キット、パーツ等が届きましたら、レビュー課題を行っていきます。(2/28着弾しました。)

3/3追記

MicroSDカードから起動すると、スケッチが保存されるようになりました。

 

 

レビュー課題編

 

 

概要

今回のミッションは、Galileo(Arduino互換)+Bluetooth+Androidスマホでコントロールする、タンクを製作することです。

ハードウェア仕様

パーツ、キット他

1.Intel Galileo(Arduino互換)モバイルバッテリー電源供給仕様

 Anker Astro M3モバイルバッテリー+電源供給ケーブルDC-5521A

 

2.タミヤ楽しい工作シリーズNO.108タンク工作基本セット

 

3.タミヤ楽しい工作シリーズNO.168ダブルギヤボックス

 

4.タミヤ楽しい工作シリーズユニバーサルプレート

 5.モーターシールドRev3

 

6.「Bluetoothモジュール」:FB155BC

 

7.コントロール用Androidスマホ

 

8.乾電池BOX、線材、ユニバーサル基板等

 

 

ハードウェア組み立て

 

ギヤボックスの組み立て

タミヤ楽しい工作シリーズNO.108タンク工作基本セットには、シングルモーター駆動のギヤボックスが付属していますが、前進後退、旋回をモーターの回転制御だけで行いますので、今回は、タミヤ楽しい工作シリーズNO.168ダブルギヤボックスを使用します。

ギヤボックスの説明書に従い組み立てます。今回はタンクに使うので、低速高トルクのギヤ比を選択しました。

 

 

ギヤボックスにモーターを取り付けると電源コードのはんだつけが、しずらいので先に付けて於きます。今回はモーターシールドのネジで固定する端子台に接続するので、先端もはんだつけしといた方が、良いでしょう。

私は、プレットボード用ジャンパーコードを使用し、テスト等で簡単に延長出来るようにしました。

ギヤボックスの組み立て完了後は、モーターの取り付けです。

 

 シャーシ、キャタピラの組み込み

タミヤ楽しい工作シリーズNO.108タンク工作基本セット内にあるトラック&タイヤセットと、木製シャーシにギヤボックス電池ケースを組み込みます。

ここで、問題が発生しました。ギヤボックス変更に伴い付属の木製シャシーのサイズが小さい為使えませんでした。

そこで、 タミヤ楽しい工作シリーズユニバーサルプレートを急遽使うことにしました。

またもや、ギヤボックスが大きいのかユニバーサルプレートを切り欠くことになりました。

 

シャーシ廻りの組み立て完了

総合的組立

モーターシールドを取り付けたGalileoや、Bluetoothモジュール、モバイルバッテリー、電池ケース等を、タミヤのユニバーサルプレートに取り付けし、結線していきます。

 

配線中 

 

 ハードウェア完成

全てのパーツ、結線が完了し一応完成しました。これから、スケッチの書き込みや、Androidからの、コントロールが出来る様に頑張って実装していきます。

 

 

モバイルバッテリー取り付け状況

 

上部から撮影

 

 

Galileo側のスケッチ構築

 モーターシールドの動作確認

「CarTest.ino」とゆうサンプルスケッチで、モーターシールドと2つのモーターの回転方向の確認が出来ました。

*このスケッチでは、前進3秒、後進3秒の繰り返しの動作をすることができます。

 

 

 

問題なく動作し、回転方向等は正常でしたので、前後だけの、単純な動作だけですが動画掲載しました。

キャタピーラを外しモーターの動作と、モーターシールドの出力を撮った動画です。

 

 

走行させた動画です。ギヤ比をもう少し低くした方が良さそうです。

 ここまでは、順調でしたが次の項目で躓いてしまいました。(-_-;)

Bluetoothモジュールの動作確認と、ペアリング

今回私が使用した、FB155 v2.2.1というFirmtech製のモジュールをAndroid端末からすんなりペアリングするためにはBTconfigなるソフトを使ってセットアップしてやる必要があるそうでした。

 

 

http://firmtech7.cafe24.com/bizdemo4649/download/util_eng.php

からFirmtech utility、Bluetoothをダウンロードして展開してBTconfigを用意しておきます。

1.FB155 BluetoothモジュールとGalileoを配線する。
FB155 Vcc (3.3V) <----> Galileo 3.3V
FB155 GND <----> Galileo GND
FB155 RXD <----> Galileo RX0 (D0)
FB155 TXD <----> Galileo TX0 (D1)


2.GalileoとPCをUSBでつなぎ、コントロールパネルからデバイスマネジャーを呼び出してポートを見てCOMポート(例COM6)の番号を確認する。

 

3.この(例COM6)を使って、次のスケッチをGalileoに書き込む。
void setup() {
}
void lop() {
}
4.USB結合をそのままにしてBTconfigを起動する。

 

 

Serial Openに(例COM6)と入れてOPENしてREADするとOverviewにFB155のパラメータが表示されるので、Security Parametersを Authentification: ENABLE, Pin Code: 0000, Encryption: DISABLEにセットする、UART ParametersのBaud rate: 9600を確認してWRITEのボタンを押す。これでペアリング出来るようにセットされるようです。

 

 

上記の方法で、ペアリングを試みたのですが、エラーにより先に進めませんでした。(;´・ω・)

Arduino Unoを購入したので、これから接続してファームウェアのアップとかも検証してみます。

 

ペアリングが出来れば、「BT-RemoconCar.ino」とゆうスケッチで、Androidと通信ができるようです。

ここでも、スケッチ検証途中で、エラーが出てしまいました。(Car Test.inoは大丈夫でした。)

Galileoは、Arduino互換とゆうことですが、一筋縄では動かないですね。

ここまでの動作確認を本家Arduino Unoを使い検証してみます。

もし、Galileoで手こずるようでしたら、申し訳ございませんが、Arduino Uno+Bluetooth+スマホで動作させてから、再度Galileoにて挑戦します。

 

本日、Arduinoと接続してみましたが、Buletoothモジュールの動作は問題なかったです。

Bluetoothモジュールのセットアップ

 

Serial OpenにCOM8と入れてOPENしてREADするとOverviewにFB155のパラメータが表示されるので、Security Parametersの Authentification: DISABLE  Pin Code: BTWIN Encryption: DISABLEの確認と、UART ParametersのBaud rate: 9600を確認してWRITEのボタンを押すとペアリング出来るようにセットされました。

Androidスマホとのペアリング

 Androidスマホ側では設定アプリを呼び出して、BluetoothにFB155v2.2.1が表示されているのを確認してペアリングに進みペアリングのコードは「BTWIN」を使い、キーボードから入力するとペアリングが完了しました。

 

 

 

PC~Arduino~Androidスマホ間のシリアル通信

1.スマホに「Bluetooth Terminal」アプリの「Blue Term」をインストールします。

2.アプリ起動

3.メニューから、「Connect device」を選択する

4.ペアリング済の「Bluetoothモジュール」がリストアップされますので、「FB155v2.2.1」を選択します。

5.接続が完了すると、画面右上に「connected:FB155v2.2.1」と表示され、ArduinoとAndroidが接続されます。

6.とりあえず、このまま接続状態で、PC側にも「Teraterm」アプリをインストールします。

7.Android側にもどり、適当な文字を入力すると、「Teraterm」側にその文字が表示されました。

8.PC側から、文字を入力すると、Android側の「BlueTerm」に表示されます。

 

以上で、ArduinoとAndroidの間で無線シリアル通信ができるようになりました。

スケッチの書き込み

 

Galileoでも同じような通信ができるようにもう少し検証してみます。

まあこれが、開発の醍醐味でしょうね。

ここで、Androidアプリを作る前に、先にインストールした「BlueTerm」を使い、文字列コマンドで操作してみます。

文字列コマンド

前進 AF

後退 AB

右折 AR

左折 AL

1.  「BlueTerm」を起動

2. メニューから、「Connect device」を選択

3. ペアリングの済んでいる、モジュール名を選択

4. 画面右上にモジュール名が表示されると、接続完了

5. 文字列コマンドにて動作確認

 

文字列コマンドにて、前進、後退、右折、左折の動作させてみました。(撮影の都合上キャタピラーは外してあります。)

スマホから、文字列を送信したら、正常に動作しました。

これまでの、苦労を思うと少し感動しました。

 

これで、一応最初の目標である、Arduino+Bluetooth+Androidスマホでコントロールするタンクは完成です。

 

 ここまでできれば、後はスマホ側にコントロールアプリを入れることで、タンクをBluetooth経由でスマホで自由にコントロールできます。

 

Android側の制御アプリの作成

Android開発環境の構築

Androidアプリケーションを開発するために必要となるAndroid SDK(Software Development Kit)と、Javaの開発でよく利用されるEclipseをインストールします。

現在、EclipseやADT(Android Development Tools)というプラグインがパッケージとなったAndroid SDKが用意されています。

私はWindows環境で開発するので、このAndroid SDKをインストールして環境構築を行いました。

http://developer.android.com/sdk/index.html

「Android Developers」サイトからAndroid SDKをダウンロードします。

 

1.「Download the SDK ADT Bundle for Windows」ボタンをクリックします。

 

2.利用規約の同意画面が表示されますので、チェックボックスにチェックし、32ビット版Windows環境の場合「32-bit」、64ビット版Windows環境の場合「64-bit」を選択して、「Download the SDK ADT Bundle for Windows」ボタンをクリックしてダウンロードします。

3.解凍したフォルダを開いて、正しく解凍できていることを確認しします。

 

4.これでAndroid SDKEclipseのインストールは完了ですので、Eclipseの起動確認をしておきます。

解凍したフォルダのeclipseフォルダにEclipseを起動するexeファイル「eclipse.exe」がありますので、そのファイルをダブルクリックします。

5.起動すると「Workspace Launcher」ダイアログが表示されますので、Workspace(ワークスペース)のフォルダを選択します。

ワークスペースを選択したら、そのまま「OK」ボタンをクリックします。

6.これでEclipseの起動が完了します。
Googleに送信されるSDK使用の統計情報のためのダイアログが表示されますので、「Finish」ボタンをクリックします。

7.Eclipseの開発画面が表示されます。これでEclipseの起動確認は完了です。

 

対象のバージョンのSDKコンポーネントを追加

 

1.インストールしたAndroid SDKのフォルダにある「SDK Manager.」をクリックします。

2.「Android SDK Manager」ダイアログが開き、インストール可能なSDKコンポーネントの一覧が表示されます。

 

 

プロジェクトに、「RemoteControlCar」を作成します。

 

 

 

 

コンパイルして、Androido端末に実装します。

 ここで、またもや躓いてしまいました。(エラー吐きまくりダメでした。)(-_-;)

又一つ、解決しなければいけない問題が出てしまい頓挫してしまい、現在デバック中です。

ほんと難しいです。

今後も挑戦が継続しますので、進展がありましたら追記して行きますのでよろしくお願いします。

 

今後の課題

1. Galileoと、Bluetoothモジュールとの接続

2. Androidアプリの完成 2014.4.10完成しました。

3. タンクにWebカメラ搭載しスパイタンクとして使ってみる。 

まとめ

約2か月くらいかけてGalileoと格闘してきましたが、Arduino互換でインテル Quarkプロセッサー搭載しLinuxが走るインテルのGalileoですが、Arduino互換ということであれば、既存のシールドやパーツが接続でき(私の場合Bluetoothモジュール他)、スケッチの転用もできそうだ。……と思っていましたが、現実はそんなに甘くなかったです。(-_-;)

ここで、分かったことですが、従来からArduino用として市販されているシールド(拡張ボード)がそのまま使えるとは考えない方が良さそうです。

インテルのサイトでは動作確認が取れているシールドのリストが掲載されていましたが、私が必要とした、シールドは無かったです。

今後Galileoのファームウェアのアップデートやライブラリの更新により、Arduinoとの互換性が向上して欲しいです。

 

まあ開発の醍醐味と、苦しみを味わえて今回は本当に勉強になりました。

私の個人的感想ですが、「インテル開発ボードGalileoは、電子工作に関しては、帯に短し襷に長し」とゆう感じでした。

 

今後の更新スペース

 

 本日(4/10)Androidアプリが完成しました。

 

こちらを参考にさせて頂き、Andoroidプログラム内の、AndroidManifest.xmlを一部手直しして、完成しました。

 

LGL22 Androidスマホにアプリを転送してみました。

 

起動画面です。

ここで、Bluetooth機能をオンにして、ペアリングの終わっているBluetoothモジュールを選択すると、通信が確立されます。

メイン画面は、11x11のマス目で構成され、下部の画像の様に、マス目をタッチした時に表示され、十字の交点がタッチされている領域になります。

タッチしている位置によって「前進」「後退」「右旋回」「左旋回」の指示が指一本で行えます。

マス目の中央をタッチしている時は「停止」状態です。

 

これで、Androidアプリが完成しました。

キャタピラーを外して車輪だけの回転だけですが、一応指一本でスマホから、Bluetooth経由でコントロール出来ました。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

コメント (11)

  • CLWさん

    2014/03/07

    レビューお疲れ様です。m(__)m
  • ヒロ妨さん

    2014/03/07

    CLW さん、コメントありがとうございます。
    まだまだ、これからですが
    こまめに更新していきますので、よろしくです。
  • タコシーさん

    2014/03/07

    ヒロ妨さんのアグレッシブな意気込み感心しますよ

    私にゃ無理だ....とても無理

    ブルートゥース利用なんですね 良い結果を出してくださいね
他8件のコメントを表示

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ほかのユーザーのレビュー

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから