PHS経由でネットに接続できるEthernetアダプタのファームウェアをハック・前編 ―― 無線インターネット・アクセスを組み込みシステム開発の手駒に

中本伸一

tag: 組み込み

技術解説 2007年10月11日

● 搭載されているファイルの中身をのぞく

 さて,まずは本機の中身をのぞいてみることにします注2.起動時にW-SIMが挿入されているとダイアルアップ・モードになるので,以下で説明する作業はすべて,W-SIMを取り外して行います.W-SIMを抜いて電源を入れると,セットアップ・モードで起動します.セットアップ・モードではブラウザで内部設定を行うために,HTTP(Hypertext Transfer Protocol)サーバが有効になります.これと同時に,パソコンとファイルをやりとりするためのTFTP(Trivial File Transfer Protocol)サーバも起動されます.

注2;サイレントシステム製のOS-1でも,OSX-1と同じように動作する.

 TFTPはUDP(User Datagram Protocol)を利用した簡単なファイル転送のためのプロトコルで,Windowsにも標準で搭載されています.TFTPを利用すると,パソコンと本機の間で自由にファイルをやりとりすることができます.

 まず,パソコンのブラウザで本機の設定用Webページにアクセスできる状態にしてください.次に,Windowsのコマンド・プロンプトを起動して,以下の二つのコマンドを実行してみましょう.コマンド・プロンプトを起動し,cd ¥と入力してカレント・ディレクトリをC:¥に移動してから作業を進めてください.

 C:¥>tftp 192.168.1.10 get dirlist

 このコマンドをタイプすると,本機の中にあるすべてのファイルのリストが表示されます.全部で17個のファイルが見えるはずです.このファイルのうち,拡張子が.htmとなっているファイルはすべてWeb設定用のhtmlファイルです.試しにトップページにあるhtmlファイルのindex.htmの内容をチェックしてみましょう.以下のコマンドを実行してください.

 C:¥>tftp 192.168.1.10 get index.htm
 Transfer successful: 459bytes in 1 second, 459bytes/s
 C:¥>type index.htm

 おなじみのhtmlファイルの内容が表示されれば,成功です.これで本機のすべてのファイルの内容をのぞくことが可能です.例えばDialupRegistryというファイルにはダイアルアップ情報が格納されています.SilentMoonのレジストリの設定方法を理解できると思います.

● Webを利用してLEDを操作

 本機がセットアップ・モードで起動した場合,設定用のHTTPサーバが立ち上がりますが,このHTTPサーバでは内部のメモリやポートの内容を読み書きするためのCGIが利用可能です.例えば,http://192.168.1.10/SetEnd.htm?PORTG3=1&PORTG4=1をブラウザのアドレス欄に入力してみてください.電界強度表示のLEDが黄色に点灯するはずです.また,このURLの後半部分のポートの値をそれぞれ'1'か'0'に変化させると,LED(写真7)の色も変化します.

pic07_01.jpg
写真7 OSX-1の電界強度LED
OSX-1に内蔵されたHTTPサーバのCGI機能を利用し,WebからのCGI操作によってこのLEDの色を変化させる.

 このようにWebを通じてポートを操作することができます.また,メモリの値を参照したり設定したりすることも可能です.LanSet.htmなどのhtmlファイルの内部に記述されているCGIスクリプトを読めば,ある程度,動作を理解できると思います.レジストリに登録してあるシンボルについては,URLのアドレス欄に記述することで値を設定できます.また,htmlファイル内に$に続けてシンボル名を記述すれば,目的の文字列に置換されます.

 ユーザが独自のプログラムを作成した場合も,このCGI機能を利用すると便利です.Webブラウザを利用してユーザが設定するメモリを参照し,動作をコントロールしたり,パラメータを与えるようなスタイルで開発するとスマートです.CGIシンボルは,ユーザが自由に定義できます.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日