コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

PCでプログラムして実機とリンクする方法

先日のLTで話しかけた内容です。Dropboxを用いて実機とリンクしながらPCでLuaridaのプログラム開発を行うやり方を説明します。

Dropboxの設定

先ず、Dropboxをインストールします。Dropboxで無くても、ネットワーク上のサーバで自分のPCとファイル共有ができてて、httpでそのファイルをgetできる環境があればOKです。もしくは、自分のPCでhttpデーモンを動かしてもOKです。
Dropboxをインストールすると、Dropbox/Publicというフォルダができます。このフォルダ以下にファイルを置くと、そのファイルは一般に公開されることになります。一般に公開するには、公開したいファイル上でマウスの右クリックをして、Dropbox→Copy Public Linkを選ぶと、ファイルのリンクURLがコピーバッファにコピーされます。その内容が、公開URLとなります。
例えば、こんな感じです。

http://dl.dropbox.com/u/14702102/luaridapublic/test/test.lua

これができれば、Dropboxの設定が終了です。

CSVファイルの作成

次に、メニュ変更ツールから呼び出すCSVファイルを作ります。例えば、test.luaというプログラムをluarida.luaと置き換えたい場合は、csvファイルに下記のように書きます。

Luarida.luaをテストサンプルに切り替え,http://dl.dropbox.com/u/14702102/luaridapublic/test/test.lua,1

タイトル , URL , 番号 の3つのデータを一行に書きます。これが1メニュとなります。

  • タイトル : 表示タイトルです。
  • URL : DropboxでPublic LinkコピーしたファイルのURLです。自前のhttpデーモンを動かしているときは、そのサーバのURLを書きます。
  • 番号 : 1 固定です。数値を変更しても、実行結果は変りません。ただし、最後に表示されるダイアログの内容が変ります。

メニュ変更ツール初期化ファイルの書き換え

メニュ変更ツールは、/luarida/menuchange/以下にコピーされて置かれています。このフォルダの中にmenuchange.iniというファイルがあります。何も変更していなければ、下記のような感じです。
Luaridaメニュ変更ツールはここからダウンロードできます。

MyURL=http://dl.dropbox.com/u/14702102/luaridapublic/lua
filename.get=menuchange.csv

menuchange.iniには、取り込むURLとそのファイル名が書いています。

  • MyURL : 取り込むURLです。フォルダ名までです。
  • filename : 取り込むcsvファイル名です。

このmenuchange.iniファイルを書き換えます。例えば、上記のcsvファイルを読み込ませたい場合は、

MyURL=http://dl.dropbox.com/u/14702102/luaridapublic/test
filename.get=test.csv

このように書き換えます。

メニュ変更ツール起動

メニュ変更ツールを起動すると、下記のような画面になるはずです。

ここで、「Luarida.luaをテストサンプルに切り替え」を選ぶと、下記のようなダイアログが出て、Yesを選び、「変更成功」が出ればluarida.luaがtest.luaに置き換わりました。


OKを押すと、luarida.luaが実行します。

ただし、この方法では、test.luaをPCで書き換える度に、メニュ変更ツールを起動しなければなりません。それはしても面倒です。そこで、もう一工夫します。

test.luaのローダを作る

test.csvに書くluarida.luaと置き換えるプログラムをtest.luaを取得するプログラムにします。下記がloader.luaの例です。
下記のプログラムでは、test.luaをURLから取得して、 system.setrun()により、セットして終了しているので、test.luaを読み込んだ後、test.luaが実行されます。

------------------------------------------
--loader.lua(test.lua取得プログラム)
------------------------------------------
--関数宣言--------------------------------
main={}				--mainメソッド
LuaridaPath = system.getCardMnt().."/luarida"	--luaファイルを保存しているPath
------------------------------------------
--メインプログラム
------------------------------------------
function main()
local filename = LuaridaPath.."/test.lua"
local url = "http://dl.dropbox.com/u/14702102"

  http.get( url.."/luaridapublic/test/test.lua" , filename )
  while( http.status()==0 )do end

  system.setrun( filename )
end
main()

test.csvの書き換え

test.csvも書き換える必要があります。test.csvを下記のようにします。

Luarida.luaをテストサンプルに切り替え,http://dl.dropbox.com/u/14702102/luaridapublic/test/loader.lua,1

以上のように書き換えて、もう一度、メニュ変更ツールを起動すると、luarida.luaがloader.luaに置き換わるので、PCでtest.luaを書き換えるたびに、実機の方でLuarida本体を起動するだけで、変更が反映されたプログラムが走ります。

とても便利なので、参考にしてください。

元のmenuchange.iniファイルに戻す

最後に、元のiniファイルに戻す方法を書きます。メニュ変更ツールを実行してください。すると、「メニュ変更ツールの初期化」というメニュが最後にあります。これを選んでください。そうするとmenuchange.iniファイルが初期化されます。
そして、最新のメニュに変更するか、バックアップしていたメニュを復帰させれば、変更前のメニュに戻すことができます。