自分自身のための ものづくり / 自分自身のためのものづくりメモ

* NEO GEO 用メモリカード(等)のSRAMの、FRAM化の検討

#NEOGEO #メモ
MCS48(8048)マイコンのページ(2007-05)
http://www.protom.org/micon/?date=200705
通常のSRAMのように扱えるので乗せ変えるだけと思いきや、これが全く動かず。しばしデータシートを眺めると、/CS(チップセレクト)端子を動かしてアドレスを内部にラッチさせないとダメとありました。この8048ボードは/CS線はGNDに繋がっているので原因究明。空きスペースにTTLの74LS08を置いて、8048からのPSEN,RD,WRでNegative-ORして/CS線に繋いであげると動き出しました。

  • FRAM Design Considerations
When designing with FRAM for the first time, users of SRAM will recognize a few minor differences. First, bytewide FRAM memories latch each address on the falling edge of chip enable. This allows the address bus to change after starting the memory access. Since every access latches the memory address on the falling edge of /CE, users cannot ground it as they might with SRAM.

 富士通の場合は、/CEがLにて/WEか/OEの↓でラッチアドレス?
 非同期SRAMと置き換えるだけでは、ダメか…。

* Vista環境にて、PL-2303を使用したUSB接続COMポートで、TEXCELLのRubyシリアル通信ライブラリを用いてデータを受信できない。その原因と対処法

#プログラミング #Ruby #シリアルポート

事象

 Windows Vista の環境にて、USB接続のCOMポート(シリアルポート)を介して繋いだ機器のデータを、TEXCELLのRubyシリアル通信ライブラリ wincom.rb にて全く受信できない。teratermでは受信できる。。
 同じ接続対象機器・同じプログラムでも、レガシーな COM1 に繋いだならば受信できる。
 同じ接続対象機器・同じUSB接続シリアルポート・同じプログラムで、WindowsXP 環境では受信できる。

原因

 Vista環境にて、USB接続シリアルポートでは、ReadFileを実行した際、「読み取ったバイト数」として常にゼロが帰ってくるため。
 ドライバのバグか?

対処

 ReadFileの「読み取ったバイト数」は使わず、ClearCommErrorを実行した際に得られた COMSTAT構造体 の「受信バッファにあるデータのバイト数」を使う。
 ReadFileでそのバイト数読むと指示しているのだから、問題ない…と思う。問題あったとしても、常に0バイトよりはマシだ。
    def receive
(中略)
#                rcvchar = @wcrecv.unpack("a#{irlen[0]}")[0]
                rcvchar = @wcrecv.unpack("a#{ilen}")[0]

補足

 試したUSB接続シリアルポートアダプタは、以下2点。
 UC-232Aのドライバは、uc232a_windows_vista.rar (Ver._v1.0 2007-7-10)を使用。
 URS232GFは、Vista標準ドライバで利用できるとの事だが、できなかった。「URS232GFは一部ロットにて使用できません。」とのこと。チップ製造元であるProlificのサイトから、PL2303_Prolific_DriverInstaller_v10518.zip (2009/7/23 v1.0.5.18 )をダウンロードし、インストール。
 上記2点、チップ自体は同じか。ならば、ドライバもほぼ同一なのだろう。

あとがき

 今までTEXCELLのwincom.rbをありがたく便利なブラックボックスとして使わせて頂いていたのだが、中身を見て、色々と面倒な Win32API を隠蔽してくれていた事を実感した。今回必要に迫られてベールの下を覗いたけど、Win32APIは直接触らずに済むならそうしたい代物だ。


関連ページ

TEXCELL Rubyシリアル通信ライブラリ
http://www.texcell.co.jp/ruby/wincom/rubywincom.html

hirax.net::wincom.rbのCOM10以上対応
http://www.hirax.net/diaryweb/2009/07/29.html

Serial Communications in Win32
http://msdn.microsoft.com/en-us/library/ms810467.aspx

Windows/Vista/USB-RS232C(シリアル) - Tomocha WikiPlus
Windows Vista で動く、USB-RS232C変換ケーブル情報
http://wiki.tomocha.net/Windows_Vista_USB-RS232C.html

* オムロンツーフォーサービス オンラインショップ、他

#電子工作 #部品調達

2008年3月29日追記

2009年8月1日、変化に合わせて訂正

 「オムロンツーフォーサービス株式会社」が「オムロンエフエーストア株式会社」に社名変更し、扱う品々がオムロン商品に特化された。
 これで、個人の電子回路工作には、ほぼ縁のないWebショップになってしまった。送料525円(送金手数料込み)は小物の買い物に魅力的だったんだけどなぁ。

 オムロンツーフォーサービスで扱っていた品は、チップワンストップで扱われるとのこと。<DEL>送料が1000円(注文金額が8000円未満の場合)なので、個人のちょっとした買い物には微妙に使いにくい。(まぁ、秋月---代引き手数料と合わせて800円---と同程度なのだけど)</DEL>
 チップワンストップは配送料が送金手数料込みで450円になったので、少量のパーツも割と手軽に注文できる。注文5000円以上で、配送料無料。
 Webサイトの検索結果が返ってくるのがかなり遅いのが不満。5秒は待たされる。RSオンラインなら1秒で表示されるのに。

<DEL>
 チップワンストップのWebサイトは、RSオンラインの激しく使いづらいWebサイトよりは、使いやすい。なんといっても、RSと違って、個々のパーツを別のウィンドウ|タブで開けるし。
RSのが不便すぎるだけだけど
</DEL>
 RSオンラインのWebサイトは、だいぶ前のリニューアルで、だいぶ使いやすくなった。以前はリンクがJavaScriptで何かと不便だったが、普通のリンクになって新しいタブで開いたりとか普通にできるようになった。


506 名前:774ワット発電中さん 投稿日:2007/02/04(日) 21:24:30 ID:rcOaP9bn
チップ抵抗は5%品は千石でチェック。1%品はオムロン・ツー・フォーでミニリールを買うようにしている。
digikeyも代引き使えればありがたいね。
_【代引き】_____電子部品通販のスレ_____【送料】_
http://science5.2ch.net/test/read.cgi/denki/1131720549/

OMRON | 通販・通信販売のオムロンツーフォーサービス オンラインショップ
http://www.omron24.co.jp/

 コンビニでの後払い(手数料はオムロン負担)ができたり、クレジットカードが使えたりと、個人での利用がしやすそうだ。
 また、計5000円以上で送料無料。

 精度1%のチップ抵抗を扱っているのはありがたい。千石とかじゃ扱ってないからなぁ。
 RGB用バッファアンプとかR-2Rラダーとかに使えば、金皮のリード品よりも大幅にコンパクトにできるだろう。

面実装抵抗器角形チップ抵抗器(精密級)【RK73H】
http://www.koaproducts.com/catalogue/rk73h.htm
2.0x1.2mmなので、手作業にはほどよい大きさ。

* GETでspamを投稿する奴への対策

#RandomNote #掲示板spam対策

 後述のように、GETでspamを投稿を試みるロボットがある。
 そのようなリクエストにより、OR検索が行われ、最近の検索ワードがめちゃくちゃになる。
…というわけで、とりあえず、超やっつけで対策。

def do_search
  @word = @param['word']

  if @word.size > 32
    print_header
    print_footer
    return
  end
 検索用の文字列が32文字以上なら、何も処理を行わずに終了する。
(ヘッダとフッタは返す)

(ReadMore...)

* RandomNoteの敵はspam投稿用クローラ

#RandomNote #掲示板spam対策 #Web

2007/09/23

 久々に、RandomNoteをspam投稿ロボットが引っかき回していった。
 対策が必要とは思ってるのだけど、たまにしかないし、投稿その物はBASIC認証で弾かれるしで、面倒なので1年以上放置してる。

 後述のような感じで、2時間半にわたり、GETとPOST合わせて800回以上のアクセスを行う酷いロボットだった。
 401で弾かれているのに延々と試行するのは無駄で、馬鹿なプログラムだと思う。ふつー、エラーが出たらとっととあきらめて他の無防備なBBSとかblogとかWikiを探すよう組むと思う。

(ReadMore...)

* (文字の画像による)CAPTCHA関連 メモ

#Web #CAPTCHA
PWNtcha - captcha decoder
http://sam.zoy.org/pwntcha/

Breaking a Visual CAPTCHA
http://www.cs.sfu.ca/~mori/research/gimpy/

/aiCAPTCHA : CAPTCHA Comment Spammer
http://www.mperfect.net/aiCaptcha/

Radium Software Development
http://www.radiumsoftware.com/0611.html#061107


zuzara : カタカナでCAPTCHAをつくるPHPコード
http://blog.zuzara.com/2006/11/27/166/

PHPで使えるCAPTCHA画像作成ライブラリまとめ:phpspot開発日誌
http://phpspot.org/blog/archives/2006/11/phpcaptcha.html


自分自身のためのものづくり@hatena - はてなダイアリーのcaptcha
http://d.hatena.ne.jp/bakuchikujuu/20070608

* リファラspam?

#Web #掲示板spam対策
 ApacheLogViewerを用いてアクセスログに目を通していたら、リファラspamらしきアクセスがあった。
 一見、人間がIE6を使って普通に閲覧したように見えるが、色々不自然。

 リファラにあるページはコスプレ衣装の販売サイトのナコルルの衣装。
fairyのサイトはリンクフリーです。 リンクは、http://fairy.cosnet.to/ にお願いします。
とあるのに、直接リンクを張られることを期待してリファラspamを行うとは、笑わせてくれる。

 リファラspamって、効果あるのかねぇ? 関連する単語による検索で引っかかるページに関連する内容のページのリファラにてspamってのは無差別よりも効果的とはいえ…。
 リファラを公に表示するWebページってHNSによる日記ぐらいしか思い浮かばない。…訂正。tDiaryによるblogもあるな。HNSよりもずっと多そうだ。
 あるいは、サイト管理者が「アクセス解析」からアクセスする事を期待しているのかな?だとすれば、わざわざ画像にもアクセスしていることの説明にもなる。

 リファラ周りのバグという線は、たぶん、無いと思う。Windows版IE6.0にそんなバグは無い…はず。
 まず、繰り返しになるけど、アクセス間隔がほぼ1秒おき(画像を含め、ファイルサイズ問わず)ってが猛烈に胡散臭い。また、ほぼ同じアクセスが2回繰り返されてたのは謎だが、人間のアクセスっぽくなく、やはり胡散臭い。(以下では片方しか挙げていない)

以下は当該ログ
(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...)

* deny from 66.232.96.0/19

#掲示板spam対策
 連投がウザイ(*)ので、丸ごと.htaccessでBBSから排除。

$ cat /var/log/apache/access.log | grep POST | grep 66.232 | grep '16/Feb' | cat -n | tail -1
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
 2月16日だけで139件かよ…。

 この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"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対策
#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

#掲示板spam対策 #Web
 うちの掲示板へ書き込みを試みたspam投稿ロボットの形跡を挙げる。
(ReadMore...)