人気ブログランキング |

タグ:玄箱 ( 4 ) タグの人気記事

玄箱の計画停電対策(2)

最近全然計画停電は無くなり、”計画停電対策”はちょっとタイミングを逃した気がしますが、まぁこれから夏にかけて有るかも知れないし。時間があるときにしかやらないので製作のペースが遅いのが敗因ですね‥‥。
とりあえず忘却する前に残しておきます。



  1. 製作2(続き)
    回路図(実際に使用)
    d0222779_2243589.jpg


    左半分は先に作って失敗に気づいたマルチバイブレータの回路と同じ遅延回路、右半分はタイマーIC555を使った遅延回路、それらを積分回路(トリガ)でつないでます。Tr3はリレーを押すだけです。


    これらをユニバーサル基板で作ったところ
    d0222779_22515913.jpg



    d0222779_22522226.jpg


    ここまでは順調。問題はここから‥‥。


  2. 玄箱への配線ポイント
    玄箱を開けて、基板とにらめっこしてました。どこから電源を取るかと。
    コンセントに電源が復帰したら電圧がかかるところでなけばなりません。電源を入れたままでいろんなところにテスターを当てて調べましたが、玄箱がオフの状態ではメイン基板上には、電源コネクタの部分しかありませんでした。それもそのはず、コネクタの5VはそのままMOSFETのpowerSWに入っています。とりあえず、GNDと玄箱の電源スイッチへ配線します。


    GND

    d0222779_22591886.jpg

    GNDはどこで取っても良いのですが、比較的大きめの部品が付いているところの方が半田付けしやすいので、私はCN4の6ピンにGNDがでているので、ここに半田付けしました。


    スイッチ
    d0222779_2315716.jpg

    スイッチは閉でGNDとメークするようなので、GNDの反対側に半田付けします。方向があるので間違わないように。


    一番重要な+5Vを取る部分ですが、結局電源基板に直接半田付けすることにしました。できるだけ電源基板には手を付けたくなかったんですが、ケーブルを切るよりこっちの方がマシだと思ったので。電源基板のコネクタ付近を見ると、空いているランドがあったので、そこに線をつっこみ半田付け。
    ※ちょうど赤丸の部分です


    d0222779_2363361.jpg



    d0222779_2382592.jpg



  3. テスト
    +5V/GND/スイッチの信号の3本を玄箱の外に出します。私はコンソールケーブルを出すために開けた裏蓋の穴を広げて出しました。結構古いプラスチックなので脆いので注意です。また、玄箱を開けた際にケーブルを引っかけて引きちぎらないように、ホットボンドでケーブルを固定しておきます。


    d0222779_23135183.jpg

    ふたを閉めればこれで終わり。あとはコンセントにつないでみるだけ。


    d0222779_23231260.jpg

    特に問題もなく、コンセントをつなぐと1秒後に電源が入りました。
    この基板だけの電流は、平常時でだいたい7~8mAくらい。結構電力を消費してしまうけど、USBメモリを挿したと思ってあきらめることにしよう。
    by tkn384 | 2011-04-05 23:31 | 電子工作

玄箱の計画停電対策(1)

東北関東大震災の影響で、最近計画停電がありますが、停電で常時ONにしている玄箱がバシッと落ちてしまうとそれだけでもショックなのに、停電が終わっても玄箱は電気が落ちたまま、自動的に復旧しません。まわりに誰か居ればスイッチをワンプッシュするだけで良いのですが、わざわざ頼むのも面倒。
ということで、電源が復旧したら自動的に電源ボタンをONするための工作をしました。




  1. やりたいこと
    停電から復旧したら、一呼吸おいて電源ボタンを押す動作(電源ボタンの回路を閉)をするだけです。本当はUPSのように、電源が落ちた瞬間からshutdown完了するまでバッテリ駆動するようなのも考えて見たいのですが、今はとりあえず落ちたら立ち上がるところまでです。

    非常に単純な動作ですが、機械的にボタンをプチッと押すのは精度的に不安だし、玄箱自体を開け閉めする際の邪魔にならないように綺麗に作るのが難しそう(面倒くさい)なので、電気的にタイマーを組み合わせて作ることにしました。

    機能としては、こんな波形を作りたいわけです。
    d0222779_20121894.jpg


    • 電源復帰とともにタイマー1が起動、1秒後に玄箱の電源スイッチの回路を閉する
    • 玄箱電源スイッチを閉でタイマー2起動、0.5秒で電源スイッチの回路を開にする

    たったこれだけです。
    でも、コストを抑えたいのでスイッチの開閉は安いメカニカルの小型リレー、タイマー1、タイマー2は単純なCR遅延回路で作ることにしました。



  2. 仕様検討
    一応作る前に5分くらい(!)は考えたんですが、遅れてONになるだけなら何も考えることは無いのですが、一応その後OFFにするという、2アクションあるので、状態遷移を考えると、CR遅延回路だけで作ろうと思うと結構面倒です。(やり始めて気が付いた‥‥)

    状態遷移としては、
    電源ボタンON待機状態->電源ボタンON中->電源ボタンOFF(定常状態)
    とループは無いので複雑なところは有りません。ただ上記の3つの状態を2つの独立したタイマーで作る上で、それぞれのタイマーをパラレルに置くか、シリーズに置くかが考えどころでした。


    パラレル
    d0222779_20114095.jpg




    シリーズ
    d0222779_20132086.jpg




    パラレルの方がタイマー自体は簡単ですが、タイマー1とタイマー2の出力をJKフリップフロップ(双安定マルチバイブレータ)が要るなぁと考え、面倒ということだけで(^^;、シリーズにしようと決めました。



  3. 製作!
    昔電子工作やっていたこともあって、たまたま手元にいくつかパーツがあったので、それらを使ってユニバーサルボードにC、R、Trを差し込んで回路を作って行きます。(超行き当たりばったりデス)

    タイマー1の出力からタイマー2をシリーズにつなげるところで苦戦。アナログ回路は面倒だなぁ、と久々に実感(しばらくデジタルばっかりだったもんで‥‥)
    タイマー2をタイマー1につなげると、タイマー1が動かなくなったり(トランジスタ回路はインピーダンス低いし)、電圧がなだらかな曲線なもんだから、入力電圧が変動すると時間がまちまちになる様子。

    結局タイマー1の出力からタイマー2のCR遅延回路を駆動するのを早々と断念し、タイマー2は面倒だけど単安定マルチバイブレータ回路にすることにした。最初からフリップフロップにしておけば良かったんだけどな。これだと出力もH/Lはっきりしているし、電圧による変動も少ない。

    単安定マルチバイブレータを使った回路(不採用だけど)

    d0222779_20254986.jpg



    一応思ったとおりの動作はするんだけど、致命的な問題が有りました。てっきり忘れてましたが、単安定でもマルチバイブレータ回路は初期値が確定しないんでしたよね。
    このため、何度か動かしていると、タイマー1で1秒後にONする前に既にタイマー2の初期値がONとなっていたり、ある時はなっていなかったり。これじゃぁ使えないよな。
    d0222779_20323382.jpg


    折角マルチバイブレータのところまでトランジスタで作ったし、パラレルにタイマーを配置しようかとも考えたけど、たまたま部品入れにNE555が1個だけあったので、これを使って足掻いてみる。これだとトランジスタで作った単安定マルチバイブレータのように、初期値がまちまちということも無いし、トリガーのインピーダンスも高いし、うまくいきそう。

    早速実験してみた。

    d0222779_20385471.jpg

    d0222779_20391257.jpg

    結果、期待通りの動作でした。

    結局タイマー1はトランジスタとCRの典型的な遅延回路、タイマー2は邪道にも(?)タイマーICを使ってしまって、何となくパッチワーク的な回路でイマイチ美しく無いのですが、まぁそんなこだわるモノでもないし、早く作っておきたいので、これで良いかと。

    まだ回路図に起こしていないので、続きは次回。


by tkn384 | 2011-03-30 20:09 | 電子工作

ネットdeダビングとftpの両立

ウチの玄箱は、元々外向きのftpサーバを作りたいから導入した経緯もあり、未だに我が家ではftpサーバとして玄箱は重要な役割を担っています。またtoshiba製HDDレコーダーも使っており、そのHDDが一杯になってきたら待避場所としてネットdeダビングで玄箱にデータをダビングしたい欲求も出てきて、そのために常時動いているこのftpサーバをのサーバとしても使えないかと考えるのはごく自然な流れでしょう。

玄箱にtoshiba製HDDレコーダーからダビングするためのクライアントとしては、先人達のブログでも多く紹介されているRDserviceを使って試してみました。ネットdeダビングはftpを使っていることは解っていたので、RDserviceを使うためにはftp(私はproftpd)を停止させなければなりません。しかしftpは止められない(止めたくない)ので、HDDレコーダーのデータをダビングする時は、一度windowsパソコンでVRD(windowsアプリでネットdeダビングと接続できるソフト)に転送したあと、windowsからsamba経由でサーバにファイルを送るという面倒くさいやり方を何年も続けていました。

ところが同じようなことを考えている人も居て、その方のブログを拝見して目からウロコでした。

http://flowernet.gr.jp/masm/RDService.html


仕掛けとしては、同じIPアドレスで同じポートは共有できないため、一つの物理インタフェースに仮想に二つのアドレスを割り振り、サービスをそれぞれ別個にぶら下げるという方法でした。
「なんで早く気が付かなかったんだろう!」と思いましたよ。私はどっちかというと「ftpの別ポートを使ってなんとかできないものか」と思っていたので、まさに目からウロコでした。

そこで、まず先人の方法に沿って、設定を実施。

  • 1.仮想アドレスの追加eth0:0

    我が家のIPアドレスに沿って以下のように設定

    玄箱1(外向けftpサーバ現在のIPアドレス)
    →eth0 192.168.0.132
    玄箱2(新しく作る仮想アドレス)
    →eth0:0 192.168.0.232
     


    起動時にeth0:0を作るため、/etc/network/interfacesに追加

    iface eth0 inet static
    address 192.168.0.132
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.1

    iface lo inet loopback

    iface eth0:0 inet static
    address 192.168.0.232
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.1

    auto eth0 lo eth0:0



    rebootしてifconfig -aでeth0:0ができることを確認。


  • 2.RDServiceの再コンパイル

    ここは私の力ではどうしようもないところ。RDServiceの動作が解らないので、先人の知恵の通りに実施。

    cd /usr/local/bin/RDService
    patch -p1 < patch
    make

    しかし同じRDService 1.0b5でありながら、うまくpatchが通らない‥‥。
    うまくパッチが当てられなかったファイルは.rejができるので、そのファイルと
    diffを見比べる。
    結局、なぜか微妙にsrcファイルが違うみたいでpatchがうまくできないみたい。

    仕方がないので、diffファイルを見て、手動でpatchする。
    私のところでうまくpatchができなかったのは、FTPService.javaとMain.javaでした。

    やったことはdiffファイルを見ながら、-のラインを+のラインにそれぞれのファイルの中の該当のラインを機械的に置き換えるだけなので、注意深くviでsrcを書き換えした。
    たしか10カ所くらいだっただろうか。


    終わったらmake clean ;makeでコンパイル。無事終了。

    起動のために、usr/local/bin/RDService/RDServiceを修正

    #!/bin/bash
    sudo /opt/java/jre/bin/java -jar /usr/local/bin/RDService/RDService.jar -s -p 55
    00:5509 -d /mnt/share/video/tmp/RD -n miz-box -a 192.168.0.232

    ここで、-aオプションを仮に外して実行してみると、RDServiceが0.0.0.0で立ち上がりエラーになるため、-aオプションが有効になるように変更できたことがわかる。

    念のため、/etc/rc.2/S99rdservice restart (ウチではS99にしてます)
    を実施すると、

    miz-box:/usr/local/bin/RDService# /etc/rc2.d/S99rdservice restart
    Shutting down RDService:
    Starting RDService:
    miz-box:/usr/local/bin/RDService# RDService 1.0 beta 5
    Copyright 2004,2005 raktajino. (http://homepage.mac.com/raktajino/)
    local IP address : /192.168.0.232
    FTP control : port 21
    FTP data : port 5500 - 5509
    FTP buffer size : 1048576
    NETBIOS NS : port 137
    NETBIOS service name : miz-box
    Destination directory : /mnt/share/video/tmp/RD
    Ready.

    192.168.0.232のポート21でRDServiceが開始されたことが解る。


  • 3.inetdの設定
    元のproftpdが192.168.0.132だけを使うように設定します。
    /etc/inetd.confを修正

    192.168.0.132,127.0.0.1:ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/prof
    tpd


    行の最初のIPアドレスで、listen時に使うアドレスを指定できるとは、知らなかった‥‥。

    そして忘れずに確認することがあります。
    ウチのproftpdは、もともとstandaloneで動いていたのを忘れていて(inetd.confを設定しているのに!)、起動しても最初に起動するproftpdがすべてのIPアドレスのポート21をおさえてしまったため、RDServiceが192.168.0.232で起動しようとしても、「もう使ってるよ」ってなエラーを吐いて終わってしまいました。

    うまく動かない場合は次の確認をしておくと良いと思います。

    netstat -nap

    正常に起動すれば、それぞれのIPアドレスに対して一つずつlistenに割り当てられます。
    tcp 0 0 192.168.0.232:21 0.0.0.0:* LISTEN
    16351/java
    tcp 0 0 192.168.0.132:21 0.0.0.0:* LISTEN
    1256/inetd

    ※javaはRDService、inetdはinetdから呼ばれるproftpdがlistenしているということ

    standaloneからinet経由で立ち上がるようにするためには、以下を修正。
    /etc/proftpd/proftpd.conf
    :
    ServerType inetd
    :


    これで一応テスト。
    windowsなどから、ftp 192.168.0.132とftp 192.168.0.232を実施して正常を確認。RDServiceの方はIDを要求されれば正常に動いていると思います。


    実機でも確認します。

    d0222779_1362393.jpg

    この裏でftpでファイル転送もできるか確認します。

    ネットdeダビングですが、inetdでもRDServiceでも特に排他制御はしていないので、何個でもプロセスが走りますので、たとえばRD-XS57とRD-H1と同時に同じ玄箱にダビングはできますが、やはりちょっとでも不安定になるとすぐ「ネットワークで障害があり中止しました」に成ってしまう確率が上がるので、無印玄箱なら一つが安心でしょう。
    by tkn384 | 2011-03-27 01:43 | 玄箱
  • 我が家の玄箱

    d0222779_116759.jpgブログ引っ越ししました。
    最初なんで、我が家の玄箱の紹介をしておこうかと思います。

    玄箱とは? 一言で言えば、玄人指向のNASハードディスクで、ググれば嫌と言うほど紹介は出てくると思います。その初代機をまだ細々と使い続けています。尤も買ったまま使っている人はほとんどいないんじゃないでしょうかね?我が家のもlinuxを入れ替えた初代玄箱を、運用機と試験機として2台使っています。それぞれIPアドレス以外同じ設定で、試験機でテストした後に運用機に反映させるといった感じですね。

    現在の状態
    Debian GNU/Linux 5.0  (lenny化、u-boot化済み)
    2TB 1機搭載

    使用用途
    ・外向きのftpサーバ(友達とのファイル交換用)
    ・webサーバ(ホームページ)
    ・DLNAサーバ
    ・wizd(昔のlinkstation用画像サーバ)
    ・REGZA録画用サーバ
    ・sambaサーバ
    非力な装置でありながら、結構便利に使ってます。

    玄箱の良いところは、私的には使いやすさ、ですね。慣れもあるけど構造が単純なんで簡単なlinuxの設定で色々楽しめて、それが実用的なところ。あと、消費電力の少ないところ。サーバと言えば24h365dで動かしているイメージだけど、日中はほとんど使わないのにつけっぱなしはエコ的によくない。非力な玄箱といえどほったらかしておけば10w位消費してしまう。それでHDDの停止が簡単にできた玄箱を未だに使い続けているわけですね。日中はほとんどHDDが止まっているんで1ヶ月電気代は100円くらいのようです(エコワットで確認)

    これらについてぼちぼちと書いていこうと思ってます。
    by tkn384 | 2011-02-26 11:06 | 玄箱


    今の好きなことは、暇な時いじる玄箱とか家電とか


    by tkn384

    プロフィールを見る
    画像一覧
    更新通知を受け取る

    カテゴリ

    全体
    家電
    玄箱
    電子工作
    Raspberry Pi
    未分類

    以前の記事

    2014年 09月
    2014年 08月
    2014年 07月
    2014年 06月
    2014年 03月
    2013年 08月
    2012年 05月
    2011年 05月
    2011年 04月
    2011年 03月
    2011年 02月

    フォロー中のブログ

    メモ帳

    最新のトラックバック

    ライフログ

    検索

    タグ

    その他のジャンル

    ブログパーツ

    最新の記事

    玄箱サーバ死亡
    at 2014-09-23 16:39
    初代玄箱USB増設
    at 2014-08-31 14:05
    RaspberryPiのバッ..
    at 2014-07-21 23:31
    Windows7とWindo..
    at 2014-07-20 12:16
    Windows7のPCを買い..
    at 2014-07-06 01:48

    外部リンク

    ファン

    記事ランキング

    ブログジャンル

    ネット・IT技術

    画像一覧