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

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

jpegで何かできないかな

NDSjpegの表示プログラムを作ってみたので、何かできないかなと思ってちょっと試してみた。
jpeg画像をネットからもらってくることを考えた。そこで、ピアプロの「注目の作品」のサムネイルをNDSに取得して表示させてみた。
プログラム手順としては、

こんな感じである。

wifiの接続

wifiの接続ははDevkitProのwifiプログラム

  //Wifiの初期化(falseで初期化するのみ)
  Wifi_InitDefault(false);
  if( WFCAutoConnect()==-1 ){
    ShinoPrintCenter( SubScreenA, 128, 5*12, (u8 *)"Wifiアクセスポイントに接続できませんでした", RGB(31,0,0), RGB( 31,31,31 ), 1 );
    while(1);
  }

これであっさり繋がるので、後はhttpの取得部分を作るだけ。と思ったら、WFCAutoConnect()は自作だった・・・。

//**************************************************
// DSのWifiアクセスポイントに自動接続に行きます
// 0:無事繋がった。-1:接続できなかった
//**************************************************
int	WFCAutoConnect( void )
{
int ret = 0;
int i;
  //自動接続する
  Wifi_AutoConnect();
  int status = ASSOCSTATUS_DISCONNECTED;
  //最大10秒待って、結果を返す
  for( i=0; i<600; i++ ){
    if( status==ASSOCSTATUS_ASSOCIATED ){
      ret = 0;
      break;
    }
    else if( status==ASSOCSTATUS_CANNOTCONNECT ){
      ret = -1;
      break;
    }
    status = Wifi_AssocStatus();
    swiWaitForVBlank();
  }
  return( ret );
}

http取得

httpサーバからデータをもらうときには、GETコマンドを送ればいい。このプログラムをDevkitProのexampleを参考に作成。HTTP1.0と1.1対応と言っても同じだけれど・・・。ソースはいずれ・・・。

ピアプロサイト解釈

ピアプロのindex.htmlを解釈して、jpeg画像ファイル名を取得する。これは超単純にcontentsImageArray()のimgext:'jpg'になっているものの thumb:のアドレスを抽出しただけ。

後は、jpegファイルをGETして、先日の表示プログラムで表示させるだけ。

こんな感じです。やっぱり、先日のjpegデコーダは不具合があるみたいで、完全にデコードできないものが結構あるみたい。jpegはいずれ考えるとして、折角ネットに繋がるのだから、何か作って見たいですね。思いつかないけれど・・・。


そうそう、個人的には、MakeしたNDSプログラムをNDSに転送するのにhttpGetを使っています。こういうのって、使いたい人っているかな?マイクロSDメモリの端子が擦り減ら無いので重宝していますが。

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

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

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