ファイルWebサーバーにする(LANコネクタDIP化キット使用)

解説

LANコネクタDIP化キットを使用すると、mbedをWebサーバーにできます。

EthernetNetIfライブラリと、HTTPServerライブラリを使用すると、簡単にmbedをWebサーバーにできます。

ファイルWebサーバーにするときに最低すべきことは、

  1. EthernetNetIfオブジェクトを作成する。
    EthernetNetIf オブジェクト名( IPアドレス, サブネットマスク, ゲートウェイ, DNS );
  2. HTTPServerオブジェクトを作成する。
    HTTPServer オブジェクト名;
  3. mbed内のファイルシステムを、プログラムから利用できるように、LocalFileSystemオブジェクトを作成する。
    LocalFileSystem オブジェクト変数名("マウント名");
  4. EthernetNetIfオブジェクトをセットアップする。
    EthernetNetIfオブジェクト . setup();
  5. mbed内のファイルシステムを、ルートパス上にマウントする。必須ではない。
    これにより、ブラウザからアクセスするときに、http://IPアドレス/○○.htm でアクセスできるようになる。
    これをしない場合は、ブラウザからアクセスするときには、http://IPアドレス/(3.のマウント名)/○○.htm でアクセスする。
    FSHandler::mount( マウント元パス、マウント先パス );
  6. パスに対してHTTPServerの動作を設定する。
    5.を実施している場合は、パス名として、「"/"」を指定する。
    5.を実施していない場合は、パス名として、「"/(3.のマウント名)"」を指定する。
    動作種類として、「FSHandler」を指定すると、パス内に置かれたファイルをブラウザで表示することができます。
    HTTPServerオブジェクト . addHandler<動作種類>( パス名 );
  7. HTTP通信のポート番号として80を設定する。
    80以外を指定した場合には、ブラウザからアクセスするときには、http://IPアドレス:ポート番号/~ でアクセスする。
    HTTPServerオブジェクト . bind(80);
  8. 無限ループを作成、その中で、定期な問い合わせを行う。
    while( 1 )
    {
      Net::poll();
    }

注意点としては、

部品表

部品名 数量 商品名 参考価格
LANコネクタDIP化キット 1 LANコネクタDIP化キット 200円
mbedボード 1 mbed NXP LPC1768 5,250円
ブレッドボード 2 EIC-801 250円
ジャンパーワイヤ 適量 ジャンパーコード(オス-オス)セット 100mm49個
150mm8個
200mm4個
250mm4個
のセット200円

接続表

LANコネクタDIP化キット mbed側
ピン番号 ピン名称 ピン番号
1 TD+ TD+
2 TD- TD-
3 RD+ RD+
4 NC 無接続
5 NC 無接続
6 RD- RD-
7 NC 無接続
8 NC 無接続

接続例

サンプルコード

プロジェクトへのEthernetNetIfライブラリのインポート

  1. mbed.orgサイトのコンパイラ画面のメニューの「Import」をクリックします。「Import」ペインが表示されます。
  2. 「Import」ペインの一番下の「Search」に「EthernetNetIf」と入力します。「EthernetNetIf」に関するライブラリが検索されます。
  3. 「Import」ペインの中段の「Programs」「Libraries」「Bookmarked」タブの「Programs」を選択します。
  4. Nameが、「EthernetNetIf」で、Userが「Donatien Garnier」である項目のひとつを選択状態にします。「Import」ペインの上段の「Source URL:」および「Target Name:」が自動入力されます。
  5. 「Import」ペインの上段の「Target Path」にインポート先プロジェクトを指定し、「Import」ボタンを押すと、プロジェクトにEthernetNetIfライブラリがインポートされます。

プロジェクトへのHTTPServerライブラリのインポート

  1. mbed.orgサイトのコンパイラ画面のメニューの「Import」をクリックします。「Import」ペインが表示されます。
  2. 「Import」ペインの一番下の「Search」に「HTTPServer」と入力します。「HTTPServer」に関するライブラリが検索されます。
  3. 「Import」ペインの中段の「Programs」「Libraries」「Bookmarked」タブの「Programs」を選択します。
  4. Nameが、「HTTPServer」で、Userが「Donatien Garnier」である項目のひとつを選択状態にします。「Import」ペインの上段の「Source URL:」および「Target Name:」が自動入力されます。
  5. 「Import」ペインの上段の「Target Path」にインポート先プロジェクトを指定し、「Import」ボタンを押すと、プロジェクトにHTTPServerライブラリがインポートされます。

実行

mbedをファイルWebサーバー化し、InternetExplorer にてアクセスした結果

下記内容を test.htm という名前で保存し、mbed内のファイルシステムの直下に置いておく。

Webサーバー化したmbedに、ファイル名を指定してアクセスした結果

mbed.org ページへのリンク

http://mbed.org/users/nobuki/programs/webserver/