MPFSとWebページの作成方法


【MPFS】

 MPFS:Microchip File Systemは、Webページ用のHTML関連データ
を保存するための簡易なファイルシステムです。
 MPFSの構造は下図のようになっていて、8+3文字で表される
ファイル名でデータを扱うことが出来ます。(MYPAGE.HTMなどの表現)
またファイルを格納する物理的な場所は、PICのプログラムメモリか、
外付けのEEPROMのいずれかを指定できるようになっています。





 上図でReserve Blockとなっている部分は、LANコントローラ用の
エリアで、ここにConfiguration用のデータが書き込まれます。
PICNICの場合の93C46に相当するデータの部分です。

【FATとファイルの詳細】

MPFSのディレクトリに相当する場所には、FAT:File Allocation Table
が用意されていてファイル毎に1つのFATが作られます。
このFATの中味の詳細は下図のようになっています。
プログラムメモリを使う場合とEEPROMを使う場合でアドレス部分が
少し異なっていますが、コンパイルするときのオプションでSmall Memory
Modelを指定した場合には同じになります。




 各ファイルは下図のような構造で格納されます。ファイルのデータ
そのものは必要なサイズで格納し、ファイルの最後のマークを付けた
形式となっています。この先頭のアドレスがFATに格納されています。




【Webページの動作概要】

このデモ版Web Serverに含まれているHTTP処理プログラムは、下図のような
関係で動作するようになっています。
 単純なhtm形式だけでなくCGIやダイナミックHTMLのページも処理できるように
作られていますので、結構本格的なページ構成で機器の監視制御を行う画面が
製作可能です。
 ただし、Webページデータのサイズにはメモリサイズの制限があるので、画像
などを取り込んだ画面はちょっと厳しいかも知れません。gif画像ファイルにも
対応していますので、画像も表示させることも可能ではあります。




 基本的なWebページの機能の流れは下記のようになります。
(1) パソコンのブラウザから、デバイスのIPアドレスをURLとして表示要求する。

(2) デバイス側では、index.htmをデフォルトのページとして返信を開始する。

(3) このときCGIファイルの時には、CGIファイルを実行し、内容で「%XX」という
  文字列を発見したときには、Dynamic HTMLということと判断する。

(4) HTTPGetVar()関数を実行して%XXに対応するデータを入力して返送する。
  これがパソコン側に送られて現在状態値として表示されます。

(5) CGIで繰り返し表示の命令があるときには、(1)からの動作を繰り返します。

(6) 次にブラウザで制御ボタンを押したときには、GETコマンドが発行されます。

(7) デバイス側でこれを受信したら、HTTPExecCmd()関数を実行して、指定
  された制御を実行し、結果を返送します。

(8) 返送されたデータに基づいてパソコン側の表示が更新されます。


【Webページの作り方】

通常のWebページを作るのと同じ作業で作ることが出来ます。ホームページビルダ
などの作成ソフトを使って基本的な構成を作成します。
ここで注意が必要なことは、状態表示と制御用のページはCGIファイルにする必要
があるので、フレームで分割して独立のページとして作成しておきます。
状態表示に関係の無いフレームのページはそのまま拡張子をhtmとして保存します。

 状態表示については、%XX 文字列で変数指定して状態要求できるようにします。
このXX(00から99の値)に対応した処理関数はデバイス側で作成する必要が
あります。(HTTPGetVar関数の中に追加)
このページを作成したらこのページの拡張子htmをCGIに変更します。

制御については、入力ツールの送信ボタンを追加し、そこにやはり %XX の文字列
で変数指定をします。 このXXに対応した処理も、HTTPExecCmd関数に追加する
必要があります。
このページも作成したら、拡張子をCGIにしておきます。

状態表示と制御用のページは同じページでも構いませんが、XXを区別できるように
しておく必要があります。

以上でページ作成は完了します。しかしこのままでは余分な内容が多いので、
ソースを見て、直接ページに関係の無い行は削除して全体の容量を削減します。

こうしてページのソースは出来上がりますが、このままではPICNICには実装でき
ませんので、添付のツールでMPFS形式のファイルに変換します。

【WebページのMPFSへの変換】

 出来上がったWebページをMPFSの形式に変換するためのツールと
して、TCP/IPスタックの中に変換ツール「MPFS.exe」が同梱されて
います。このツールは指定されたディレクトリ内のファイルを全て変換
してMPFS形式のデータファイルとして出力します。
出力形式は、C言語のソースファイル形式と、バイナリ形式の2種類が
できるようになっています。
ツールの仕様から、Webページを変換する場合には、関連ファイルを
1つのディレクトリの下に全て集めておくことが必要です。

 MPFS変換ツールはDOSプログラムとなっていますので、Windowsの
コマンドプロンプトからコマンドで実行させます。コマンドフォーマットは
下記のようになっています。つまりディレクトリだけ指定すれば、あとは
その中にある全てのファイルをMPFS形式に変換してファイルとします。





 出力形式は、プログラムメモリを使う場合には、Cソースファイルを
指定し、EEPROMを使う場合にはバイナリを指定します。
Cソースの場合には、コンパイルリンクする必要がありますが、
websrvrのプロジェクトに追加してコンパイル、リンクして使います。




        目次に戻る