以前の記事はこちら。
http://projectc3.seesaa.net/article/237969593.html
プロトコルの詳細説明は上記URL内記事内にpdfへのリンクを貼りつけています。
MemoryMapLibは、夜子ママ氏作のAndroid用ライブラリ AndyLibと通信できるライブラリです。MemoryMapプロトコルに対応 している機器と通信できます。
AndyLibでは通信路としてBluetooth以外に、Android AccessoryやMicrobridgeなど複数の経路を抽象化、上位アプリ側に 公開するレイヤとして機能してくれます。
対するArduino側のMemoryMapLibも、各種インターフェースに対応する作りにしました。
この2つのモジュール間のやりとりは中間経路をいろいろ選択できるといえると思います。
★今現在、AndyLibについては、日本Androidの会・神戸支部のリポジトリにて公開されています。
さて本記事では、MemoryMapLibのAndroid Accessoryで使用する場合と、UART(Bluetooth含む) で使用する場合のコードの対比をしていきたいと思います。
ライブラリに同梱しましたサンプルスケッチは、ADKとUARTシリアル両方に対応しています。
サンプルスケッチの中に
#if 1 #define ADK_ENABLE #else #define SERIAL_ENABLE #endifという部分がありますので、ADK_ENABLEまたは、SERIAL_ENABLEのいずれかが有効になるようにしていただければOKです。
プロトコル等は上述のMemoryMapLibの説明から変化ありませんが、ADK等のインターフェースに対応できるように、一部改変しました。 インターフェースの設定は、 MemoryMapLib::setStreamInterface() で行います。
ここに、Android Accessoryまたは、SerialのStreamのインスタンスを設定します。
上記初期設定の後、通信処理についてはインターフェースに関わらず共通です。
●Android Accessory(ADK)選択時の初期化部例
MemoryMap mMemoryMap; AndroidAccessory mAndroidAccessory("IshiiWorks", "AndyTank","AndyTank","1.0","http://www.yishii.jp/", "0000000012345678"); // ★作成するデバイスに合わせて変更 AndroidAccessoryStream mAndroidAccessoryStream; setup(void){ mAndroidAccessoryStream.setInterface(&mAndroidAccessory); mMemoryMap.setStreamInterface(&mAndroidAccessoryStream); } void loop() { mMemoryMap.poll(); }
●UART(Bluetooth)選択時の初期化部
setup(void){ Serial.begin(9600); // 外部機器とは9600bpsで通信 Serial.flush(); mSerialStream.setInterface(&Serial); mMemoryMap.setStreamInterface(&mSerialStream); } void loop() { mMemoryMap.poll(); }
以上です。
新たにインターフェースを追加する場合には、それ用のCommunicationStreamクラスを定義すればOKです。
とりあえず、Microbridge版も作ろうかなと思います。
ソースは以下のgithubにあげてあります。
https://github.com/yishii/Arduino_MemoryMapLib
電脳Arduinoでちょっと未来を作る (マイコンと電子工作)
posted with amazlet at 11.12.28
藤本 直明 神崎 康宏 森 直久 光永 法明 k.kinukawa hatayan 山田 斉 ざがん あみのさん
CQ出版
売り上げランキング: 33770
CQ出版
売り上げランキング: 33770
★新品(未使用品)★ docomo GALAXY NEXUS SC-04D チタンシルバー by SAMSUNG 白ロム携帯 標準セット品
posted with amazlet at 11.12.28
docomo
売り上げランキング: 28402
売り上げランキング: 28402
ELECOM スマートフォン用Micro-USB変換アダプタ USBminiB端子用 10cm ブラック MPA-MFMB
posted with amazlet at 11.12.28
エレコム (2010-08-25)
売り上げランキング: 1071
売り上げランキング: 1071