株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。新規開発案件のご依頼をお待ちしております。

*

AndroidでUSBシリアル通信(その3)ライブラリサンプルの通信確認

      2016/10/26

AndroidでUSBシリアル通信の3回目です。前回は以下のライブラリのArduinoのスケッチの動作を確認しました。

usb-serial-for-android

今回は、Android側の動作確認をしてみます。
IMG_0856

説明は後にしてまず動作させてみます。

(※2015/05/12追記 以下でAndroid Studioでのビルドについて書きました。
無線マイコン ToCoStick(トコスティック)をAndroidで使ってみた 追記ここまで)

今現在ライブラリ全体は上記ページの右下部分のDownload Zipのリンクからダウンロード可能です。以下の赤枠です。
0001

このzipファイルを展開すると現時点で以下のファイル構成になります。
0004

この中の、UsbSerialLibraryフォルダがドライバ、通信ライブラリ関連で、UsbSerialExamplesがサンプルプログラムです。この UsbSerialExamplesの動作確認をします。ここでは、Eclipse (Android Developer Tools)を使います。他の開発環境の場合はその環境に合わせて試して下さい。

まず、Eclipseから上記のUsbSerialLibraryフォルダとUsbSerialExamplesをWorkspaceにインポートします。メニューのファイル、インポートを選択します。(※以下からの画像はメニューが英語のままです。日本語メニューの場合は適宜読み換えて下さい。)

0007
Androidを選択して次へ進みます。

ここでUsbSerialLibraryフォルダをインポートします。
0010

同様にして、もう一度メニューからインポートを選択して、UsbSerialExamplesをインポートします。(※途中の画像は省略です。)
0011

以下のようにインポート出来るかと思います。

0012

以下、動作確認方法です。

ビルド
ソースを変更していないそのままの状態であればビルドが可能だと思います。

実機へインストール
Android実機をデバッグ可能な状態にして開始するか他の方法で実機にサンプルアプリをインストールします。
(※AndroidはUSBホスト機能を使うのでAndroid3.1以上が必須です。)
shl23

Arduinoと接続
ArduinoのケーブルでUSBホストケーブルを経由してArduinoとAndroidを接続します。
IMG_0852

アプリの起動
ケーブル接続後に、Android画面上にアプリ起動確認の画面が表示されます。ここから起動します。
detectDevice

ドライバの選択
ドライバ一覧の画面にArduinoのドライバ(CDC-ACMドライバ)が表示されると思います。CDC-ACMドライバは仮想モデムまたは仮想COMポートとして見せます。ここでは仮想COMポートに見えます。
arduinodriver

通信の確認
ドライバリストから選択すると、前回、Arduino IDEで確認したArduinoからの送信データが表示されるかと思います。
console

別のドライバでの通信確認
今度はRS232CシールドをArduinoに接続して、USBシリアル変換ケーブルを使ってみます。以下のように接続します。この場合は、Arduinoには電源は供給されませんので、USBからか別の電源で電源を供給します。このRS232Cシールドですが、配線を見るとArduinoのUARTのRX、TXに接続されています。
serialshield

IMG_0856

Arduino単体と同様にUSBホストケーブル経由でAndroidに接続します。以下のドライバが認識されます。
driverlist

ここでは、Prolificのドライバを認識しています。以下の内蔵チップがProlific製のようです。
serialcable

ドライバを選択すると通信が確認出来ます。
prolificprocess

これで動作確認完了です。

留意点です。実際の開発の際に何種類かのケーブルを試しましたが、認識はするものの通信が正常に行えないケーブルもありました。このあたりは実際の開発ではテストを行って正常なテスト結果が出たケーブルを採用するとか、このドライバを使わずに別の方法を検討するかといった判断が必要になると思います。

次回はこのサンプルアプリの内容を見てみます。




 - Android, 通信制御

AdSense

AdSense

  関連記事

無線マイコン ToCoStick(トコスティック)をAndroidで使ってみた

無線マイコンの ToCoStick(トコスティック)をAndroidスマホで使っ …

温度センサADT7410(その1)i2C通信とは

温度センサのADT7410を使ってみます。ADT7410はアナログ・デバイセズ社 …

温度管理システム的なものを作ってみる(その5)AndroidからCloudへの送信

温度管理システム的なものを作ってみるの5回目です。前回はCloud(Micros …

温度管理システム的なものを作ってみる(その2)Arduinoでの温度取得からスマホへ送信

「温度管理システム的なものを作ってみる」の2回目です。前回は全体的な内容について …

Arduino Ethernetシールド(旧製品)を使ってみた

Arduino Ethernetシールド(旧製品)を使ってみました。Arduin …

無線マイコン ToCoStick(トコスティック)をRaspberry Piで使ってみた

無線マイコンの ToCoStick(トコスティック)をRaspberry Piで …

Arduino CC3000 WiFi シールドでHTTP POST

Arduino CC3000 WiFi シールドでHTTP POST通信を試して …

温度センサADT7410(その2)Arduinoでの利用

温度センサADT7410の2回目です。前回はI2C通信の簡単な概要とADT741 …

無線マイコンTWE-Lite DIPを使ってみた

無線マイコンのTWE-Lite DIPを使ってみました。製品の詳細はメーカのペー …

無線マイコン ToCoStick(トコスティック)を使ってみた

無線マイコンの ToCoStick(トコスティック)を使ってみました。 前回のT …