Android + Runtime Environment

796 views

Published on

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
796
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Android + Runtime Environment

  1. 1. Android + Runtime Environment 「コンピュータを楽しもう!」というブログを書いています。 たろサ(@momoonga) 山本三七男
  2. 2. Luarida製作動機
  3. 3. 3 製作動機 どこでも、ちょこちょこ プログラムするのが好きだった。1980年代 90年代ポケコン ザウルス 2000年代BASIC BASIC 944BASIC
  4. 4. 4 製作動機 Androidでもちょこちょこプログラム SL4A(Scripting Layer for Android)環境 ・Python・Perl・JRuby ・Lua・JavaScriptう~ん。取っつきにくいなぁ!
  5. 5. 5 製作動機 もっと、 敷居の低いもの そう、BASICのような・・・・Eclipseはインストールしなくていい。・Androidのバージョン違いも関係なく。・簡単・単機能で、入り易いもの。
  6. 6. 6 製作動機無ければ作るしかない 移植が簡単そうな  ・Lua言語 Androidに 移植。 イメージはBASIC
  7. 7. 7 イメージはBASIC10 print”Hello World.”20 goto 10 さすがに、こんな感じにwhile(true)do print(”Hello World.”)end無ければ作る
  8. 8. Luaridaについて
  9. 9. 9 Luaridaの特徴1.昔のBASICのような命令体系2.Android単体プログラム3.開発環境(JotaTextEditor)4.アプリ配布サーバー用意 5.ADK, MicroBridge接続 可能(Sarida)
  10. 10. 10 イメージはBASIC 「2種類のグラフィック画面」持っているのは、それだけ!!
  11. 11. 11 イメージはBASIC 「2種類のグラフィック画面」持っているのは、それだけ!! W = color(255,255,255) R = color(255,0,0) canvas.drawCls(W) Bitmap用 ワーク画面 for x=0,100,2 do canvas.drawLine(x*2,0,200-x*2, 200, R) canvas.drawLine(0, x*2, 200, 200-x*2, R) end メイン画面
  12. 12. 12 イメージはBASIC 「ダイアログ・トーストも簡単」a = dialog( "", "メッセージのみです。" )a = dialog( "", "OKで閉じます",1 )a = dialog( "a= "..a, "Yes No のサンプル", 2 )a = dialog( "a= "..a, "Yes No Cancelのサンプル",3)toast( "トーストです。a= "..a )
  13. 13. 13 イメージはBASIC 「リストダイアログも簡単」item.clear()item.add("みかん", 0 )item.add("たちうお", 1 )item.add("海", 0 )t = item.list( "好きなものを選んでください" )t = item.radio( "好きなものを選んでください", 2 )t = item.check( "好きなものを選んでください" )
  14. 14. 14Luaridaのコマンド一覧
  15. 15. Lua言語について
  16. 16. 16 Lua言語の簡単な紹介構文while(exp)do if(exp)then block blockend elseif(exp)then blockrepeat else block blockuntil(exp) end
  17. 17. 17 Lua言語の簡単な紹介構文 while(exp)do  if(exp)then break end end for i=exp, exp [,exp] do block end
  18. 18. 18 Lua言語の簡単な紹介構文 条件式 == > < <= >= ~= and or if(exp)then block end
  19. 19. 19 Lua言語の簡単な紹介変数 function f() グローバル変数 a=10 ローカル変数 local b=20 do local b=30 end 20 print( b ) end
  20. 20. 20 Lua言語の簡単な紹介テーブルa={ b=20, c=30 } ⇒a.b a.c ⇒a[“b”] a[“c”] a={str =”b” b={ c=30, d=40 } ⇒a[str] } ⇒a.b.c a.b.d ⇒a[“b”].c 20 ⇒a[“b”][“c”] ⇒a.b[“c”]
  21. 21. 21 Lua言語の簡単な紹介 テーブル(配列) a={ } 初期化されますa={ }  1~です a[1]={ b=20, c=30 } ⇒a[1]=10 a[2]={ b=21, c=31 } ×⇒a.1 ⇒a[1].b a[1].ca={ 20, 30, 40 } ⇒a[2].b a[2].c ⇒a[1]=20 a[2]=30 ⇒a[2][“b”] a[2][“c”] ⇒a[3]=40 a={ b={} }for i=1,10 do ⇒a.b[1] a[i]={ } ⇒a.b[2]end ⇒a[1][1] a[1][2]
  22. 22. アプリの登録 公開方法
  23. 23. 23DOROKURI
  24. 24. 24 DoroLuarida タオソフトウェアさんが Luaridaユーザ 実現してくれました。 スクリプト作成 (foo.lua) DOROKURI スクリプトapk化 foo.apk サイトAndroidマーケットに Android 登録できる マーケット
  25. 25. 25DoroLuarida登録 apkファイル名アプリ名 アイコンは無ければデフォルト 素材データはZIPファイル 公開オプション
  26. 26. Luarida,SaridaSAKURA の起動
  27. 27. 27 起動すると Luarida起動/sdcard /sdcard/luarida/luarida.lua これが起動し、 ここから始まります。 SaridaSAKURA起動/sdcard /sdcard/SaridaSAKURA/sarida.lua /sdcard/SaridaSAKURA/sketch_bin/sketch.bin GR-SAKURA
  28. 28. SaridaSAKURA について
  29. 29. 29 SaridaとはLuaでArduinoのようなマイコンボードを 制御しようと思って開発中
  30. 30. 30 何故ゆえ?2つのプログラムが必要 Android Arduino
  31. 31. 31 お手軽開発に向けてMicroBridge対応 Luarida (ルアリダ)ADK対応 SaridaSAKURA (サリーダ桜)
  32. 32. 32 実装コマンドなど Saridaへの実装ピンモードの切り替え アナログライトadk.pinMode(pin, mode) adk.analogWrite(pin, value)pin: ピン番号 pin: ピン番号mode: 0:Input, 1:Output value: 出力PWM比率(0~255) analogWriteDAC(pin, value)デジタルライト value: DAC出力(0~4095)adk.digitalWrite(pin, value)pin: ピン番号 バイト送信value: 0:LOW, 1: HIGH adk.send(data, length) data: バイトデータデジタルリード length: データサイズadk.digitalRead(pin)pin: ピン番号 バイト受信戻り値: 0:LOW, 1:HIGH adk.recv( [timeout] )アナログリード timeout: 受信タイムアウト(s) 戻り値: 受信データ,データサイズadk.analogRead(pin)pin: ピン番号戻り値: 10ビットの値(0~1023)
  33. 33. 33GR-SAKURAデモ 実はまだ、ADK通信 のところにバグがあっ て、ちゃんと動いてい ません。
  34. 34. 34 ロボットを作りましたMicroBridgeとLuaridaをつなげて、Luaridaで操作するロボットを作りました。MicroBridge-Luarida間はソケット通信しています。大人の科学付録の「卓上ロボット掃除機」をAndroidから操作できるように改造させてもらいました。
  35. 35. ご清聴ありがとう ございました luarida-fun-club@googlegroups.com

×