« DDR2の基板設計 | トップページ | BGA基板設計のコツがわかってきた »

2008.11.01

JavaScriptでシリアルポートへアクセス!

トラ技の78kマイコン基板を使うアプリケーションを、Webアプリケーションで作れないかと考えていました。Internet Explorerの中でボタンを押すと、ローカルマシンのUSBポートにつながったトラ技78Kマイコンを通じて、組み込み機器を操作できるようにしたいというものです。

Web78k_1

調べたところ、ActiveXを使えば可能ということがわかってきました。
ActiveXとは何ぞやということを調べていたら、要するにDLLみたいなもので、ローカルPC上で何でもできるライブラリであることがわかりました。普通のDLLの上にもう1層ラッパを被せて、変数の型やアクセスの方法を統一するというようなものだ、となんとなく理解しました。拡張子はDLLではなくて、OCXです。

JavaScriptからは、ActiveXで作られた関数を呼び出すことができますが、そのActiveXがネット上からダウンロードされて動くか、ローカルのハードディスクにあるものを動かすか、ということで大きな違いがあります。

インターネット上からダウンロードされて動くActiveXには、署名が必要です。
一方、ローカルにあるActiveXが動くには署名は必要ありません。署名はいりませんが、「安全」マークをする必要があります。安全マークは簡単にできます。

Web78k_2

InternetExplorerで「見るだけで」自動的にダウンロードができて実行できてしまうのが理想ですが、これをやるには信頼できる証明書を作らなければなりません。Windows2000はごまかせたのですが、どうやら、WindowsXPでは自分で自分を認証する「オレオレ証明書」ではだめなようでした。
ちゃんとした証明書を取るには、年間5~10万円くらいの費用と、会社の登記謄本が必要です。なので、軽い遊びで作るには面倒すぎます。個人や零細企業がActiveXを作ってアプリケーションを配布するには、ローカルにインストールしてもらうのがベストと思われます。

「見ただけで」インストールということはできませんが、OCXをダウンロードしてローカルにインストールしてもらえさえすれば、任意のコードがWebブラウザ上から動かせてしまうのですから、すさまじいものです。

作ったActiveXとJavaScriptのサンプルは下記のURLにアップロードしました。
http://www.tokudenkairo.co.jp/web78k/

上のページを開いたら、「インストール」のリンクをクリックして、web78k.lzhをダウンロードして解凍してください。その後、解凍されたフォルダの中にあるinstall.batを起動してください。
そして再びweb78k/index.htmlに戻るとActiveXが動くようになっています。

Web78k

ActiveXが動作すると、そのパソコンに接続されているシリアルポートを調べます。
そして一覧を表示します。
トラ技78Kマイコンがつながったシリアルポートを選択して、Openを押してください。
Enum

ポートがオープンすると、送信と受信のテキストボックスが白く変わるので、送信と書かれたテキストBOXにコマンドを入れてEnterキーを押します。すると、シリアルポートから送信されます。
受信した文字列は下のテキストボックスに表示されます。

各種メソッドの使い方は上記のWebページを開いて、ソースを見ればすぐにわかると思います。
上記WebページのJavaScriptはローカルに保存しても動きますし、他のページに持っていっても動きます。現時点では安全性は保障できませんが、自由にお使いください。
このツールはフリーソフトとして公開します。

このActiveXを使えば、78KマイコンをJavaScriptから制御できるようになるので、GUIでのコントロールなどいろいろな応用ができそうです。さらにAJAXと連携させれば面白いことができるでしょう。

このシリアルポートにアクセスするActiveXの詳しい作り方や、ソースコード、応用事例などは、ET2008のCQ出版ブースの講演で発表したいと思います。ご期待ください。

|

« DDR2の基板設計 | トップページ | BGA基板設計のコツがわかってきた »

コメント

コメントを書く



(ウェブ上には掲載しません)




« DDR2の基板設計 | トップページ | BGA基板設計のコツがわかってきた »