HighPoint Rocket 2720SGLにHDDアクセス用LEDを付けてみた

録画サーバに繋げたHDDは容量も弾数も増えていくよね、ってことで、HighPoint Rocket 2720SGLを導入したわけだけれども。

PCI Express x8動作のminiSAS×2(=SATA×8)のHost Bus Adapterですね。

 

ケースからワサワサとケーブル(miniSAS→SATA×2、SATA電源×2)を吐き出させて、「裸族のマンション二号棟」(終売)×2を合体&前面に蓋追加して、ここにディスクを載せた。

IMG00412.jpg

IMG00405.jpg

IMG00409.jpg

 

・・・はて。どのディスクに何が入っているやら・・・。(あるあるーw)

同じ型番のディスクが何発もあると、いちいちマシン停止して繋ぎ変えてたりとかめんどくせーし。

アクセスランプさえあれば! Σ(゚Д゚)

 

ってことで、ぐぐるとこのページのお方がほぼ同じことをしようとしておりまして、大変参考になったです。感謝。(*ゝω・)ノ アリガ㌧♪

ふむふむ。LEDのカソードをRocket 2720SGLのピンに、アノードを3.3Vに繋げればいいのね・・・。

むむぅ。3.3Vって5Vから作らねばならんのか・・・。ま、電子工作とかもやってみたいし。ブレッドボードとか楽しそうだな。\(^ω^)ノ ヤッホイ

ほほぅ。内部USBの延長ケーブルとか便利に流用できるのかー。

 

しかし、HDD単体にアクセスランプを繋げられないものだろうか、とまたぐぐる。

ちょいちょい出てきますな。SATA電源の11番ピンが引き出せれば、そこに繋げればいいらしい。

だが、11番ピンにアクティブ信号を出すのは任意らしく、対応していないHDDがあるらしい。

#WDは対応してるとか、Seagateは対応してないとかだったようななな・・・。

そしてなにより、SATA電源ケーブルで11番ピンだけ外に出してくれるものはないらしい。

SATA電源ケーブルは、1~15番を3つずつ5本(3.3V/GND/5V/GND/12V)にまとめられているのが通常。

3.3Vと11番を含むGNDを繋げれば良さそうではあるが、対応してないHDDとか持ってるし。

 

ん?SATA電源に3.3Vがある!?5Vから作り出さなくてもいいんじゃんww

というわけで、SATA電源の3.3VとRocket 2720SGLのアクティブピンに接続することに決定。( ゚Д゚ノノ☆パチパチパチパチ

 

というわけで、まずはSATA電源から3.3Vを取ってくる。

もちろん、PC電源でSATA電源として3.3Vを出力している事が必要。

3.3Vがなくても、HDD内部で3.3Vを作り出してるらしく、4ピンからSATA電源に変換するアダプタ/ケーブルとかあって、使ったりしてるけど、もちろんそれじゃダメダメ。

ちゃんとPC電源から直に生えてるSATA電源を引っ張り出してくる。

で、SATAの分岐ケーブル電源コネクタと追加で3.3Vを引っ張り出すためのラインを適当に用意して、ガッチャンコ。

IMG00408.jpg

黄色いラインが3.3Vを引き出したやつですお。

 

お次は、Rocket 2720SGLのアクティブピンに内部USBケーブルを流用、接続して引っ張り出してくる。

内部USBケーブルは、2個分をまとめた9ピン用のが売られていたりするけど、2720SGLは単純なHBAでFailure信号用のピンがないのでこれでもOK。(^ω^)b ダイジョーブ

#Failure信号用のピンのあるRAIDカードだったりすると、9ピン用だと物理的にダメだと思う。

IMG00411.jpg

赤い大量のminiSASからファンアウトしたSATAケーブル、PC電源からのSATA電源ケーブル×2とともに、アクティブピンに接続した内部USBケーブルをケース後方から引き出してみた。

 

ここで、もう一個内部USBケーブルを持ってきて、片側を切断、ラインむきむき、3.3Vのラインにハンダ付け、仕上げは絶縁テープまきまき。

 

これで、Rocket 2720SGLから引き出したアクティブ信号の9ピンUSBコネクタと3.3V電源の9ピンUSBコネクタが出来ましたとさ。

USBコネクタからケーブルをそれぞれ片側半分を引っこ抜いて(精密マイナスドライバで外側から金属部分が見えている部分の下の方の爪をちょっと持ち上げながらケーブルを引っ張る)、入れ替えてそこにLEDをそのまま挿せるようにしてみた。

#ただし、3.3Vの方の9ピン目は要らんし、間違えたりすると嫌なので切除した。

IMG00404.jpg

ただし、LEDの足はUSBのピンより細いらしく、ゆるゆるなのでUSBコネクタの金属部分が見えているところを細いもので押し込んで、LEDの足でも挟まるように狭めてやる必要があった。

#白い方のコネクタの右端が光ってますが、動画再生して点滅するか確認中だったから。

 

作成したLEDパーツの全体像がこちら。

IMG00406.jpg

 

さて、このLEDパーツをどこにどうやって収めるかが残る課題ですが、なんか飽きたww

 

【追記】

結局、こう収めたよ。

IMG00415.jpg

PCケースの後部スロットを塞ぐ板を曲げて、穴あけて、LED差し込んで、ゴニョゴニョしてネジ止め。

タイムスタンプを62進数にするワンライナー

  • 投稿日:
  • by
  • カテゴリ:

タイムスタンプをファイル名やら何かのIDやらに使ったりするけど、重複が怖いのでナノ秒まで取ると長すぎて使えないとか、色々有りますよねー。でも、タイムスタンプにしとくと、時系列に並べるのが楽とかあるよねー。

 

年〜ナノ秒まで並べると、24桁。

これをエポック秒+ナノ秒にすると現在19桁。

 

[自然数をX進数の文字列に変換するJavaScript](http://recitativo-fant.asia/blog/2013/01/xjavascript.html)

[Linuxコマンドからパイプでnode.jsに渡して処理するワンライナー](http://recitativo-fant.asia/blog/2013/02/linuxnodejs.html)

dateコマンド(エポック秒+ナノ秒) date +"%s%N" でタイムスタンプ取得、これらを組み合わせて、・・・

 

とかやってみるけど、JavaScriptの桁数の関係上、現在時刻でマイクロ秒(16桁)くらいまでしか計算できてない(=逆算もできない)ので(逆算しないなら使えなくもないけどw)、「cutコマンドで16桁だけ取り出す」をカマして、下記としてみた。

 

date +"%s%N" | cut -b 1-16 | node -e "var d2x=function(d){var s='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';var l=s.length;var x='';while(d>0){x=s.charAt(d%l)+x;d=Math.floor(d/l);}return x;};process.stdin.resume();process.stdin.on('data',function(str){console.log(d2x(str));});"

 

これで、「1359705351694061」(エポック秒+マイクロ秒の16桁)を「6e6ngkaIt」(9桁)にできた。\(^ω^)ノ ヤッホイ

 

ちなみに、逆算する場合はこちら。

 

echo "6e6ngkaIt" | node -e "var x2d=function(x){x=''+x;x=x.trim();var i,j,k=0,s='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',l=x.length;for(i=0;i<=l;i++){for(j=0;j<s.length;j++){if(s.charAt(j)==x.charAt(i)){k+=j*Math.pow(s.length,l-i-1);}}}return k;};process.stdin.resume();process.stdin.on('data',function(str){console.log(x2d(str));});"

Scriptletの書き方

  • 投稿日:
  • by
  • カテゴリ:

 

ブックマークのURL欄にJavaScriptを書く。

下記のように書くとキレーかな(?)

 

javascript:void(func=function(){フツーに処理を書く}, func())

 

例)

javascript:void(func=function(){alert('%EF%BD%91(^%CF%89^)%CF%81 %EF%BE%86%EF%BD%AC%EF%BD%AF%EF%BE%8E%EF%BD%B2');confirm('%EF%BC%BC(^%CF%89^)%E3%83%8E %EF%BE%94%EF%BD%AF%EF%BE%8E%EF%BD%B2');}, func())

UTF-8について

Webサーバのログとか、AJAXの内容とかでは、日本語や記号をUTF-8でエンコードされた形、あるいはUTF-8のコード表記で見ることが多くなってきたわけですが・・・

 

例えば「ポ」という文字は・・・

 

\u30ddという「コード」がマッピングされている。

 

これは、UTF-8における「その文字のコード」であり、UTF-8でエンコードしたものではない。

 

実際にこれらのコードでエンコードするには、他に追加すべき情報がある。

 

このコードを2進数にすると次のようになる。

 3 0 d d => 0011 0000 1101 1101

 

これを次のようにゴニョゴニョする。

=---- : 「1」の個数(=バイト数)+「0」
     ---- : 1バイト目
         =-- : 「10」バイトの区切り
            ------ : 2バイト目
                  =-- : 「10」バイトの区切り
                     ------ : 3バイト目
     ----   ------   ------ : この領域に「30dd」を入れると次のようになる。
=11100011=10000011=10011101 : これを16進にすると次のようになる。
=E3=83=9D : UTF-8エンコード完了

 

nkf(ファイルのエンコードをゴニョゴニョする)コマンドで確認する。

echo "ポ"|nkf -wMQ

=E3=83=9D

 

逆に言うと、nkfでは、実際のどの文字がどのコードにマッピングされているか直接的には分からない。

 

コード<==>文字の変換には、JavaScriptがお手軽でいい。

### コード→文字の変換

 -  サーバでnode.jsとか入っていれば、

    node -e "console.log(unescape('\u30dd'.replace(/\\\\u/g, '%u')))"

 -  あるいは、Google Chrome のデベロッパーツールのコンソールで、

    console.log(unescape('\u30dd'.replace(/\\u/g, '%u')))

### 文字→コードの変換

* replaceの位置が変わっていることに注意 *

 -  サーバでnode.jsとか入っていれば、

    node -e "console.log(escape('ポ').replace(/%u/g, '\\\\u'))"

 -  あるいは、Google Chrome のデベロッパーツールのコンソールで、

    console.log(escape('ポ').replace(/%u/g, '\\u'))

 

JavaScriptでエンコードするには、encodeURI, encodeURIComponentを使う。

 

ハ長調だと「ラ」の音は、「A」っていうコードだけど、実際は「440Hz」みたいな(?)

指定文字でパディングするJavaScript

  • 投稿日:
  • by
  • カテゴリ:

 

// 左側を指定文字でパディング

var strpad = function(str, len, pad, right){

    if(typeof pad == "undefined" || pad.length == 0){ pad = " "; }

    var padding = "";

    if(len){

        for(var i = 0; i < len; i++){ padding += pad; }

    }

    str = new String(str);

    if(len){

        if(right){

            str = str + padding;

            str = str.substr(0, len);

        }else{

            str = padding + str;

            str = str.substr(str.length - len, len);

        }

    }

    if(pad == " ") str = str.replace(/ /g, "&nbsp;");

    return str;

// 右側を指定文字でパディング

var strpadright = function(str, len, pad){return strpad(str, len, pad, true)}

// 左側を"0"パディング

var strzeropad = function(str, len){return strpad(str, len, "0");}

// 右側を"0"パディング

var strpadzero = function(str, len){return strpad(str, len, "0", true);}

 

// 使用例

strpad("aa", 5, "x")

=> "xxxaa"

strpad("aa", 5, "x")

=> "xxxaa"

strpadright("aa", 5, "x")

=> "aaxxx"

strzeropad("aa", 5, "x")

=> "000aa"

strpadzero("aa", 5, "x")

=> "aa000"

自然数をX進数の文字列に変換するJavaScript

  • 投稿日:
  • by
  • カテゴリ:

// 本体

var d2x=function(d,s){var l=s.length;var x="";while(d>0){x=s.charAt(d%l)+x;d=Math.floor(d/l);}return x;}

var x2d=function(x,s){x=''+x;x=x.trim();var i,j,k=0,l=x.length;for(i=0;i<=l;i++){for(j=0;j<s.length;j++){if(s.charAt(j)==x.charAt(i)){k+=j*Math.pow(s.length,l-i-1);}}}return k;}

 

// 使用例

var seeds = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

d2x(1, seeds);   // => "1"

d2x(9, seeds);   // => "9"

d2x(10, seeds);   // => "a"

d2x(35, seeds);   // => "z"

d2x(36, seeds);   // => "A"

d2x(61, seeds);   // => "Z"

d2x(62, seeds);   // => "10"

 

x2d("1", seeds);   // => 1

x2d("9", seeds);   // => 9

x2d("a", seeds);   // => 10

x2d("z", seeds);   // => 35

x2d("A", seeds);   // => 36

x2d("Z", seeds);   // => 61

x2d("10", seeds);   // => 62

Ubuntu 12.04 に リモートデスクトップ接続 (xrdp)

  • 投稿日:
  • by
  • カテゴリ:

 

apt-get install xrdp vnc4server xvfb lxde

 

※lxde でなく lxde-common だけでもいいかもしれない。

 

日本語キーボード対応

xrdp 0.5.0 の日本語キーマップ
http://www.eonet.ne.jp/~smallbear/X/xrdp-jpkeymap.html

 

・・・ググってすぐ出てきたこれだけではUbuntuの場合メニューとか出なかった。

LubuntuやXubuntuならうまくいくらしいが。

 

Connect to Ubuntu 12.04 (Precise Pangolin) via Windows Remote Desktop

http://www.liberiangeek.net/2012/05/connect-to-ubuntu-12-04-precise-pangolin-via-windows-remote-desktop/

にある、

echo "gnome-session --session=ubuntu-2d" > ~/.xsession

を実行する。

Node.jsのインストール

今更ですが、Node.js (0.6系)のインストールメモ

 

 

●Windowsの場合

インストーラでインストールするだけ

http://nodejs.org/#download

NPMも使えるようになったね。

楽になったもんですな。

 

●Ubuntuの場合

apt-getでインストールする。

下記リポジトリを利用させていただく。

https://launchpad.net/~chris-lea/+archive/node.js

「Technical details about this PPA」のリンクをクリックすると

インストールのための設定方法が表示される

 

・リポジトリ追加

 /etc/apt/source.listを編集

 deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu YOUR_UBUNTU_VERSION_HERE main

 deb-src http://ppa.launchpad.net/chris-lea/node.js/ubuntu YOUR_UBUNTU_VERSION_HERE main

 

・キー追加

 「Signing key」をクリック

 →キーの文字列をクリック

 →keyIDをクリック

 →-----BEGIN 以下をコピーしてファイルに保存

 

 apt-key add [key file]

 

#下記で一気にできるらしい(未確認)

 add-apt-repository ppa:user/ppa-name

 

・インストール

 apt-get update

 apt-get install nodejs

 

●NPMの設定

 

プロキシを通らなければならない場合、下記を設定する。

・プロキシ設定

npm set proxy http://[proxy]:[port]

 

・レジストリ設定

proxy設定だけだとhttpsを使おうとして、有効でない証明書でエラーになる(っぽい)

npm config set registry http://registry.npmjs.org/

これで、httpsでなくhttpを使うようになる(っぽい)

緑のカーテン その3

前回から2ヶ月半経ちましたね。

そして関東直撃の台風15号が去ったあとでもあります。

ひと夏を過ぎていろいろと勉強になったので来年の糧になるよう、まとめていきたいと思います。

まずは、前回からの経過報告。

 

キュウリ

2011/7/9

キュウリ 2011-07-09 14.50.52.jpg

プールで子供を遊ばせながらビール&味噌キュウリまるかじり♪

このために植えたキュウリと言っても過言ではない。

この頃にはもうバンバン収穫できる。

 

2011/7/16

キュウリ 2011-07-16 08.47.12.jpg

成長の盛りである。

 

2011/7/31

キュウリ 2011-07-31 11.07.35.jpg

そろそろ最初の方の葉が落ちてくる。

 

ミニトマト

2011/7/16

トマト 2011-07-16 08.47.38.jpg

2号。もりもり伸びてきている。

 

2011/7/31

トマト 2011-07-31 11.09.17.jpg

トマト 2011-07-31 11.09.07.jpg

2号と3号。胸の高さくらい。

 

2011/8/6

トマト 2011-08-06 10.38.18.jpg

・・・その後、食べられる実が生っていた記憶がない。

いや、なんかしら生っていたけど、割れてたり、数が少なかったりだった。

 

ヒョウタン

2011/7/16

ヒョウタン 2011-07-16 08.47.27.jpg

1号である。まだひょろっこい。

ヒョウタン 2011-07-16 08.48.07.jpg

ヒョウタン 2011-07-16 08.48.20.jpg

3号である。1号より元気。背の高さを超えた。

 

2011/7/31

ヒョウタン 2011-07-31 11.08.34.jpg

もりもり伸びてきている。そろそろいい感じにカーテンになるだろう。

 

2011/8/13

ヒョウタン 2011-08-13 16.05.12.jpg

すっかりカーテンを形成し、実が生り始めた。

ヒョウタン 2011-08-14 10.50.40.jpg

食えるかと思って収穫してみた。

塩味で炒めてみたが・・・・・・。すっげぇ苦い orz

食えない。千成瓢箪は食えない。食えるのは違う種類か・・・。

 

ヘチマ

2011/7/31

ヘチマ 2011-07-31 11.09.51.jpg

ヒョウタンより葉が大きくて硬いし、緑が濃い。

 

2011/8/6

ヘチマ 2011-08-06 10.36.43.jpg

花芽である。まだ咲いてない。

 

ウマブドウ

2011/7/16

ウマブドウ 2011-07-16 08.47.59.jpg

先月とあまり変わらん。まだ、本気出してないのかな?

 

2011/7/31

ウマブドウ 2011-07-31 11.08.15.jpg

結構来たね。でも、まだまだスカスカ。

 

2011/8/13

ウマブドウ 2011-08-13 10.38.47.jpg

実が生ってきてる!!

 

2011/8/21

ウマブドウ 2011-08-21 15.23.53.jpg

収穫してみた。75gである。

ウマブドウ 2011-08-21 15.34.32.jpg

ホワイトリカーに漬けてみた。3ヶ月でできるらしい。

虫刺されによく効く。アブ・ブヨに食われるとムヒとかじゃあんまり効かないけど、これは効く(もらいもので体験済み)。

毎日おちょこ一杯で脂肪肝に効くらしい。あっという間に無くなりそうだな・・・・。来年、もっと収穫できるように期待。

 

日陰具合(南西側:キュウリ、ヒョウタン)

2011/8/6

南西 2011-08-06 10.38.49.jpg

キュウリは、なぜか上へ行くのを諦めた?

しかし、ちゃんと上へ伸ばせば、葉の大きさと緑の濃さでかなり期待できる。

ヒョウタンはウッスラだが、上へ上へと伸びたがり。

 

2011/8/13

南西 2011-08-13 10.36.01.jpg

キュウリは、だいぶくたびれてる。

ヒョウタンはまだまだ伸び盛り。

 

2011/9/10

南西 2011-09-10 09.46.10.jpg

キュウリは撤去した。もう、枯葉ばかり。お疲れ様。

ヒョウタンも、だいぶくたびれてる。だが、残暑までは使えそうだ。

南西 2011-09-10 09.46.16.jpg

とはいえ、下の方はすっかり茎だけ。

 

日陰具合(北西側:ヒョウタン、ヘチマ、ウマブドウ)

2011/8/6

北西 2011-08-06 10.37.40.jpg

ヒョウタンもウマブドウも元気である。

ヘチマはなぜか北へ向かって伸びている。

 

2011/8/13

北西 2011-08-13 10.36.25.jpg

いい具合に日陰を作ってくれてる。

ウマブドウの方が葉が小さく、茂り具合が少ないが、緑が濃い。

ヒョウタンはよく茂っているが、緑が薄い。

結果、どちらもそこそこいい感じである。

北西 2011-08-13 10.37.38.jpg

白い花はヒョウタン、黄色い花はヘチマである。

葉の見た目の良さは、ウマブドウが一番カッコイイ。

 

2011/9/10

北西 2011-09-10 09.46.26.jpg

ヒョウタンはだいぶくたびれている。

対して、ウマブドウの長持ち具合は群を抜いている。

北西 2011-09-10 09.46.43.jpg

一際でかい葉はヘチマである。なかなか葉が長持ちしているようだが、どんどんどこか向こうの方に伸びて行ってしまった。途中で先っちょを摘むべきであったか。実はどうした?

 

ラスト

2011/9/23

ラスト 2011-09-23 14.44.37.jpg

関東直撃の台風15号が過ぎて、南風によってヒョウタンは大打撃を受けた。

ってか、既にだいぶくたびれていたからしゃーない。

ラスト 2011-09-23 14.44.26.jpg

対して、ウマブドウ恐るべし。まぁ、南風には直接当たらなかったせいかもしれないが、葉の長持ちさ加減は素晴らしい。

 

まとめ

  成長速度 葉の茂り 葉の濃さ 葉のもち カーテン性能 実の使い勝手 総合評価
キュウリ
ヒョウタン
ヘチマ
ウマブドウ

 

キュウリ

やはり食えるものは、総合評価が高い。育てるからには、実が楽しめるのがいい。

キュウリは、8月前半までがいいところだが、家族みんなで楽しんで食することができるのがとても良い。

 

ヒョウタン

ヒョウタンは、時期的にマッチしており、ちゃんと茂って、盛夏の日差しを遮ってくれる、なんとか残暑も持ちこたえる(汚らしいが・・・)のでカーテン性能は非常に高い。

白い花もいっぱい咲くので(千成だからかも)、割といい感じ。

だが、実は正直使い勝手に困る。食える種類で来年はチャレンジしてみよう。

 

ヘチマ

食えるということで植えてみたものの、発芽に高温を要するらしく、苗が1株しかできなかった。

日当たりがあまりよろしくなかったせいか、明後日の方向に伸びていくし、実はほとんど生らなかった。

だが、葉は大きく、緑濃く、葉の持ちもまぁまぁなので、ちゃんと日当たりのいいところに植えればいけるかも知れない。

本来の力を発揮させてやることができてないだろうということで評価は保留である。

 

ウマブドウ

葉は小さいが、緑濃く、葉がダントツで長持ちする。

カーテン性能は、南側に持ってくれば、もしかしたらもっと発揮するのかもしれない。

人目が気になるところでも、葉がカッコイイ(この中では)し、おそらく枯葉も他の植物のように汚らしくならない(だろう、と思う)。

というか、実だけでなく葉も茎も焼酎漬けにして薬用酒になる(らしい)。

さらに、ウマブドウは多年性なので、そのまま来年まで植えておけばOKだし。

薬用酒の効用も期待して、ウマブドウがイチオシである。

 

というわけで、来年は、ウマブドウは鉄板(できれば追加)、キュウリ、食えるヒョウタン(なければヘチマをリベンジ)って感じかなー。

キュウリやヒョウタンを植えてた土って替えたりしないとダメかしら?