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ファイルが初期化されます。
そして、最新のメニュに変更するか、バックアップしていたメニュを復帰させれば、変更前のメニュに戻すことができます。