SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|

2005-03-06(Sun) 秋葉 for OLIMEX

  さて、久々に秋葉である。久々……!? オイラが秋葉を「久々」と感じる期間はどれくらいなのだろう。ちょっと検証してみるコトにしよう。本サイト内をnamazuで「秋葉」を検索し「日付(新しい順)」で並び替えてみる……と、前回は2月1日である。この日記で以前からシツコク書いているように、オイラには「1ヶ月の法則」があるのだが、2月がちょっと短かったことを考慮すると、今回もやっぱり見事に1ヶ月なのであった……ヤクチューかっちゅーの。

  で、トップバッターは……なんとなくスプラッターハウスが頭に浮かんだので、なんとゲーセンのHeyである。しかし、既に撤去された模様……仕方なく1941でも始めてみる。1回目はコツを忘れていてビスマルクで頓死。もう一度……一発でエンディングである。やっぱりそう簡単には腕は落ちないもんだねぇ。

  画像の説明

  次はココんトコお気に入りの日米商事。ココは抵抗器が100本で50円と秋月の半額なのだ。例のOLIMEXに発注してあるオリジナルUSB-232C変換基板に必要な27Ω、1MΩを狙う。

  が、この店はワイルド過ぎだ……。コンテナにドッサリと抵抗袋が詰まっている。スクっては探し、ホリだしては探し、カキまぜては探し……33Ω……270Ω……目的の抵抗値のモノが見つからないコトこの上ない。露天で寒いのに手を真っ黒にしながら探すうち……47Ω……2.7kΩ……たかだか50円のタメに探すのがバカらしくなってきた。ココは一般人も通るので、背中から「スゴい店ね」とかつぶやくのが聞こえるし……ヤメェッ!! 時給600円だって1分10円だから、5分以上探し回ったらソンというコトになる。ま、探し回るのもジャンク屋の楽しみのヒトツというコトを否定する気はないが。

  画像の説明

  それはそうと、ココは珍しく抵抗形コンデンサが揃っている店だ。SVXのエアコンにはこのパーツが使われているので、必要な人はココで購入するといい。数十本単位でしか買えないが、数十本で50円とか、駄菓子みたいな値段で売っているので大丈夫。

  画像の説明

  店の中を一巡して、3つで100円の基板実装用USB-Bコネクタを発見。大量に購入。上記USB-232C変換基板に使うモノだ。基板は16枚できてくる予定だから……えーい、12個ほど買ってしまえぃ!! ついでに消費しがちな抵抗を追加購入。

日米商事
基板実装用USB-Bコネクタ\35x12\420
抵抗器 470x102\53
抵抗器 10kx100\53
\526

  画像の説明

  次は秋月。今回は上記USB-232C変換基板に実装するFT232BM購入が主目的だ。日米商事で買えなかった1Mの抵抗と、ピンヘッダも同様に変換基板用である。それから、調光器をプログラム制御するためのCdS。あまり部品の仕様を詰めきっていないので併せてフォトカプラも買っておく。

秋月電子通商
FT232BM\600x2\1,200
抵抗器 1M 1/6W\100
ピンヘッダ 2x40 オス\100
ピンヘッダ 2x25 メスx3\200
アナログフォトカプラ MI_0202CL\200x2\400
Cdsセル 9P5-1Hx3\100
\2,100

  画像の説明

  いつものようにあきばお〜で電池。

あきばお〜
単3電池\18x10\180
単4電池x10\249
\429

  画像の説明

  変換基板に使う27Ωは秋月にも置いてなかったので、千石で購入。ハンダゴテもやっぱり変換基板へのFT232BMのハンダ付けに用いるためのモノ。QFP-32パッケージのFT232BMはピン間0.8mmとかなり辛口なので、道具もソコソコのモノが必要であろうという判断だ。

千石電商B1F
抵抗器 27x100\100
千石電商1F
ハンダゴテ CXR-30 22W\1,910

  画像の説明

  調光器をプログラム制御するのはいいが、CdSが示す抵抗の範囲がどれくらいなのかワカんないので、コンデンサを適当に買い揃えるべく、再び日米通商へ。多めの容量の積層セラミックコンデンサを購入。安い。ココで容量が0.33uFで足りなかったときのタメに1uFが欲しくなったのだが、血迷って電解を買ってしまった。安かったらからいいが、交流で電解が使えるわきゃねーのに。ま、いーや。と、奇跡的に1.5kΩが見つかったので、それも購入。

日米商事
積層セラミックコンデンサ 0.33uF 50Vx10\53
電解コンデンサ 1uF 50Vx13\105
抵抗器 1.5kx100\53
\210

  帰りはトライアミューズメントタワーにちょっと寄る。んが、今世紀で一番興味のない品揃え。SDIを1プレイしてサクッと帰る。

  画像の説明 画像の説明

  家に帰るとOLIMEXから小包!! これはナイスタイミングである。思ったより配線幅が狭いのに驚いたが、自分で設計したプリント基板が目の前にあるって、これは感激ですわ!! 試しにFT232BMを基板に当ててみると、当然ながらピッタリ!! 日米商事のUSB-Bコネクタもバッチリ!! やっほーぃ。

  しかしあれだね。もし仕事の都合で名古屋方面に転勤になった場合、お別れが一番ツラいのは秋月や千石よりも、日米商事かもしれん。デタトコ勝負で部品を探す楽しさは通販では味わえないから、その点では秋月や千石とのお別れもツラいのだが、日米商事はそもそも通販をやってないからである。あぁ、サミしくなるねぇ。


2008-03-06(Thu) もっと箱入りでアートっぽく

  オシロが進まないので、先日、イイ感じに加工できたケースをさらに加工するのである。

  少なくとも、ボタン1個とロータリーエンコーダは取り付ける必要がある。さて、どこに取り付けようか。ボタンは目覚まし音の停止にも使うだろうから、単純に上面の中心にするとして、ロータリーエンコーダは……右の側面ッ!! これに決まりだ。

  つまり、懐かしのパタパタクロックをイメージするのである。手前に回転させれば、時刻が進む、というのが、とても自然でイイ感じじゃないか。

  画像の説明

  ついでに、スピーカも取り付けてみた。ちょっと大きすぎるような気もするが、ちょうど収まってしまったから仕方ない。そこはかとなく、サイバーな感じをカモし出しており、これまたイイ感じ。こうなると、スピーカの音を出すための穴は、刑務所の面会室っぽい、アレな感じが似合うだろうな。ちょっと面倒だが、楽しそう。

  つーわけで、ケース加工もまた楽し、であった。


2009-03-06(Fri) XPort落ち着きます

  XPortがどうにも動かないので、仕方なく、もうひとつの個体を変換基板に乗せてみる……って、動くじゃん!!

# tcpdump -i eth0 -xX -s 2000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 2000 bytes
23:05:07.212012 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:20:4a:80:52:24 (oui Unknown), length 300
	0x0000:  4500 0148 aaab 4000 4011 8efa 0000 0000  E..H..@.@.......
	0x0010:  ffff ffff 0044 0043 0134 50da 0101 0600  .....D.C.4P.....
	0x0020:  aeaf 4701 0000 0000 0000 0000 0000 0000  ..G.............
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0137  ........c.Sc5..7
	0x0110:  0301 0306 7401 010c 0743 3830 3532 3234  ....t....C805224
	0x0120:  3d07 0100 204a 8052 24ff 0000 0000 0000  =....J.R$.......
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........
23:05:10.211757 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:20:4a:80:52:24 (oui Unknown), length 300
	0x0000:  4500 0148 aaac 4000 4011 8ef9 0000 0000  E..H..@.@.......
	0x0010:  ffff ffff 0044 0043 0134 50d7 0101 0600  .....D.C.4P.....
	0x0020:  aeaf 4701 0003 0000 0000 0000 0000 0000  ..G.............
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0137  ........c.Sc5..7
	0x0110:  0301 0306 7401 010c 0743 3830 3532 3234  ....t....C805224
	0x0120:  3d07 0100 204a 8052 24ff 0000 0000 0000  =....J.R$.......
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........
23:05:13.211749 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:20:4a:80:52:24 (oui Unknown), length 300
	0x0000:  4500 0148 aaad 4000 4011 8ef8 0000 0000  E..H..@.@.......
	0x0010:  ffff ffff 0044 0043 0134 50d4 0101 0600  .....D.C.4P.....
	0x0020:  aeaf 4701 0006 0000 0000 0000 0000 0000  ..G.............
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0137  ........c.Sc5..7
	0x0110:  0301 0306 7401 010c 0743 3830 3532 3234  ....t....C805224
	0x0120:  3d07 0100 204a 8052 24ff 0000 0000 0000  =....J.R$.......
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........
23:05:16.211745 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:20:4a:80:52:24 (oui Unknown), length 300
	0x0000:  4500 0148 aaae 4000 4011 8ef7 0000 0000  E..H..@.@.......
	0x0010:  ffff ffff 0044 0043 0134 50d1 0101 0600  .....D.C.4P.....
	0x0020:  aeaf 4701 0009 0000 0000 0000 0000 0000  ..G.............
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0137  ........c.Sc5..7
	0x0110:  0301 0306 7401 010c 0743 3830 3532 3234  ....t....C805224
	0x0120:  3d07 0100 204a 8052 24ff 0000 0000 0000  =....J.R$.......
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........
23:05:19.206730 arp who-has 169.254.146.113 tell 0.0.0.0
	0x0000:  0001 0800 0604 0001 0020 4a80 5224 0000  ..........J.R$..
	0x0010:  0000 0000 0000 0000 a9fe 9271 0000 0000  ...........q....
	0x0020:  0000 0000 0000 0000 0000 0000 0000       ..............
23:05:20.416539 arp who-has 169.254.146.113 tell 0.0.0.0
	0x0000:  0001 0800 0604 0001 0020 4a80 5224 0000  ..........J.R$..
	0x0010:  0000 0000 0000 0000 a9fe 9271 0000 0000  ...........q....
	0x0020:  0000 0000 0000 0000 0000 0000 0000       ..............

  リンクローカルがビシッと決まる。BOOTPの場合も同じ。2回やるのは仕様らしい。

# tcpdump -i eth0 -xX -s 2000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 2000 bytes
23:08:53.072843 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:20:4a:80:52:24 (oui Unknown), length 300
	0x0000:  4500 0148 aaab 4000 4011 8efa 0000 0000  E..H..@.@.......
	0x0010:  ffff ffff 0044 0043 0134 50da 0101 0600  .....D.C.4P.....
	0x0020:  aeaf 4701 0000 0000 0000 0000 0000 0000  ..G.............
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0137  ........c.Sc5..7
	0x0110:  0301 0306 7401 010c 0743 3830 3532 3234  ....t....C805224
	0x0120:  3d07 0100 204a 8052 24ff 0000 0000 0000  =....J.R$.......
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........
23:08:54.001479 IP 192.168.7.96.bootps > 192.168.7.101.bootpc: BOOTP/DHCP, Reply, length 300
	0x0000:  4510 0148 0000 0000 8011 a97f c0a8 0760  E..H...........`
	0x0010:  c0a8 0765 0043 0044 0134 44a5 0201 0600  ...e.C.D.4D.....
	0x0020:  aeaf 4701 0000 0000 0000 0000 c0a8 0765  ..G............e
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0236  ........c.Sc5..6
	0x0110:  04c0 a807 6033 0400 00a8 c001 04ff ffff  ....`3..........
	0x0120:  00ff 0000 0000 0000 0000 0000 0000 0000  ................
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........
23:08:54.002037 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:20:4a:80:52:24 (oui Unknown), length 300
	0x0000:  4500 0148 aaac 4000 4011 8ef9 0000 0000  E..H..@.@.......
	0x0010:  ffff ffff 0044 0043 0134 96e0 0101 0600  .....D.C.4......
	0x0020:  377d 14ee 0000 0000 0000 0000 0000 0000  7}..............
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0337  ........c.Sc5..7
	0x0110:  0301 0306 0c07 4338 3035 3232 343d 0701  ......C805224=..
	0x0120:  0020 4a80 5224 3604 c0a8 0760 3204 c0a8  ..J.R$6....`2...
	0x0130:  0765 ff00 0000 0000 0000 0000 0000 0000  .e..............
	0x0140:  0000 0000 0000 0000                      ........
23:08:54.057974 IP 192.168.7.96.bootps > 192.168.7.101.bootpc: BOOTP/DHCP, Reply, length 300
	0x0000:  4510 0148 0000 0000 8011 a97f c0a8 0760  E..H...........`
	0x0010:  c0a8 0765 0043 0044 0134 eaea 0201 0600  ...e.C.D.4......
	0x0020:  377d 14ee 0000 0000 0000 0000 c0a8 0765  7}.............e
	0x0030:  0000 0000 0000 0000 0020 4a80 5224 0000  ..........J.R$..
	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 6382 5363 3501 0536  ........c.Sc5..6
	0x0110:  04c0 a807 6033 0400 00a8 c001 04ff ffff  ....`3..........
	0x0120:  00ff 0000 0000 0000 0000 0000 0000 0000  ................
	0x0130:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0140:  0000 0000 0000 0000                      ........

  telnetで設定画面にも入れた。

$ telnet 192.168.7.101 9999
Trying 192.168.7.101...
Connected to 192.168.7.101.
Escape character is '^]'.
 
MAC address 00204A805224
Software version 01.3 (030612) XPTE
 
Press Enter to go into Setup Mode 
 
 
*** basic parameters 
Hardware: Ethernet TPI
IP addr - 0.0.0.0/DHCP/BOOTP/AutoIP, no gateway set
DHCP device name : not set
 
*************** Security ***************
SNMP is              enabled
SNMP Community Name: public
Telnet Setup is      enabled
TFTP Download is     enabled
Port 77FEh is        enabled
Web Server is        enabled
ECHO is              disabled
Enhanced Password is disabled
 
*************** Channel 1 **************
Baudrate 9600, I/F Mode 4C, Flow 00
Port 10001
Remote IP Adr: --- none ---, Port 00000
Connect Mode : C0  Disconn Mode: 00
Flush   Mode : 00
 
*************** Expert *****************
TCP Keepalive    : 45s
ARP cache timeout: 600s
 
*************** E-mail *****************
Mail server: 0.0.0.0
Unit       : 
Domain     : 
Recipient 1: 
Recipient 2: 
 
*** Trigger 1 
Serial Sequence: 00,00
CP1: X
CP2: X
CP3: X
Message : 
Priority: L
Min. notification interval: 1 s
Re-notification interval  : 0 s
 
*** Trigger 2 
Serial Sequence: 00,00
CP1: X
CP2: X
CP3: X
Message : 
Priority: L
Min. notification interval: 1 s
Re-notification interval  : 0 s
 
*** Trigger 3 
Serial Sequence: 00,00
CP1: X
CP2: X
CP3: X
Message : 
Priority: L
Min. notification interval: 1 s
Re-notification interval  : 0 s
 
 
Change Setup:
  0 Server configuration
  1 Channel 1 configuration
  3 E-mail settings
  5 Expert settings
  6 Security
  7 Factory defaults
  8 Exit without save
  9 Save and exit            Your choice ? 8
 
exiting without save !
Connection closed by foreign host.

  もちろん、pingにも反応がある。

$ ping 192.168.7.101 
PING 192.168.7.101 (192.168.7.101) 56(84) bytes of data.
64 bytes from 192.168.7.101: icmp_seq=1 ttl=64 time=0.315 ms
64 bytes from 192.168.7.101: icmp_seq=2 ttl=64 time=0.296 ms
64 bytes from 192.168.7.101: icmp_seq=3 ttl=64 time=0.206 ms
64 bytes from 192.168.7.101: icmp_seq=4 ttl=64 time=0.370 ms
^C
--- 192.168.7.101 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3319ms
rtt min/avg/max/mdev = 0.206/0.296/0.370/0.062 ms

  つーか、調子の悪いヤツ、どうしてくれよう。むぐぅ。


2011-03-06(Sun) mp3プレイヤ進捗

  gpasmのリテラルって、デフォが16進数かよ……。

  気づくのに3時間半かかったぞ。


2024-03-06(Wed) SinatraのPOSTでrequest.body.rewindが動かない

  先日、Sinatraに認証機能を付けたのだが、その際にbundle addをやり直してGem関係を最新にしたらPOSTの内容がreadできなくなってしまった。

NoMethodError at / undefined method `rewind' for #<Rack::Lint::Wrapper::InputWrapper:0xXXXX @input=#<StringIO:0xXXXX>>

  なんて出る。何かやらかしたかと思ったが、特段イジっていない。該当のコードは「request.body.rewind」らしいのだが、だいぶ前なので、なんでそんなコードを書いたのか覚えていない。が、どうもSinatraのオフィシャルサイトのサンプルコードから持ってきていたようだ。

post "/api" do
  request.body.rewind  # in case someone already read it
  data = JSON.parse request.body.read
  "Hello #{data['name']}!"
end

  それなのに動かないってどういうことよ。と思って追跡していくと、どうもRackのバージョンアップの影響らしい。Gemfileの記述を戻すと動く。「request.body」のメソッドを表示させてみると、実際に変わってしまっていて「rewind」メソッドがなくなってる。そら動かん。bundleの仕組みは、今回のようにバージョンアップの影響で動かなくなることを防ぐ意図もあるのだが、実際にこんなことあるんやな。

# 動くバージョン
request.body: #<Rack::Lint::InputWrapper:0xXXXX @input=#<StringIO:0xXXXX>>
request.body.methods: [:!, :!=, :!~, :<=>, :==, :===, :__id__,
:__send__, :assert, :class, :clone, :close, :define_singleton_method,
:display, :dup, :each, :enum_for, :eql?, :equal?, :extend, :freeze,
:frozen?, :gem, :gets, :hash, :inspect, :instance_eval,
:instance_exec, :instance_of?, :instance_variable_defined?,
:instance_variable_get, :instance_variable_set, :instance_variables,
:is_a?, :itself, :kind_of?, :method, :methods, :nil?, :object_id,
:private_methods, :protected_methods, :public_method, :public_methods,
:public_send, :read, :remove_instance_variable, :respond_to?, :rewind,
:send, :singleton_class, :singleton_method, :singleton_methods, :tap,
:then, :to_enum, :to_json, :to_s, :yield_self]
request.body.read: "key=value1&key=value2&commit=do+POST+test"
# 動かないバージョン
request.body: #<Rack::Lint::Wrapper::InputWrapper:0xXXXX @input=#<StringIO:0xXXXX>>
request.body.methods: [:!, :!=, :!~, :<=>, :==, :===, :__id__,
:__send__, ※, :class, :clone, :close, :define_singleton_method, 
:display, :dup, :each, :enum_for, :eql?, :equal?, :extend, :freeze,
:frozen?, :gem, :gets, :hash, :inspect, :instance_eval,
:instance_exec, :instance_of?, :instance_variable_defined?,
:instance_variable_get, :instance_variable_set, :instance_variables,
:is_a?, :itself, :kind_of?, :method, :methods, :nil?, :object_id,
:private_methods, :protected_methods, :public_method, :public_methods,
:public_send, :read, :remove_instance_variable, :respond_to?, ※,
:send, :singleton_class, :singleton_method, :singleton_methods, :tap,
:then, :to_enum, :to_json, :to_s, :yield_self]
request.body.read: ""

  そんなら、バージョンを指定する仕組みもあるんかいな、と思ったらシッカリある。

$ gem search '^rack$' --all
rack (3.0.9.1, 3.0.9, 3.0.8, 3.0.7, 3.0.6.1, 3.0.6, 3.0.5, 3.0.4.2,
3.0.4.1, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.2.8.1, 2.2.8, 2.2.7,
2.2.6.4, 2.2.6.3, 2.2.6.2, 2.2.6.1, 2.2.6, 2.2.5, 2.2.4, 2.2.3.1,
2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.4.4, 2.1.4.3, 2.1.4.2, 2.1.4.1, 2.1.4,
2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.9.4, 2.0.9.3, 2.0.9.2, 2.0.9.1, 2.0.9,
2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 1.6.13,
1.6.12, 1.6.11, 1.6.10, 1.6.9, 1.6.8, 1.6.7, 1.6.6, 1.6.5, 1.6.4,
1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0,
1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.10, 1.3.9,
1.3.8, 1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.8,
1.2.7, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.6, 1.1.5,
1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0, 0.9.1, 0.9.0, 0.4.0,
0.3.0, 0.2.0, 0.1.0)
$ bundle add rack --version=2.2.8.1 --skip-install
$ bundle add puma sinatra net-ldap --skip-install

  バージョンを検索する仕組みもあるし、指定する仕組みもある。これはよくできているな。

  問題は「3.0.0」から起こるようだ。根も深そうなので、今回はバージョンを戻す形で対処することにする。

  エラく時間を浪費させられたので憤慨する気持ちもないわけではないが、まぁ、近年のフレームワークのラクチンさは、恐ろしく多数の物件を積み上げた成果なわけで、たまにはこういうのもしゃーない。というわけで、他の人の時間の浪費が防がれることを祈って、ここに記録しておく。

  というような作業の合間に引き続きドルアーガ。ついに1人を残して59階に到達。いくのか? いってしまうのか? あ゛ぁー……連続のミスで打倒ならず。まぁ、だいぶ精度は上がってきているけどなぁ。もう少しだなぁ。

  画像の説明