Android端末と組み込み機器が連携する Android Make Days
-
Upload
yasuhiro-ishii -
Category
Technology
-
view
1.776 -
download
5
description
Transcript of Android端末と組み込み機器が連携する Android Make Days
![Page 1: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/1.jpg)
Android端末と組み込み機器が連携する- Microbridge/PICなど
石井 康寛 Yasuhiro ISHII日本Androidの会 神戸支部
Twitter @yishiiFacebook http://facebook.com/ishiiyasuBlog日曜エレクトロニクス(日エレ) http://projectc3.seesaa.net/
12 Nov,2011
11年11月15日火曜日
![Page 2: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/2.jpg)
アジェンダ自己紹介
日本Androidの会 神戸支部 / ハードウェア倶楽部ご紹介
Microbridgeのご紹介
Android上スクリプト実行環境とMicrobridgeの連携
11年11月15日火曜日
![Page 3: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/3.jpg)
自己紹介
日本Androidの会 神戸支部 / ハードウェア倶楽部ご紹介
Microbridgeのご紹介
Android上スクリプト実行環境とMicrobridgeの連携
アジェンダ
11年11月15日火曜日
![Page 4: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/4.jpg)
・三重県伊勢地方出身・本業は家電メーカーでソフト開発系 エンジニア
・趣味は、電子工作、ソフト開発、 ガジェットいじり、海外旅行等
・Android端末を買った時期にたまたま 本会MLにて神戸支部発足を知り、参加し出す
石井 康寛について
Twitter @yishiiFacebook http://facebook.com/ishiiyasuBlog日曜エレクトロニクス(日エレ) http://projectc3.seesaa.net/11年11月15日火曜日
![Page 5: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/5.jpg)
自己紹介
日本Androidの会 神戸支部 / ハードウェア倶楽部ご紹介
Microbridgeのご紹介
Android上スクリプト実行環境とMicrobridgeの連携
アジェンダ
11年11月15日火曜日
![Page 6: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/6.jpg)
って?11年11月15日火曜日
![Page 7: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/7.jpg)
神戸支部についてちょこっとご紹介・初心者向け勉強会 夜子まま塾・Androidオンライン勉強会 すからじお 毎週水曜22:00~ TeamSpeak&USTREAM・各種技術勉強会 Android、HTML5、Arduino、GAEなど・No rule 自分の興味を持ったことが勉強会になる・ハードウェア倶楽部がある 組み込みや電子工作の議論を盛んに行なって いたら支部長が「ハードウェア倶楽部」と 命名Android 神戸支部 検索
11年11月15日火曜日
![Page 8: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/8.jpg)
ハードウェア倶楽部の発端2011/1Bluetooth経由でAndroid端末から制御するロボット”Andy”というネタをECCコンピュータ専門学校の吉田先生が持ち込み組込み好きが食いついて火がついた。
11年11月15日火曜日
![Page 9: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/9.jpg)
神戸支部ハード倶楽部で取り組んでる
Andyって?Android端末をリモコンとしてBluetooth経由で操縦できるラジコンArduinoや78K0マイコンをコアに、Androidからの独自のプロトコルで操縦する
11年11月15日火曜日
![Page 10: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/10.jpg)
ANDYドロイド君構成図
UART
GPIO・PWM
PWM
RCサーボモータ
DCモータ
モータドライバ
より簡単にAndroidラジコンを実現できないか?→11年11月15日火曜日
![Page 11: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/11.jpg)
神戸支部ハード倶楽部オリジナル基板第一弾
本構成では、Arduinoボード+1800円程度で簡単にAndroid
ラジコンが作れます ギアボックス・モーター 700円 Bluetoothモジュール 500円 ボード 200円 モータードライバ 150円 その他 200円程度1ボードにモータドライバ、Bluetooth チップ用ランド、RCサーボモータ用端子を装備したAndroid シールド
11年11月15日火曜日
![Page 12: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/12.jpg)
Andy Shield基板の発注 神戸支部の方に教えていただいた格安基板屋さん。5cm×5cm 2層スルーホールシルク入りで10枚発注時の合計$9.9+$3(送料)
Seeed Studio Fusion http://goo.gl/kuGKd11年11月15日火曜日
![Page 13: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/13.jpg)
日本橋でんでんタウンもくもく会(通称でんもく会)
隔月(偶数月第1土曜日)に日本橋ROBOBA (http://roboba.jp/)にて開催
次回:2011年12月10日(土)
神戸支部ハードウェア倶楽部
Androidとさまざまなマイコンとの接続・制御にチャレンジ!!ADK/MicroBridgeを用いて、新旧Androidも利用可能に!PIC ADK mini boardを基板から独自に制作!みんなで半田づけを行い、ローコストでロボットカー製作が可能!Android側ライブラリで、マイコン側ファームウェアの書換えを不要に!初心者が簡単で楽しくマイコン制御ができるように講習会を企画予定!全国から参加者を募集しています!日本橋めぐりもできます!!
11年11月15日火曜日
![Page 14: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/14.jpg)
イベント展示等2011年7月 OSC京都出展、ABC 2011 Summer 出展• ABC 2011 SummerでRobotサミットを開催• 四国支部、横浜支部ロボ部と神戸支部で1トラック運営
ABC 2011 Summer Robotトラック会場左から:yokmamaさん, 石井,いわたんさん(横浜ロボ部)あきのりさん(横浜ロボ部)
11年11月15日火曜日
![Page 15: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/15.jpg)
自己紹介
日本Androidの会 神戸支部 / ハードウェア倶楽部ご紹介
Microbridgeのご紹介
Android上スクリプト実行環境とMicrobridgeの連携
アジェンダ
11年11月15日火曜日
![Page 16: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/16.jpg)
Microbridgeで出来ること
Android端末と、USBケーブルで繋がれたハードとが、連携できる
Android端末は、ADK対応不要、USB HOST対応不要。Android1.6でも問題なし
11年11月15日火曜日
![Page 17: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/17.jpg)
Androidケータイと外部ハードを有線接続する手段の一つMicrobridgeは、オランダNiels Browers氏作のArduino+USB Host Shield向けADB実装
Android Debug Bridge(ADB)接続
Arduinoで、AndroidをADB経由で制御できる
http://code.google.com/p/microbridge/
Propellar版PropBridgeもある
11年11月15日火曜日
![Page 18: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/18.jpg)
マイコンでADBコマンドを発行することで出来ることとは?→PCとADB接続でできることと基本的には同等例)・端末のログを見る(adb logcat)・画面のスクリーンショットを取る(DDMS)・ファイルを置く(adb push)・apkを置く(adb install)・Android端末側のシェル操作(adb shell)・Android内アプリとソケット通信する (adb forward)
11年11月15日火曜日
![Page 19: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/19.jpg)
マイコンでADBコマンドを発行することで出来ることとは?→PCとADB接続でできることと基本的には同等例)・端末のログを見る(adb logcat)・画面のスクリーンショットを取る(DDMS)・ファイルを置く(adb push)・apkを置く(adb install)・Android端末側のシェル操作(adb shell)・Android内アプリとソケット通信する (adb forward)
11年11月15日火曜日
![Page 20: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/20.jpg)
PCでのADB forwardとは?
Android端末
ADB Daemon
Androidアプリ
USB IF USB IF
外部機器(PC)
ADB Server
ADB(AndroidDebugBridge)
Android端末内ソフトと外部とでソケット通信によるデータのやりとりが可能
ソケット通信アプリ
11年11月15日火曜日
![Page 21: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/21.jpg)
MicrobridgeでのADB forwardとは?
Android端末
ADB Daemon
Androidアプリ
USB IF USB IF
外部機器(Microbridge)
Microbridge
ADB(AndroidDebugBridge)
Android端末内ソフトと外部とでソケット通信によるデータのやりとりが可能
ソケット通信制御ソフト
11年11月15日火曜日
![Page 22: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/22.jpg)
既存の機器に組み込んでAndroid対応化できる!ホームオートメーションとか楽しめるかな!?
これを使って、
可能。だけど、Arduino+USB Host shield構成は高価で、各機器に埋め込みっ放しにするには適さない。(Arduino Uno 2995円、USB Host shield 2495円、計5490円)
では入手性も良く安価なチップでシンプルにできる構成にしてみるのが良いのでは?
11年11月15日火曜日
![Page 23: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/23.jpg)
PICには、USB On-the-Go搭載の省ピンマイコンがある。
AVRUSB HOSTController
Androidケータイ
等7本 PIC
Androidケータイ
等
USB USB
・・・というわけで11年11月15日火曜日
![Page 24: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/24.jpg)
PIC向けにMicrobridgeをポーティング「Microbridge/PIC」
Arduino PF
USB Host Lib/DD(C++)
Microbridge(C++)
Arduino sketch
PIC24F
USB Host Lib/DD(C) [*1]
Microbridge/PIC(C)
Application
・PIC版でも、上位層へのAPI形式は出来る限りArduino版を踏襲・Google CodeにてOSSとして公開中 http://code.google.com/p/microbridge-pic/・公開プロジェクトはPIC24FJ64GB002を想定しているが、他の PICへの移植は容易のはず。
Microbridge Microbridge/PIC
11年11月15日火曜日
![Page 25: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/25.jpg)
Microbridge/PICでの実装例題材 : logcat取得する
int main(void){ Connection * c; c = ADB_addConnection(“shell:exec logcat”,false); while(1){ ADB_poll(c); }}
adbEventHandler(<中略>,length,*data){ switch(event){ case ADB_CONNECTION_OPEN: ... break; case ADB_CONNECTION_RECEIVE: ここに来た時dataにlogcatデータが格納されている break; ....}
11年11月15日火曜日
![Page 26: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/26.jpg)
ADKのように使うためにMicrobridgeからadb shellをopenし、shellコマンド”am”を実行しインテントを投げる
ADB_addConnection(“shell:am start -n jp.yishii.sample/.SampleActivity”,false)
ADB_addConnection(“framebuffer:.”,false)
その他MicrobridgeでAndroid端末のスクリーンショットを得る
11年11月15日火曜日
![Page 27: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/27.jpg)
PICでお手軽にMicrobridgeするボードPIC ADK Miniboard rev.1を神戸支部第二弾で作成
現在、オープンハードとして設計データ公開準備中
PIC24FJ64GB002とUSBホスト周辺回路、2ch DCモータドライバ、3ch RCサーボコネクタ搭載で、モータで動く工作を想定。値段は1500円以下。
11年11月15日火曜日
![Page 28: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/28.jpg)
au IS01とPIC ADK Miniboardを繋いで実験
ADB forwardでAndroid側から座標データを端末に送信。その値を使用してサーボを駆動。
11年11月15日火曜日
![Page 29: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/29.jpg)
Nexus SとMicrobridge/PICとを繋いで実験
ADB shellでAndroid上の”input”というプロセスをキーコード引数付きでコール、キーイベントを発行
11年11月15日火曜日
![Page 30: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/30.jpg)
神戸支部では、ADK、Microbridge、Bluetooth等各種I/Fを活用した機器開発推進中
神戸支部寺園氏により、それぞれのI/Fを一括りにするAndyLib 開発中
AndyLib
Bluetooth Microbridge ADK
Application
11年11月15日火曜日
![Page 31: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/31.jpg)
自己紹介
日本Androidの会 神戸支部 / ハードウェア倶楽部ご紹介
Microbridgeのご紹介
Android上スクリプト実行環境とMicrobridgeの連携
アジェンダ
11年11月15日火曜日
![Page 32: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/32.jpg)
Luarida(ルアリダ)とは?
LuaridaはAndroid単体でプログラミングするためのスクリプト言語です。ポケコンのように使えます。 ルアリダ(Luarida)はAndroid上で動作するスクリプト(Script)です。 スマートフォンでポケコンのように簡単にプログラムを組みたいと思ってScriptを実装しました。 言語はLuaです。BASICのように簡単にプログラムを書くことができます。《Android Market内説明文より引用》
Luaridaは、ソケット通信をサポートしているので、Microbridgeと直接データ送受信が可能。
11年11月15日火曜日
![Page 33: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/33.jpg)
11年11月15日火曜日
![Page 34: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/34.jpg)
SL4A(Scripting Layer for Android)
Android端末上で直接スクリプトを編集し実行できる環境Python、PHP、Perl、Ruby等の言語が対応している
11年11月15日火曜日
![Page 35: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/35.jpg)
PC + Arduino IDE + Arduino
digitalWrite(0,HIGH);while (1){ result = digitalRead(1); for(i=0;i<NUMBER_OF compress(array_recei
digitalWrite(0,HIGH);while (1){ result = digitalRead(1); for(i=0;i<NUMBER_OF compress(array_recei
11年11月15日火曜日
![Page 36: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/36.jpg)
Android + 直結マイコンボードの構成PCレスで、外部ハード制御の作り込みができるPF
制御対象機器
Luarida用とSL4A JRuby用にioBridgeというモジュールを作りました
ioBridge Server ioBridge Client
11年11月15日火曜日
![Page 37: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/37.jpg)
require "ioBridge_server"
ib = IoBridge.newib.attach()
ib.pinMode(0,ib.OUTPUT)ib.pinMode(1,ib.OUTPUT)ib.pinMode(2,ib.INPUT)
# blink pattern 1thread1 = Thread.new do while true if(ib.digitalRead(2) == ib.HIGH) then ib.digitalWrite(1,ib.HIGH) else ib.digitalWrite(1,ib.LOW) end endend
while true ib.setServoAngle(10,20) sleep 0.5 ib.setServoAngle(10,140) sleep 0.5end
package.path = system.getCardMnt().."/luarida/?.lua"require("ioBridge")
ioBridge.attach()canvas.drawCls(color(0,0,255))
ioBridge.pinMode(0,ioBridge.OUTPUT)ioBridge.pinMode(1,ioBridge.OUTPUT)ioBridge.pinMode(2,ioBridge.INPUT)
while(1) do ioBridge.digitalWrite(0,ioBridge.HIGH) ioBridge.digitalWrite(0,ioBridge.LOW)
if(ioBridge.digitalRead(2) == ioBridge.LOW) then canvas.drawText("Port 2 : LOW ",10,10,80, color(255,255,255),color(0,0,255)) ioBridge.setServoAngle(18,50) else ioBridge.setServoAngle(18,100) canvas.drawText("Port 2 : HIGH",10,10,80, color(255,255,255),color(0,0,255)) endend
luarida + ioBridge JRuby/SL4A + ioBridge
11年11月15日火曜日
![Page 38: Android端末と組み込み機器が連携する Android Make Days](https://reader033.fdocument.pub/reader033/viewer/2022042614/556277a6d8b42a0d398b4b67/html5/thumbnails/38.jpg)
どうもありがとうございました
石井 康寛日本Androidの会 神戸支部
Twitter @yishiiFacebook http://facebook.com/ishiiyasu
11年11月15日火曜日