センサーWebサーバーにする(LANコネクタDIP化キット使用)
解説
LANコネクタDIP化キットを使用すると、mbedをWebサーバーにできます。
EthernetNetIfライブラリと、HTTPServerライブラリを使用すると、簡単にmbedをWebサーバーにできます。
センサーWebサーバーにするときに最低すべきことは、
- センサーの値を表示するHTTPレスポンスをするクラスを、HTTPRequestHandlerクラスの派生クラスとして、作成する。
- EthernetNetIfオブジェクトを作成する。
EthernetNetIf オブジェクト名( IPアドレス, サブネットマスク, ゲートウェイ, DNS ); - HTTPServerオブジェクトを作成する。
HTTPServer オブジェクト名; - EthernetNetIfオブジェクトをセットアップする。
EthernetNetIfオブジェクト . setup(); - パスに対してHTTPServerの動作を設定する。
パス名として、「"/"」を指定する。
動作種類として、1.で作成したクラスを指定する。
HTTPServerオブジェクト . addHandler<動作種類>( パス名 ); - HTTP通信のポート番号として80を設定する。
80以外を指定した場合には、ブラウザからアクセスするときには、http://IPアドレス:ポート番号/~ でアクセスする。
HTTPServerオブジェクト . bind(80); - 無限ループを作成、その中で、定期な問い合わせを行う。
while( 1 )
{
Net::poll();
}
部品表
部品名 | 数量 | 商品名 | 参考価格 |
---|---|---|---|
LANコネクタDIP化キット | 1 | LANコネクタDIP化キット | 200円 |
温度センサ | 1 | 高精度IC温度センサ LM35DZ | 100円 |
CdSセル | 1 | CDSセル 5mmタイプ | 40円 |
10KΩ抵抗器 | 1 | カーボン抵抗(炭素皮膜抵抗) 1/6W 10KΩ | 100本100円 |
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 | 無接続 |
接続例
サンプルコード
main.cpp
SensorHandler.h
SensorHandler.cpp
プロジェクトへのEthernetNetIfライブラリのインポート
- mbed.orgサイトのコンパイラ画面のメニューの「Import」をクリックします。「Import」ペインが表示されます。
- 「Import」ペインの一番下の「Search」に「EthernetNetIf」と入力します。「EthernetNetIf」に関するライブラリが検索されます。
- 「Import」ペインの中段の「Programs」「Libraries」「Bookmarked」タブの「Programs」を選択します。
- Nameが、「EthernetNetIf」で、Userが「Donatien Garnier」である項目のひとつを選択状態にします。「Import」ペインの上段の「Source URL:」および「Target Name:」が自動入力されます。
- 「Import」ペインの上段の「Target Path」にインポート先プロジェクトを指定し、「Import」ボタンを押すと、プロジェクトにEthernetNetIfライブラリがインポートされます。
プロジェクトへのHTTPServerライブラリのインポート
- mbed.orgサイトのコンパイラ画面のメニューの「Import」をクリックします。「Import」ペインが表示されます。
- 「Import」ペインの一番下の「Search」に「HTTPServer」と入力します。「HTTPServer」に関するライブラリが検索されます。
- 「Import」ペインの中段の「Programs」「Libraries」「Bookmarked」タブの「Programs」を選択します。
- Nameが、「HTTPServer」で、Userが「Donatien Garnier」である項目のひとつを選択状態にします。「Import」ペインの上段の「Source URL:」および「Target Name:」が自動入力されます。
- 「Import」ペインの上段の「Target Path」にインポート先プロジェクトを指定し、「Import」ボタンを押すと、プロジェクトにHTTPServerライブラリがインポートされます。
実行
mbedをセンサーWebサーバー化し、InternetExplorer にてアクセスした結果
Webサーバー化したmbedに、アクセスした結果
mbed.org ページへのリンク
http://mbed.org/users/nobuki/code/sensorwebserver/