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

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

OsoScriptでweb接続

先日のブログに書いたhttpgetコマンド追加OsoScript Ver0.03をNDS Program Roomにアップしました。Ver0.03には、もう1つコマンドが追加されており、DSの電源を切ることができるようになりました。
コマンドを説明します。

poweroff() パワーオフコマンド

poweroff()はDSの電源を落とすコマンドです。使用方法は、poweroff(); です。このコマンドが走ると、DSはいきなりシャットダウンします。
httpgetでファイルを取得した後、DSの電源を落としたかったので実装しました。

httpget( サーバ名, 取得ファイル名, 保存ファイル名, ポート番号 );

これは先日のブログに書いたとおりです。

httpgetを用いたファイル取得スクリプト

OsoScript Ver0.03にhttpget.osoを同梱しました。下記です。

#-------------------------------------------------------
# httpによるファイル取得スクリプト
# 変数は12文字以下なので注意。特にロングファイル名に注意
#-------------------------------------------------------
global Ip[0] = 192;
global Ip[1] = 168;
global Ip[2] = 24;
global Ip[3] = 99;
global Filename = "test.oso";

global MA = 0;
global SA = 1;

function main()
{
local bk = rgb( 0, 0, 0 );
local ret;
local key = 0;

 cls( 0, rgb( 31,31,31 ) );
 cls( 1, rgb( 31,31,31 ) );

 #メイン画面(A)
 print( MA, 2*6, 5*12, Filename "を取得します", bk );

 #ret = httpget( "192.168.24.99", "/ososcript/" Filename, "/ososcript/" Filename, 80 );
 ret = httpget( Ip[0] "." Ip[1] "." Ip[2] "." Ip[3], "/ososcript/" Filename, "/ososcript/" Filename, 80 );

 if( ret==0 ){
  print( SA, 0, 3*12, "取得に失敗しました", bk );
 }
 else{
  print( SA, 4*6, 3*12, "取得に成功しました", bk );
  print( SA, 4*6, 5*12, "電源を切ります", bk );
  print( SA, 4*6, 7*12, "何かキーを押してください", bk );
  while( key==0 ){key = touchkey();}
  poweroff();	#電源オフ
 }
 while( key==0 ){key = touchkey();}
}

拙作のテキストエディタを使えば、DSでスクリプトを書き換えできるので、取得したいファイルの指定が簡単にできると思います。

PCとのwifi通信の方法

wifi接続の設定は、DS本体のWiFi-接続設定を行って接続できるようになれば終了です。試していませんが、AOSSには未対応だと思います。たぶん・・。

この設定が終了すれば、OsoScriptもhttpget()コマンドを実行した時点でAPと繋がるはずです。
次に、PCをhttpサーバにする必要があります。
httpgetは、httpサーバにファイルをもらいに行くので、自分のPCをhttpサーバにする必要があるのです。httpサーバソフトはいろいろありますが、単純にファイルを取得するために使うだけであれば、「超簡易HTTPサーバ sHTTPd 20070912」がお勧めです。お手軽に使えます。私もこれを使っています。
sHTTPdの起動方法は解凍して出てきたshttpd.exeを実行するだけです。そして、PCに接続に来たDSが見るフォルダを指定するだけです。私の場合は下記のような感じです。

c:\devkitpro\ndsprojectというフォルダの下にフォルダに分けてNDSプログラムを入れています。ですので全てのフォルダが見えるように、上のフォルダを指定しています。また、ポートは80です。
また、sHTTPdは、常に起動しておく必要は無くて、DSとつなぎたい時に起動すればいいです。起動すると、システムトレイにアイコンが表示されます。

  • 1つ注意点として、skypeと同時に使うときには注意してください。skypeは標準設定でポート80を使用します。ポート80が使われていると、同時に使えないので、sHTTPdを使いたいときには、skypeを切るか、skypeかsHTTPsのどちらかの使用ポートを変更する必要があります。

homebrew作者さんは、一度使ってみたください。

本当にやりたいことリスト

(ブログの終わりにやりたいことを書いておきたいと思います)

  • 求職活動・・・このブログで興味を持った人一声かけてください。m(_ _)m
  • Androidプログラム
  • Web系のプログラム