■ VoidServerの紹介
■ VoidServerとは
VoidServerは、LANに接続して使う、ネットワーク経由で他の電器製品をコントロールするための装置です。 自分自身のIPアドレスを持っていて、HTTP/telnet サーバとして動作するので、LANに接続すると世界中どこからでもPCのブラウザ等で操作することができるようになります。同種の他の装置と比べて以下のような特徴があります。
- [NEW!!] 本機をTFTPサーバとして、ファームウェアをTFTPコマンドで転送することができます。AVRライタがなくても、LANがあればファームウェアの書き換えができます。2-3秒程度で書き込めるのでかなり高速で快適です。マイコン内蔵のフラッシュメモリの読み書き、EEPROM の読み書き、ロックビットの読み書き、ヒューズビットの読み込み(ヒューズピットの書き込みはできません)に対応しています。
- 学習型赤外線リモコン機能を内蔵していて、ネットワーク経由でリモコン付きの家電製品を操作できます。学習した赤外線信号を圧縮して本体のEEPROM(不揮発性メモリ)に保存できます。
- 十字キーと液晶表示器があり、本体のみで IP アドレスなどの変更、確認ができます。
- Web インタフェースに加えて、telnet コマンドからでも操作できます。また外部ソフトウェアから TCP/IP でコマンド文字列を送信することで確実に制御できます。
- ネットワーク経由で自動補正されるSNTP時計を内蔵していますので、正確に指定した時刻に赤外線の送信、+5Vデジタル出力のON/OFF、アラームを鳴らすことができます。
- Atmel社のAVRマイコンを使用しており、PC のパラレルポートと直結してファームウェアの書き換えができます。ファームウェアは gcc(avr-gcc)で書かれているので、開発環境が無料です。
- シリアル通信機能(RS-232Cインタフェース)は付いていません。
TFTP によるフラッシュメモリ書き込み(MPEG1ムービー)
■ スナップショット(画像をクリックすると拡大表示されます)
■ 仕様 (Version2)
マイコン | Atmel社 MEGA64-16(FLASH-ROM 64kB, RAM 4kB, EEPROM 2kB) |
LANコントローラ | Realtek社 RTL8019AS |
クロック | 16MHzセラミック発振子(マイコン用) + 20MHz水晶発振子(LANコントローラ用) |
入出力 | LAN(10BASE-T), デジタル出力*8, デジタル入力*4, アナログ入力*4, 液晶表示器(16*2文字, 青色バックライト), 圧電ブザー, 赤外線LED, 赤外線受信モジュール |
搭載プロトコル | IP,TCP,UDP,ICMP,DHCP,SNTP,HTTP,TFTP |
ファームウェア | uIP-AVR 0.60.1ベース |
電源 | 6V, 80mA(待機時、実測) |
サイズ, 重量 | 100x75x25mm, 90g |
■ 開発状況
現在 Web,telnet 経由でのデジタル/アナログ入出力、赤外線リモコン信号の送受信、 SNTP対応の時計とアラーム機能を実装済み。 当初計画していた機能は一通り実現できました。
ハードウェア面では、下記の点を改良した Version3 回路を設計中です。
- D-sub 9pin の入出力コネクタを追加
- バックライト制御機能を復活させる(旧バージョンの回路にはあったのですが、 今回は省略してしまいました)
- 基板パターンの改良
- 赤外線受信モジュール部のフィルタ回路改良 → 現在テスト中です
- 部品実装面にシルクプリントを追加し、小中学生が組み立てられる程度のキットにする
- UDP で受信した PCM を再生する、ネットワークスピーカのデモを作成 → できました(2007/7/19)
ソフトウェア面では下記の改良を考えています
- ファームウェアを TFTP で書き込めるようにする → AVR ライタが不要になる → 実装しました(2007/5/26)
- WakeUP on LAN のマジックパケットを出力し、リモートから PC を起動する機能の追加
- 赤外線送受信/圧縮部の改良 → 現在テスト中です
- 赤外線コマンドをトリガとしてスイッチのON/OFF動作を行う機能の追加
- 1ボタンで赤外線とデジタル出力の操作ができるインタフェースを付ける → 実装しました(2007/1/23)。下に応用例があります。
■ 製作/応用例
■ 100V電源のON/OFFスイッチ

デジタル出力の最下位ビット(DOUT0)で、ソリッドステートリレー(SSR)を制御して、 100V電源の ON/OFF を行っています。 画面上の横長の黒い四角形のパーツが SSR です。 本体と SSR の間にトランジスタが入っています。 DOUT0 をトランジスタ(2SC1815)のベースに入力し、トランジスタで SSR を ON/OFF しています。 ブラウザの "I/O status" 画面から100V電源の機器を制御できます。 また下の1キーコマンドスイッチと組み合わせると、 コマンドを入力したときに100V電源を入れるといった使い方ができます。
■ 1キーコマンドスイッチ

円盤状の押しボタンスイッチの中央の白い部分を押してコマンドを入力します。 100円ショップで買った、押すと中で豆電球が光るライトを改造して、中にタクトスイッチを 埋め込んであります(豆電球部分は使っていないので光りませんが)。 本体とスイッチは2.5mmミニミニプラグで接続してあり、切り放せます。 1~8回押すことで8種類のイベントが発生して、 あらかじめ ブラウザの "ALARM" 画面で登録したアクション (赤外線送信、デジタル出力のON/OFF、BEEP)を実行します。
■ 壁掛けプレート

まだ本体を入れる適当なケースができていないので、 100円ショップで買ったベニヤ製のメモ挟みにネジ止めして、壁かけ式にしてみました。 壁には画鋲で止めてあります。
■ ダウンロード
VoidServer2.79 クイックリファレンス