- Windows環境にて、USB接続COMポートを、個体識別する
- SG-1000系のカートリッジに使えそうなコネクタ
- RandomNoteの検索用クローラ対策
- SEGA MarkIII・マスターシステムのRGB出力、他
- ナンバーディスプレイ対応モデム
- deny from 64.124.85.0/24
- deny from 66.232.96.0/19
- deny from 72.232.0.0/16 他
- 色々な掲示板spam
- スクロール専用USB接続「ホイール」
- SG-1000系とMarkIII系の色合いの違い
- PC-98用光学マウスを作るために
- EPSONのPOSレジ用蛍光表示モジュールの制御方法
- 掲示板spammerの削除パスワード
- Baiduspider締め出し
* Windows環境にて、USB接続COMポートを、個体識別する
#メモ #プログラミング #シリアルポート #Ruby
Windows環境(少なくともWindows XP)では、USB接続のRS-232C(正確にはEIA-574)アダプタのCOMポート番号は、差すUSBポートを変えるとコロコロ変わる。COM19になったりCOM6になったり…。とても困る。
一方、USB接続のその手の機器は、デバイスマネージャ上で個体識別できる。ならば当然、自作プログラムでも個体識別し、COMポート番号を自動設定できる。
WMIを介して情報を得る。Win32_SerialPortではUSB接続の情報が得られない(場合が多い?)ので、Win32_PnPEntity からCOMポートを抜き出すのが確実。
参考文献:
Kick4 BBS
USBシリアルのポート名を知る方法?
http://www.kick4.net/bbs/c-board.cgi?cmd=ntr;tree=4;id=
Win32_SerialPort Class (Windows)
http://msdn.microsoft.com/en-us/library/aa394413(VS.85).aspx
Win32_PnPDevice Class (Windows)
http://msdn.microsoft.com/en-us/library/aa394352(VS.85).aspx
Windows環境(少なくともWindows XP)では、USB接続のRS-232C(正確にはEIA-574)アダプタのCOMポート番号は、差すUSBポートを変えるとコロコロ変わる。COM19になったりCOM6になったり…。とても困る。
一方、USB接続のその手の機器は、デバイスマネージャ上で個体識別できる。ならば当然、自作プログラムでも個体識別し、COMポート番号を自動設定できる。
WMIを介して情報を得る。Win32_SerialPortではUSB接続の情報が得られない(場合が多い?)ので、Win32_PnPEntity からCOMポートを抜き出すのが確実。
require 'win32ole' def ports locator = WIN32OLE.new("WbemScripting.SWbemLocator") services = locator.ConnectServer(".","root/cimv2") ports = services.ExecQuery "Select * From Win32_SerialPort" ports.each do |port| p port.Caption p port.Description print "\n" end end def ports_pnp ps = [] locator = WIN32OLE.new("WbemScripting.SWbemLocator") services = locator.ConnectServer(".","root/cimv2") ports = services.ExecQuery "Select * From Win32_PnPEntity" ports.each do |port| if /\(COM\d+\)$/ =~ port.Caption p port.Caption p port.Description p port.Manufacturer print "\n" end end end print "Select * From Win32_SerialPort\n" ports print "Select * From Win32_PnPEntity\n" ports_pnp
ruby -Ks comports.rb Select * From Win32_SerialPort "通信ポート (COM1)" "通信ポート" "通信ポート (COM2)" "通信ポート" Select * From Win32_PnPEntity "Prolific USB-to-Serial Comm Port (COM19)" "Prolific USB-to-Serial Comm Port" "Prolific" "USB-to-Serial Comm. Port (COM6)" "USB-to-Serial Comm. Port" "Aten" "通信ポート (COM1)" "通信ポート" "(標準ポート)" "通信ポート (COM2)" "通信ポート" "(標準ポート)"
参考文献:
Kick4 BBS
USBシリアルのポート名を知る方法?
http://www.kick4.net/bbs/c-board.cgi?cmd=ntr;tree=4;id=
Win32_SerialPort Class (Windows)
http://msdn.microsoft.com/en-us/library/aa394413(VS.85).aspx
Win32_PnPDevice Class (Windows)
http://msdn.microsoft.com/en-us/library/aa394352(VS.85).aspx
* SG-1000系のカートリッジに使えそうなコネクタ
#電子工作 #部品調達 #SEGA SC-3000 SG-1000
ピッチ3.18mm(0.125インチ)、44接点
Digi-keyにて
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=EDC346442-ND
単価438円(1〜9個)
#探した限り、Digi-key以外(RSとかchip1とかマルツとか千石とか若松とか…)には無かった。
ピッチ3.18mm(0.125インチ)、44接点
Digi-keyにて
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=EDC346442-ND
単価438円(1〜9個)
#探した限り、Digi-key以外(RSとかchip1とかマルツとか千石とか若松とか…)には無かった。
Technical/Catalog Information EDC346442-ND
Standard Package 1
Category Connectors
Family Card Edge/Edgeboard Connectors
Vendor EDAC Inc.
Pitch 0.125" (3.18mm)
Number of Contacts 44
Contact Termination Solder Tail
* RandomNoteの検索用クローラ対策
#RandomNote #Web #掲示板spam対策
googleやらyahooやらmsnやらが、入れ替わり立ち替わり、smode=sumやらsmode=countやらcmd=editやらのついたページを、別々のものと見なしてGETしていく。
こっちにもあっちにも無駄な負荷がかかる、とても不幸なことだ。
ただし、spam投稿用クローラが心配。textもtextareaもないのにPOSTする馬鹿がいるかもしれない、と危惧している。
ロボットか?の判断は、user_agentにhttp:が入っているかどうか。
さらに、ロボットに送るデータ量が減るという恩恵もあった。無駄なデータが減るのは、互いにとって有益だ。
googleやらyahooやらmsnやらが、入れ替わり立ち替わり、smode=sumやらsmode=countやらcmd=editやらのついたページを、別々のものと見なしてGETしていく。
こっちにもあっちにも無駄な負荷がかかる、とても不幸なことだ。
とりあえずの対策として、それらへのリンクをformにしてみた。
検索エンジンは、いくらなんでもsubmitしないだろうから、無駄にリンクを辿らなくなると期待。ただし、spam投稿用クローラが心配。textもtextareaもないのにPOSTする馬鹿がいるかもしれない、と危惧している。
ロボットの類相手では、cmd=editとかsmode=hogeとかあったら、404を返すようにした
既にsmode=hogeとかのページのurlが記録されていて、リンクが無くなっても読みに来る。だから、ロボットの類相手にそれらのページは404を返すようにした。ロボットか?の判断は、user_agentにhttp:が入っているかどうか。
ロボットなどに対して、サイドバーを渡さないようにした
検索の邪魔だよね。本文にないキーワードがあるのは。さらに、ロボットに送るデータ量が減るという恩恵もあった。無駄なデータが減るのは、互いにとって有益だ。
* SEGA MarkIII・マスターシステムのRGB出力、他
#RGB #メモ #リンク集
SEGA MARK III
http://bto8.smspower.org/segapower/mark3/index.html
マスターシステム
http://bto8.smspower.org/segapower/msj/index.html
セガオールドゲーム機(MARK3,マスターシステム)の環境設定
http://www.mdnomad.com/game/sg_ms/environ/
メガドライブの環境設定
http://www.mdnomad.com/game/md/environ/
セガ・マスターシステムをS出力で!
http://www.gradius2.com/index.php?UID=1128437844
FM SOUND UNIT
http://www6.airnet.ne.jp/tera/sega/item/fm.html
Enri's Home PAGE (FM-70)
http://www2.odn.ne.jp/~haf09260/Mark3/Fm70.htm
SEGA MARK III
http://bto8.smspower.org/segapower/mark3/index.html
マスターシステム
http://bto8.smspower.org/segapower/msj/index.html
セガオールドゲーム機(MARK3,マスターシステム)の環境設定
http://www.mdnomad.com/game/sg_ms/environ/
メガドライブの環境設定
http://www.mdnomad.com/game/md/environ/
セガ・マスターシステムをS出力で!
http://www.gradius2.com/index.php?UID=1128437844
FM SOUND UNIT
http://www6.airnet.ne.jp/tera/sega/item/fm.html
Enri's Home PAGE (FM-70)
http://www2.odn.ne.jp/~haf09260/Mark3/Fm70.htm
* ナンバーディスプレイ対応モデム
#途中経過 #ナンバーディスプレイ
ナンバーディスプレイ対応モデムにて、電話番号を表示させてみた。
2004年04月13日(火)
#1 [NET][ISP][VoIP][NTT] アナログモデムdeナンバーディスプレイ(IP電話)
http://x68k.net/diary/?200404b&to=200404130#200404130
ナンバーディスプレイ対応モデムにて、電話番号を表示させてみた。
参考ページ
X68K.NET: Admin Diary.2004年04月13日(火)
#1 [NET][ISP][VoIP][NTT] アナログモデムdeナンバーディスプレイ(IP電話)
http://x68k.net/diary/?200404b&to=200404130#200404130
結果
- 正式にナンバーディスプレイ対応を謳うMRV56PCにて、電話番号が表示された。
- TO-BXF56Kは、"AT#CID?"等に反応したが、着信時に番号は表示されなかった。
- USB-DM560は、"AT#CID?"等にERRORを返した。
- VAIO PCG-XR1G内蔵モデムは、"AT#CID?"等にERRORを返した。
条件
- OSはWindowsXP
- ハイパーターミナルにて対応するCOMポートに接続
- ナンバーディスプレイ対応疑似交換機(インターフェース社製 IF-101)を介して接続した電話機より発呼した。
ATコマンドへの応答など
(ReadMore...)* deny from 64.124.85.0/24
#Web
再び、BecomeBotに検索履歴をかき回されたので、.htaccessにて排除することにした。
robots.txt BecomeBot締め出し
http://baku.homeunix.net/WiKi/rnx/index.rb?1138996756.txt
にてのけ者にしたはずなのだが、BecomeJPBotは別物というわけか。え゛ー。
ちなみに、robots.txtは最初にちゃんと読んでる。
20秒に一度のアクセスだったり、UAの項に載っている http://www.become.co.jp/site_owners.htmlは「お客様が指定されたページは見つかりませんでした。」だったり、かなり感じ悪い。
(ちなみに、正しくは、http://www.become.co.jp/site_owner.html だそうだ。その辺の食い違いも感じ悪いぞ)
また、他の多くのクローラの挙動と違ってリファラを送る点で、RandomeNoteの敵。
↓はた迷惑なアクセスの記録
(ReadMore...)
再び、BecomeBotに検索履歴をかき回されたので、.htaccessにて排除することにした。
robots.txt BecomeBot締め出し
http://baku.homeunix.net/WiKi/rnx/index.rb?1138996756.txt
にてのけ者にしたはずなのだが、BecomeJPBotは別物というわけか。え゛ー。
ちなみに、robots.txtは最初にちゃんと読んでる。
20秒に一度のアクセスだったり、UAの項に載っている http://www.become.co.jp/site_owners.htmlは「お客様が指定されたページは見つかりませんでした。」だったり、かなり感じ悪い。
(ちなみに、正しくは、http://www.become.co.jp/site_owner.html だそうだ。その辺の食い違いも感じ悪いぞ)
また、他の多くのクローラの挙動と違ってリファラを送る点で、RandomeNoteの敵。
↓はた迷惑なアクセスの記録
(ReadMore...)
* deny from 66.232.96.0/19
#掲示板spam対策
連投がウザイ(*)ので、丸ごと.htaccessでBBSから排除。
この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"host.a1hosting4u.com")。
*連投の例
(ReadMore...)
連投がウザイ(*)ので、丸ごと.htaccessでBBSから排除。
$ cat /var/log/apache/access.log | grep POST | grep 66.232 | grep '16/Feb' | cat -n | tail -12月16日だけで139件かよ…。
139 66.232.113.98 - - [16/Feb/2007:22:49:40 +0900] "POST ttp://baku.homeuni
x.net/BBS/BBS.cgi HTTP/1.0" 403
この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"host.a1hosting4u.com")。
$ whois 66.232.118.177 Country: US NetRange: 66.232.96.0 - 66.232.127.255 CIDR: 66.232.96.0/19
*連投の例
(ReadMore...)
* deny from 72.232.0.0/16 他
#掲示板spam対策
↓のような、ろくでもないアクセスしかないので、掲示板等では.htaccessにて排除。
#xxx.xxx.xxx.xxx.reverse.layeredtech.com deny from 72.232.0.0/16 deny from 72.36.128.0/17 deny from 72.21.32.0/19
↓のような、ろくでもないアクセスしかないので、掲示板等では.htaccessにて排除。
2007/02/15,19:56:49,72.36.200.58,"underpt.org","-","-",GET,"/WiKi/rnx/index.rb","","1.1",403
2007/02/15,19:56:50,72.36.200.58,"underpt.org","-","-",GET,"/WiKi/rnx/","","1.1",403
2007/02/17,01:14:48,72.232.56.194,"194.56.232.72.reverse.layeredtech.com","-","-",GET,"/BBS/BBS.cgi","","1.1",403
$ whois 72.36.200.58 OrgName: Layered Technologies, Inc. Country: US NetRange: 72.36.128.0 - 72.36.255.255 CIDR: 72.36.128.0/17 NetName: LAYERED-TECH-
* 色々な掲示板spam
* スクロール専用USB接続「ホイール」
#電子工作 #途中経過
故障した2.5インチHDDを部品として、USB接続マウスの回路を流用し、スクロール専用のUSB接続「ホイール」を作成した。
ぐるぐると回してスクロールさせる操作感はとても気持ちいいのだが、使いどころは限られる。Picasaとの相性は抜群。特に、タイムライン表示をぐるぐる回すのはとても気持ちいい。

スクロール専用なので、マウス(等)と併用する。

(ReadMore...)
故障した2.5インチHDDを部品として、USB接続マウスの回路を流用し、スクロール専用のUSB接続「ホイール」を作成した。
ぐるぐると回してスクロールさせる操作感はとても気持ちいいのだが、使いどころは限られる。Picasaとの相性は抜群。特に、タイムライン表示をぐるぐる回すのはとても気持ちいい。

スクロール専用なので、マウス(等)と併用する。

(ReadMore...)
* SG-1000系とMarkIII系の色合いの違い
SEGA MarkIIIやマスターシステムで「全機種対応ソフト」を動かすことはできるが、色合いがだいぶ違う。
手持ちのソフトでそれが顕著に表れるのは「どきどきペンギンランド」

(背面端子にメガドライブ用AVケーブルを接続し、MTV2000にてキャプチャした。)
左がSC-3000Hで、右がSEGA MarkIII
ゲーム制作者が意図した発色は、左のSC-3000Hでの映像のであることは明らかだろう。
後期型のSG-1000IIのRGB信号は、MarkIIIよりは、SC-3000Hのコンポジットビデオ信号のと近い色である。

(以前に改造したのをX-RGB2plus経由で表示したのをデジカメで撮影)
改めて見ると、RGBでの映像はTMS9918Aの色とはけっこうずれているな。MarkIIIほどは違わないけど、どちらかというとMarkIIIに近いかなぁ?
MarkIII用ソフトはちゃんとした色が出るので、手持ちのMarkIIIの調子が悪いわけではないはず。

参考:
TMS9918Aに針路をとれ
http://www.proc.org.tohoku.ac.jp/befis/halloffame/msx_col/
#RGB #SEGA
手持ちのソフトでそれが顕著に表れるのは「どきどきペンギンランド」


(背面端子にメガドライブ用AVケーブルを接続し、MTV2000にてキャプチャした。)
左がSC-3000Hで、右がSEGA MarkIII
ゲーム制作者が意図した発色は、左のSC-3000Hでの映像のであることは明らかだろう。
後期型のSG-1000IIのRGB信号は、MarkIIIよりは、SC-3000Hのコンポジットビデオ信号のと近い色である。

(以前に改造したのをX-RGB2plus経由で表示したのをデジカメで撮影)
改めて見ると、RGBでの映像はTMS9918Aの色とはけっこうずれているな。MarkIIIほどは違わないけど、どちらかというとMarkIIIに近いかなぁ?
MarkIII用ソフトはちゃんとした色が出るので、手持ちのMarkIIIの調子が悪いわけではないはず。


参考:
TMS9918Aに針路をとれ
http://www.proc.org.tohoku.ac.jp/befis/halloffame/msx_col/
#RGB #SEGA
* PC-98用光学マウスを作るために
光学マウスに搭載されているセンサは、XYのAB相を出力しているのがある。
手持ちの部品取りにとっておいたマウスの、PixArtのセンサPAN101 (PAN101BOI-204)
http://www.pixart.com.tw/productsditel.asp?ToPage=1&productclassify_id=1&productclassify2_id=16
にはそういう信号が出ているようだ。
…ってことは、PS/2とかUSBのチップを取り払って、9ピンのコネクタをつけて配線すれば、PC-9801用光学マウスの出来上がり?
#電子工作 #PC-98
* EPSONのPOSレジ用蛍光表示モジュールの制御方法
ハードオフのジャンクコーナーにて100円で入手した。
とりあえず、検索した情報をメモ
カスタマディスプレイ 仕様概要
http://www.epson.jp/products/sasport/dm_disp/disp3.htm
DM-D110カスタマディスプレィ
http://www.technoveins.co.jp/products/custmerdisp/dmd110.htm
EPSON Advanced Printer DriverからDM-D110STに表示を行う
http://www.technoveins.co.jp/technical/dmd110advdrv/index.htm
〜 POSレジ用カスタマーディスプレイ応用法 〜
http://www.hct.zaq.ne.jp/kyotani/customerdisp/customerdisp1.htm
ジャンクの蛍光パネル ? Portal
http://www.mkusunoki.net/z-gypsy/kousaku/dm-d203-012.html
#電子工作 #ジャンク
とりあえず、検索した情報をメモ
カスタマディスプレイ 仕様概要
http://www.epson.jp/products/sasport/dm_disp/disp3.htm
DM-D110カスタマディスプレィ
http://www.technoveins.co.jp/products/custmerdisp/dmd110.htm
EPSON Advanced Printer DriverからDM-D110STに表示を行う
http://www.technoveins.co.jp/technical/dmd110advdrv/index.htm
〜 POSレジ用カスタマーディスプレイ応用法 〜
http://www.hct.zaq.ne.jp/kyotani/customerdisp/customerdisp1.htm
ジャンクの蛍光パネル ? Portal
http://www.mkusunoki.net/z-gypsy/kousaku/dm-d203-012.html
#電子工作 #ジャンク
* 掲示板spammerの削除パスワード
掲示板spam投稿ロボットによっては、POST時に削除パスワードを入れるのがある。削除パスワードがないと書き込み拒否される場合の対策だろうか?
どうやら、削除パスワード欄であるかどうかの判別は、"pass"とかの文字列かどうかで判断しているようだ。ダミーの<input type="text" name="pass">をclass="dummy"とでもして、cssで不可視にしておけば、排除の判断に使えそう。
不思議なことに、ランダム文字列じゃなくて固定文字列だったりある程度の規則性があったりする。何かあったときに消去を試みるためだろうか?
(ReadMore...)
どうやら、削除パスワード欄であるかどうかの判別は、"pass"とかの文字列かどうかで判断しているようだ。ダミーの<input type="text" name="pass">をclass="dummy"とでもして、cssで不可視にしておけば、排除の判断に使えそう。
不思議なことに、ランダム文字列じゃなくて固定文字列だったりある程度の規則性があったりする。何かあったときに消去を試みるためだろうか?
(ReadMore...)
* Baiduspider締め出し

こんな迷惑なアクセスをするロボットは、問答無用で閉め出されてもしかたないと思うぞ。
robots.txt一応読むようだが、27日に一度読んで
2006/07/27,19:22:27,60.28.17.51,"","-",GET,"","1.1",200, 117,"-","","Baiduspider+(+http://www.baidu.com/search/spider.htm)"それっきりというのはどうかと思う。
ま、動的ページへの非効率極まりないアクセスの前には、robots.txtを読む頻度が低いことなんて些細なことだが。
#Web