Top Page Index About Link Mail Form ●このページの応用機器製作します |
WILLCOM W-SIMはそれ自体が電話機であり、モデムでもあり、RS-232Cのようなシリアル信号で制御できることはある程度知られていましたが、コネクタがなかなか入手できませんでした。chip1stopで入手できるとの情報もあったのですが、わたしが問い合わせてみると在庫無しと言われました。
そんな昨今、「マイコン工作実験日記」なるブログを見つけました。この方はなんと、W-SIMで音声端末を自作されています。興味深く読ませていただきましたが、その中に W-SIMコネクタは MOUSERで売っている(サイトで W-SIMと検索すると出てくる)との記述があったのでわたしも注文・入手できました。これさえあればいろいろ遊べます。というわけで Bluetoothでつないでみることにしました。
こちらがブロック図です。Bluetoothモジュールはストロベリー・リナックス/SparkFunで扱っている物です。買ってみてわかったのですが、これはまたずいぶんとお手軽なモジュールでした。Bluetoothのややこしいプロトコルはモジュール内部で全て処理されるので、電源を入れればそのまま接続待ち状態になり、パソコンで Bluetooth接続すれば 9600bpsのシリアル信号でパソコンとモジュールの TX/RX信号で通信できるようになります。
今回は W-SIMをつなげてパソコンからは単なるモデムのように認識させるのが目的なのでこのモジュールを買ったままではさすがに使えません。それでこの図のようにマイコンを搭載、そいつで最初に Bluetoothモジュールにコマンドを送り、各種設定をして Bluetooth接続待ち状態にします。それからバッファを ONにして Bluetoothモジュールと W-SIMが直接やりとりできるようにするだけです。マイコンは最初の設定が終わって以降、状態に応じて LEDを点滅させるだけで、通信には直接関りません。
以上により、Bluetoothを通じて W-SIMをモデムとして使うことに成功しました。パソコン側からは Bluetoothの仮想シリアル信号の先にモデムがつながっているように見えますので、OSを問わずに使えます。右の画像は WindowsXP + Bluesoleilで認識・接続した状態です。Ubuntu Linuxの場合はこちらのページの方法でつなげました。
Bluetoothのシリアル接続
→
DD(WS002IN)でのダイヤルアップ (Deviceは /dev/ttyUSB0 → /dev/rfcomm0 にする)
消費電流を測ってみましたが、待機時でも 100mA近く流れているようです。通信時のピークは 500mAをかるく越えているかもしれません(実は電流計の分の電圧降下で電圧が保持できずに落ちてしまうので正確に測定できていない)。W-SIMは通信時に 200mA程度流れるらしく、それに加えて Bluetoothの電流が流れ、更に DC-DCコンバータで電圧を上げているのでそれらの電流の合計の 1.5倍以上が電池から流れているはずです。けっこう電気を食うので、電源を入れたままの使い方には向かないでしょう。また、この実験の追試をする人は電源には注意してください。DC-DCコンバータで小さなコイルを使ったりすると動かないかもしれません。
消費電流は、待機時 100mA、通信時 500mA程度と見ておけばいいでしょう。2000mAHの Ni-MH電池を使ったとすれば、待機時間 20時間、連続通信時間 4時間程度ということになります。いざというときはアルカリ電池を買って使う方法もありますし。
追実験や検証をされる人の為に回路図とファームウェアとそのソースを置いておきます。
→回路図(png)
→ファームウェア・ソース 2008.2.9(zip)
念のため、これによって何か不具合が発生したり損害を被ることがあったとしても当方は責任を負いません。
上記ファームでは PINコード認証と暗号化にも対応しています。ATtiny2313の内蔵 EEPROMのアドレス 10h(16)から PINコードを ASCIIコードで格納したうえで、01hに 1を書くと PINコード認証、2を書くとそれに加えて暗号化も行われます。と書くとなんかすごいことをしているみたいですが、実際は Bluetoothモジュール自体にその機能があるのでそれを有効にするだけです。
ポート(チャンネル)番号を変更できるようにしました。EEPROMアドレス 02hに 1〜30を書くとそのポート番号を使用します。それ以外では 1になります。
↓PINコード(1234)認証・暗号化あり、ポート番号 3の設定例。PINコードは最大 16文字までOK。
avrdude> read eeprom >>> read eeprom 0000 ff 02 03 ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 0010 31 32 33 34 ff ff ff ff ff ff ff ff ff ff ff ff |1234............| 0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
ケースはタカチの SW-65Bを穴あけ加工して使っています。このシリーズは安価で入手しやすいのでよく利用してます。その裏蓋を開けるとこうなっています。単三型の Ni-MH電池あるいはアルカリ電池で動作します。
電池を抜いた所。向きを間違えないようにプリンタで印刷したラベルを貼っています。
基板をケースから引っ張り出した所です。小さなケースに納めるために CPU(ATtiny2313)やバッファ(74VHC244)はフラットタイプを使い、Bluetoothモジュールも購入時についていたピンヘッダを抜いてあります。ケースを一回り大きな SW-75B/Gを使えば通常の DIP部品でも組み立てられるかもしれません。
LEDはマイコンで制御するのでどれがどれでもいいのですが、以下のようになっています。
「たぶん」となっているのは、W-SIMの DISP1/2/3の信号の意味が公開されておらず、推測した結果による表示の為です。音声通話時(DTEモード)は全て電界強度を示すらしいのですが、モデム動作時(アダプタモード)では意味が異なるようです。ひとまず、DISP3が、回線発信時に点滅、接続後 Lowになったのでそれをそのまま表示しています。
Bluetoothモジュールのクローズアップです。モジュール上のチップから1本線が出ていますが、これはモジュールのピンに DSR信号が出ていないので、チップのランドから線を引き出しています。チップの 11ピンが DSR信号です。ただ、DSRは実際には使ってないようなのでこんなことしなくてもよかったみたいです。
基板を反対側から見た図です。W-SIMコネクタに直接リード線をハンダづけし、反対側をまた直接 ICのピンにハンダづけするという荒技を駆使しています。基板を作れば楽なのですが……。
ケースが小さいので電池BOXは使えません。やはりタカチで電池BOX用金具だけを売っていますので、それを基板に直接ハンダづけしています。右側の金具の裏についている白いのはバネによる圧力をケースで支える為の枕です。かなりの力がかかりますのでハンダづけだけで支えるのちょっとは無理があります。
電池を支えるための両脇の金具は事務用のクリップを切って使っています。
W-SIMコネクタはこの画像のように長いのでケースに収まりません。そこで半分に切ってあります。半分に切ったらプッシュ・プッシュによるオートイジェクトのメカが壊れて使えなくなってしまいました。でも、単に引っ張れば抜けますのでそれでよしとします。実はアルプスからは短いコネクタも発売されてるのですが、MOUSERでもまだ扱っていません。というか、なんで日本ローカルな規格のコネクタを MOUSERで扱ってるんだ?
このコネクタも事務用クリップを切った物をハンダづけして基板に固定しています。