・WebサーバーはLinuxで、Webブラウザから本ホームページの問い合わせ掲示板に書き込むと、Webサーバーに送られた書き込み内容が(今のところタイトルだけ)LAN経由でH8マイコンに送られます。H8マイコンとLCDは専用のインターフェースで直結されており、送り込まれた文字列を表示する。なおWEBサーバーとH8マイコンのデータ転送はUDPを用いている。問い合わせ掲示板はperl/CGIで書かれており、CGIの中からperlで書かれたUDPプログラム(Socket.pm使用)を起動し、H8マイコンと通信している。
・Socket.pmのパスpathの指定、設定
perlでSocketモジュールのパスが通っていないときは、プログラムの中で直接パスを設定できます。たとえば
BEGIN{
push (@INC,"/mnt/disk1/usr/local/lib/perl5/5.8.8/armv5tejl-linux"); #Socket.pm
push (@INC,"/mnt/disk1/usr/local/lib/perl5/5.8.8"); #Carp.pm
}
と記述します。
・2007年12月16日(書き始め)
下記文献を参考にしましたが、WebサーバーにLCDの制御をさせるのではなく、LCD表示器制御用マイコン別に設けました。
参考文献
(1)藤代巌 ネットワーク電光掲示板の製作 トランジスタ技術2002年8月号 pp208-217
(2)三岩幸夫他 LAN経由の制御に適したマイコン・ボード トランジスタ技術2002年12月号
登録先へメールで自動通知します
AKI-H8/3069FLANボードのH8マイコンからのアラーム(イベント)はLAN経由で接続されたWEBサーバーへ伝えられ、WEBサーバーは登録されたメールアドレスへメール送信を行います。イベントとしては、H8マイコンに接続されたセンサーや、スイッチなどが考えられます。とりあえずアプリケーションとしては子供の帰宅を携帯電話へメールで通知することを考えて見ます。子供の帰宅時に、H8のスイッチを入れてもらうと、メールで携帯電話に通知されます。
(1)メール送信機能(smtp.cgi)
通常のSocketプログラムです。
(2)H8からWebサーバーへの通知機能
この通知をさせるのにWebサーバーを使いました。Webサーバーにはメール送信するcgiファイル(smtp.cgi)を作っておきます。H8からsmtp.cgiを呼び出すことで登録先にメールの送信を行います。
(3)smtp.cgiファイルの呼び出し
MES2.3をインストールして、H8マイコンからTCPで呼び出し起動させます。このTCPクライアントは古いH8/OSよりMESを使ったほうがいいですね。MESのサンプルソフトtcpsend.cを参考に作ります。
ポイントは
HTTPリクエスト時のGETメソッドでしょうか
char buf[]="GET /cgi-bin/smtp.cgi HTTP/1.1 \r\n Host:192.168.1.40 \r\n Connection: Close \r\n \r\n";
argv[1]="192.168.1.40";
ip = strtoipno(argv[1], &err);
port=80;
sk = tcp_socket(0);
target.sin_addr = ip;
target.sin_port = port;
ret = tcp_connect(sk, &target);
tcp_write(sk, buf, strlen(buf));
tcp_free(sk);
スイッチのパラメータ渡しが必要なときは「URL?パラメータ」 で行います。今回パラメータaとbを区別して渡す場合
char bufa[]="GET /cgi-bin/smtp.cgi?a HTTP/1.1 \r\n Host:192.168.1.40 \r\n Connection: Close \r\n \r\n";
char bufb[]="GET /cgi-bin/smtp.cgi?b HTTP/1.1 \r\n Host:192.168.1.40 \r\n Connection: Close \r\n \r\n";
のようにbufa,bufbを用意して、プログラムの中で切り替えて使用します。
MESを使う場合の注意点は・2008年1月4日(書始め)
これまでの実験を1つにまとめます。上の写真のようになります。
ここまでくると、LCD表示とメール自動送信を1つにまとめたくなりました。LCD表示内容は本ホームページのホームにある管理人宛メッセージを表示します。メッセージを表示すると同時にLEDが点灯しメール受信を知らせます。
メール自動送信のイベント(タイミング)としては、スイッチを4つ用意しました。子供の帰宅(外出)通知用に3つ、父さん母さんを呼び出し用スイッチ1つ、これらのスイッチを入れてもらうと、スイッチの状態がメールで携帯電話に通知されます。
・2008年3月8日(書始め)
今回のH8の開発環境、手順をメモっておきます。
Windows XPを使います。Vistaでは動きませんでした。開発環境は先に述べたサイトを参照します。PCのウィルスソフトを外します。autoexec.batは ifconfig ne0 192.168.1.45 255.255.255.0 gateway 192.168.1.1 robo.elf(改行をすること)Disktoolを終了させると、システムフォルダを同じ名前で.motファイルが作られます。この.motファイルをFlush writerで書き込んで終了。