<概要>
■ANDROIDスマートフォンとマイコンをシリアルで接続するインターフェイスボード
AGB65-ANDROIDは、ANDROID携帯のUSBポートに接続する非同期シリアル通信インターフェイスボードです。ANDROID携帯を、自作マイコンボードや市販のマイコンボードに接続することが可能になります。
■TTLレベル(5V)入出力
電子工作でよく使われている、H8やPIC、AVRなどの5V系のマイコンのUARTと接続することができます。
■AGB65インターフェイス
通信ポートや電源コネクタはAGB65シリーズと同じものが実装されていますので、AGB65に付属のケーブルを使い、最小限の工作で接続が可能です。ハンダ付けの作業などをほとんど行わずに、RCサーボや各種センサーをANDROID携帯に接続することができます。
■Android USB Accessoryで自動認識
通信はGoogleの Android OpenAccessory 仕様で行います。本ボードにはすでにAndroid
USB Accessory機能対応のファームウェアが書き込まれており、ANDROID携帯側のアプリケーションソフト内に決められた文字列をセットし、USBをさしただけで自動的に認識されます。
※Android USB Accessory 機能を使うため、「Android 2.3.4」又は「Android 3.1」以上の端末が必要です。
■Androidのサンプルプログラムを掲載
本ページにはAndroidアプリを作るためのサンプルプログラムを掲載しています。(ページ下の方を参照願います。)
■115.2Kbpsの高速通信
通信は一般的な非同期シリアル通信、8ビット、ノンパリティ、ストップビット1、フロー制御なし、115200bpsで行います。
■30x40mmの超小型設計!
ロボットなどに基板を搭載する場合はその大きさがネックになりますが、本製品は極力小さい部品で構成されており、実装面積が小さくて済みます。また、基板の4箇所には取り付け穴があります。(穴径2.2mm、M2ネジ用)
■カスタム対応
本製品はカスタム生産も可能です。
接続名称などの接続情報を変えたい、基板の色や印刷を変えたい、自分の基板上に組み込みたい、などのご要望がありましたらメールにてご相談下さい。
<対応ANDROID端末>
本製品はAndroid USB Accessory を使っています。購入前に、ご使用になる端末がこの機能が使えるANDROID端末であるかをご確認下さい。
2012年7月現在、対応するOSのバージョンは「Android 2.3.4」又は「Android 3.1」以上となっております。但し、日本国内で販売されている機種によってはこれらのバージョンでもUSB
Accessory機能が使えないものがあります。(特に現時点ではGalaxySII は2.3.4、2.3.6でも非対応です。将来的には対応になるようです。)
確認方法は、ADB接続時にコンソールから adb shell pm list features を実行してください。
feature:android.hardware.usb.accessory が表示されれば、本製品をつかうことができます。
以下は、Android 4.0.4 のGalaxy Nexus での実行例です。
※ADBはAndroid端末をプログラムやデバックするときに使うプログラムです。ADBの使い方などについてはAndroid開発関係の書籍やネット情報などを参照願います。
<ANDROID 4.1(以上)の場合>
初期出荷バージョン(2012年8月以前の出荷版)の中にはAndroid4.1以上だと動かない場合があります。もし、うまく接続されなかった場合はOSのバージョンを確認し、4.1以上の場合は浅草ギ研までお戻しいただければファームウェアをアップデート致します。詳しくはメールにてお問い合わせ下さい。
<仕様>
電源
|
+5〜5.5V(Android携帯のAC充電器) 又は +7〜25V (*1) 1A以上安定供給できるもの |
通信設定
|
8ビット、ノンパリ、ストップ1ビット フロー制御なし
非同期通信 |
通信速度
|
115200bps |
寸法/重量
|
寸法30x40mm 重量:8g |
付属品
|
なし (*2) |
(*1)携帯付属のACアダプタ、ニッケル水素6連、リチウムポリマー2セルを推奨。9Vアルカリ乾電池でも動きますが、AGB65シリーズをたくさんつないだり、長時間の駆動はできませんので注意してください。
(*2)別途USBケーブル(A-microB)及び、電源ケーブルが必要です。
<価格>
AGB65-ANDROID本体
税込み 6,300円 (本体価格6,300円)
※別途、USBケーブル(A-microBタイプ)が必要です。AGB65シリーズと接続するケーブルは各AGB65に添付されています。
※マイコン基板などと接続する場合は、基板裏からハンダ付けで線を出すか、下記の別売りコネクタケーブルを加工して使用してください。
AGB65-電源延長ケーブル 105円 (本体価格100円)
AGB65-通信延長ケーブル 410円 (本体価格390円)
AGB65-5V5Vケーブル 84円 (本体価格80円)
<機能概要>
本ボードは、Android USB Accessory モードを使用しております。お使いになるAndroidスマートフォンのバージョンが2.3.4以上、又はお使いになるAndroidタブレットのバージョンが3.1以上であることを確認してください。
<Android端末とUSBの種類>
Androidデバイス(スマートフォンやタブレットなど)にはUSBコネクタがあります。大抵はUSB−microBタイプのコネクタがあり、充電などに利用されています。
USBは「ホスト」と「デバイス」があり、ホスト側で通信を制御します。2012年6月現在に発売されているAndroidスマートフォンの多くはデバイス機能しかありませんので、USB接続のアクセサリを作ろうとした場合はアクセサリ側にUSBホストの機能が必要です。(タブレットにはホスト機能もデバイス機能もあるものもあるようです。)
スマートフォンのアクセサリを作ろうとした場合は、アクセサリ側にUSBホストの機能が必要です。
USBホスト機能が無いタブレットの場合も、アクセサリ側にUSBホストの機能が必要です。
<AGB65-ANDROIDの機能>
AndroidのOSは、タブレットが出始める前のスマートフォンが2から始まるバージョン、タブレットは3から始まるバージョン、最近はそれらが統合された4から始まるバージョンになっています(2012年6月現在)。バージョン2.3.4以上、又は3.1以上及びバージョン4以上には「USB
Accessory モード」という機能があり、専用に設計されたUSBホストとの通信がOSレベルでサポートされています。
たとえば、Android端末上で、USB Accessory に対応するソフトウェア「AGB65-ANDROID
demo」というアプリケーションを作ったとします。AGB65-ANDROIDを接続しただけでOS側で自動認識し、下記のような画面が出ます。
<−この画面はOSが自動で認識して出している。
ここでOKを押すと、アプリケーションソフトが立ち上がり、回線が接続されます。AGB65-ANDROID側の電源を切る、又はUSBコネクタを外すと自動的に回線が切断されます。
チェックボックスにチェックを入れると、次回からはUSBコネクタをさすだけでアプリケーションソフトが立ち上がります。
回線接続後は、ハードウェアを意識することなく通信をすることができます。通信プログラムについては、下記サンプルプログラムに例があります。USB通信を管理するクラスの例などがあります。
<ピン配列>
四隅の穴径は2.2mmです。(M2ネジで基板を固定)
<接続例>
<電源の接続>
電源は、電源の種類により2つの電源端子があります。
<例1)家庭用100VAC電源で動かし、5Vマイコンボードと接続する場合>
micro-Bコネクタに携帯のACアダプタを接続した場合は、5V電源端子からマイコン用電源を取ることができます。(300mAまで。)
<例2)携帯システムを構築する場合>
AC100Vコンセントを使うのではなく、システムを携帯したい場合は、7V以上のバッテリを接続すれば可能です。
7V以上のバッテリは、9V乾電池、2セルのリチウムポリマー(またはリチウムイオン)、6本以上直列のニッケル水素、3本以上直列の3Vボタン電池などがあります。
<例3)AGB65シリーズで移動ロボットを構成する場合>
AGB65シリーズの場合は各種コネクタが付属されていますので、ハンダ付けをしなくてもシステムが構成できます。また、各ボードにはファームウェアが書き込まれていますので、ユーザーはAndroidデバイス側のアプリケーションプログラムを組むだけでロボットが構成できます。
サーボ用バッテリからの電源はAGB65-ANDROIDを経由して、Android携帯に供給されます。
<開発環境>
本ボードを使ってAndroidアプリケーションを作るには、下記のような開発環境を構築します。尚、Androidアプリの作り方などは専門書、インターネット情報、GoogleのAndroid開発者向けページ、を参照願います。本製品固有の技術的な情報は、サンプルプログラムを次の節で用意していますのでそちらも参照願います。
<Androidアプリケーションの基本的な開発環境>
通常、Androidアプリを開発する場合は下記のような構成になります。開発に必要なソフトウェアは全て無償でダウンロードできます。これが開発の基本形になります。ソフトウェアのインストールや設定などは初級本に書いてありますのでそちらを参照してください。Android関連のソフトウェアはバージョンの変化が激しいので、できるだけ新しい本を参考にするとよいでしょう。
Eclipseは無償の統合開発環境で、この上でプログラムを開発したり、スマートフォンに転送したりします。
プログラムの転送やデバックには「ADB(Android Debug Bridge)」というソフトウェアを使います。スマートフォンの機種ごとにADBのドライバがありますので、スマホメーカーのサイトなどからこのADBドライバを入手する必要があります。ここが第一の関門となりますが、機種によってインストール方法などまちまちですので、インターネット情報などを参照してください。(筆者環境の例をサンプルプログラムの節で紹介しています。)
画面上だけで動くソフトウェアなどはこのような構成でよいのですが、アクセサリとはUSBで接続するので、アクセサリ開発の場合はこのままだとデバックができません。
<Androidアクセサリ開発のデバック>
AndroidスマートフォンにはWifi(無線LAN)機能がついていますので、アクセサリ開発の場合はWifiでデバックします。PCにもWifi機能が必要で、LAN接続するのでWifiルータも必要です。
基本的にはデバックやプログラム転送はADBを使ってWifi接続する、ということになっていますが、スマートフォンの機種や、AndroidのバージョンによってはADBでWifi接続が難しい場合もあります。このような場合、現時点ではデバックのためのフリーソフトなどがあります。
たとえば、筆者の場合、GalaxyNexus (Android 4.0.3) の場合は、Gooleのサポートページの通りに設定し、ADBでWiofi接続ができました。しかし、Nexus
S(Android 2.3.6)の場合は、ADB+Wifiで接続できなかったので、PCをMacにし、フリーの「LogCat」というソフトでデバック情報だけMacに表示させたりしています。これらの例については次のサンプルプログラムでご紹介します。
注意)Android関連は変化が激しいので、当ページで説明している画面などが、最新版だと変わってしまう場合があります。このページの情報はあくまでも例ですので、各自、お手持ちのAndroid端末に合わせた情報をインターネットから入手してください。基本的に、初期不良以外の個別のお問い合わせに関してはお答えできませんのでご了承下さい。
<接続仕様>
下記仕様にてJAVAアプリを作ってください。
1)APIレベル10以上でプロジェクトを作る
2)USB
Accessory の仕様でアプリを作る
3)アクセサリフィルタに
manufacturer="AsakusaGiken"
model="AGB65-ANDROID"
を追加
4)アプリケーションが画面に表示されるとき(onResume( )時)に、アプリからAGB65-ANDROIDに 0xFE
を1バイト送る。
5)アプリケーションが画面から消えるとき(onPause( )時)に、アプリからAGB65-ANDROIDに 0xFD
を1バイト送る。
具体的には、下記サンプルプログラムの「■スマートフォンとの接続」で、送受信を行うクラスや、実際の接続プログラム例をご紹介していますのでそちらをを参照願います。
<サンプルプログラム>
※AGB65シリーズとの接続の例を紹介していますが、マイコンとの接続も同様にしてできますので、下記サンプルプログラムを参照願います。尚、これらのプログラムは動作を保証するものではありません。また、個別のご質問にはお答えできない場合がありますのでご了承下さい。
■はじめてAndroidアプリを開発する方への、スマホ選定や開発の仕方など
■スマートフォンとの接続 (AGB65-ANDROIDの通信方法)
■AGB65-RSC2を使い、スマートフォンからRCサーボを動かしてみる。(Androidデバイスから送信)
■AGB65-ADCを使い、スマートフォンでいろいろなセンサーの値を読み取ってみる。
(Androidデバイスへ受信)
■スマートフォンから音声認識でRCサーボを動かしてみる。(音声認識)
<トラブルシューティングQ&A>
Q:通信できない。
A:ケーブルがつながっているか確認してください。(意外に多い)
<使用上の注意>
・このボードは電子機器です。取扱い、輸送時には静電気対策を行ってください。ICの足や、各ピンを直接手で触ったりすると静電破壊される場合があります。
・バッテリ使用時には電源ラインをショートさせると、バッテリが破裂・発火する可能性があります。作業中にはショートさせないよう十分注意して下さい。また、取り付け後も、あいている電源ラインに導電物質が触らないように注意して下さい。
|