ルータ・PC間のシリアル通信をX-Beeで無線化する

シリアル(RS232C)周りの無線ガジェットを作りました。1F作業室の片隅に佇むルータを、家のどこからでもシリアル通信で設定操作できるようにしたかったのです。

はじめに

「ルータ設定中にLAN通信ができなくなりルータのある場所まで行ってリセット」という不幸はしばしば発生します(発生しますよね?ね?)。今回のISP変更に対応しようとルータ設定を変更したら、やっぱりおこりました。

これを乗り越えるには、ルータ・PC間のシリアル通信をあらかじめ確保しておくのが吉です1)YAMAHAのルータは家庭向けの低価格帯ラインナップでもRS232Cがついてます。いわゆるSOHO(懐かしい響き)対応機器という位置づけでもあるからでしょう。RT57i、RTXシリーズ、NVR500、SWX2200、FWX120と同社のルータ・L2スイッチ・FWを使い続けて来たのは、デザインの美しさもありますが、CISCOには手がでない子だけど、シリアルポートが欲しかったのですよ、やっぱり(小沢昭一風に)。同社がネットワーク機器を出しはじめて20年以上が経過しているわけですが、こういう回顧記事を読んで感慨に浸っております。なお他社のシリアルポートのない家庭用ルータでも中身を空けて基板を眺めればシリアル信号を取り出す穴が開いてるはずです。今度一度分解してみようかな。

ただし、今度はルータ設置場所から動けなくなるという別の不幸が訪れます。

今回のお題は、じゃあそれを無線で、というわけです。おかげで3Fの自室からルータをいじれるようになったので少し幸せになりました。

 

上はPC-USBシリアル側。ブレッドボードの載せてます。下はルータ側。蛇の目基板に組み込んでます。

部品の構成

仕組みは簡単で、X-Beeを使ってPCのUSBシリアルとルーターのRS232Cをつなぎ透過モードで通信させるというだけです。

基本的なことは「ボクにもわかる地上デジタル」サイトの記事あたりで確認下さい。

TWELIGHT-DIPの方が、消費電流が少ないとか、ピン間が2.54mmピッチだとか、お安いとか、このようなお手軽工作向きです。手元にも数個あります。

なのですが・・・この機会を逃すと初代X-Bee2)まあホントの初代ではなくてDigi MeshタイプのS1ですが。、一つが2007年、もう一つが2009年の製品が永久殿堂(物置)入りしてしまうので、今回は、その子たちに活躍の場を提供しました。

PC-USB側

PC-USB側は簡単にすませました。秋月のFT232RLモジュールと2.54mm変換基板を使ったX-Beeをブレッドボードに差し込めばおしまい。リセット用のタクトスイッチとLEDを一応付けてますが、不要かな。電源はFT232から3.3Vがとれるので、なにも考えることはありません。

ルータ・RS232C側

ルータ-RS232側は少し厄介です。電源をどうするのか、というのと、レベル変換をどうするのかが課題です。

リチウム電池とレギュレータ

外付けACアダプタは使いたくありません。コンセントをこれ以上増やしたくないのです。

RS232C側から(やや強引に)電源を確保するという作戦もありますがルータ側の故障の原因になるかもしれないので、採用しません。

となれば電池ですが、XBee通信時にピークで60mA程度、アイドリング時に40mA程度使うとして、10時間程度もたせるとすればそれなりの容量が必要です。

かさばるのも御免なので、壊れたコンパクトデジタルカメラについていたNIKON印の3.7Vリチウムを使ってみることにしました。充電器は別途確保できています。

電池の公称740mA/hです。過放電については、今回は思考停止しておきます。

電池は3.7Vとはいえ充電完了時に、4.2V程度まで上がります。XBee(DM)の定格を1V近く超えているようなので、そのままつかうのは回避します。

降圧は秋月で売っているSi91841DT(2.85Vレギュレータ)に任せました。XBee(DM)の動作下限電圧も一応クリアしているのでOKかと。

レベル変換モジュール

RS232とXbeeの間のレベル変換は定番のADM3202あたりで作る予定でしたが、サクッとつくってU-NEXTでNCISを観たいので手抜き路線に走ります。

SparkFun RS232 Shifter というモジュールを一個もっているのです。

13ドルもするものをなぜ買ったのか記憶にありませんが、いざ使ってみると便利でした。

スイッチサイエンスや共立などにも常備してないマイナー品ですが一家に一個もっていると役立つかもしれません(嘘)。

上の回路のように、NPN/PNP複合トランジスタチップでスイッチングしているだけです。部品名はデータシートには載っていません。Eagleの回路ファイル(sch)の中を覗いてみるとパナソニックのXN04312(廃番)のようです。今後は、下手にADM3202とか使うよりはこの手のトランジスタスイッチ回路でもいいなあと思いました。

このシフターは、VCCに2.8Vを印加するとCMOSレベルの入出力が可能になります(印加無しだと5V)。Xbeeの駆動とシフターの印加をSi91841DTで直接賄うことができます。

 

ルータ・RS232基板の作成

準備は整ったので、制作に入ります。2.54ピッチの蛇の目基板でやるとなると、それぞれの部品の装着に困難があります。

リチウム電池ボックスの作成

電池枠づくりーピンヘッダ活躍ー

まず、リチウム電池です。この手の平型電池のボックスというのはなかなかないようです。あったとしても通販購入待ちをするなどやりたくありません。なので、強引にボックスもどきを作ります。

まず電池を両側から固定する枠を、2連のL型ピンヘッダと普通の二連ピンヘッダでつくります。電池の側面両端がアールになっているのでどこかで抑える工夫が必要となります。そこで、写真のようにL型の方の樹脂部分を上にあげて、電池が滑り落ちないようにします。

電極端子を作る

難関は、電極端子です。バネが効いていて、小さな長方形電極にうまく接触する金属板が必要になります。手持ちで使えそうなものを探しました。これが今回の工作の最大の収穫?です。aitendoで10個入り600円という高値!で売っていたボタン電池ホルダー。

この子の端子を外します。

外した端子をプラスチック槌で平にして、少し折り曲げます。こういう小さな作業をするとき、100均一の時計用工具みたいなのを一つもっておくと使えます。左のくの字の部分が接触部にあたります。

現物合わせをしながら高さを調整します。

電池固定用部品の装着

電極固定の前に、電池のお尻の部分を固定する部品を考えます。

頭の部分は上のバネの効いた電極端子に接触するわけですが、接触を保持するために、お尻側の部品がストッパーとして機能する=スライドして固定してくれなければ困ります。

そこで、ボタン電池のホルダー樹脂部に活躍してもらいます。ホルダー真ん中に3.5mm程度の長孔をあけます。基板側に3.5mmの丸穴をあけます。

3mmのロレットネジを固定用ネジにします。

基板裏側には1.5mmのアルミ端材に3mmのタップ穴をつけたものを装着します。ロレットネジが空回りしないように、L型にして基板側面で歯止めをかけられるようにしておくわけです。

ちょうどサイズ的にOKです。嬉しい。

電極の半田固定

最後に基板の上に電池と電極をのせ、現物合わせで電極の半田固定を試みます。

この手の強引な半田固定する時に欠かせないのが、ピンソケットから抜いたピンです。ピンソケットを切断する時に、1穴ソケットを無駄にするのですが、もったいない病なので抜いたピンを小瓶に貯めています。ここで活躍。半田を流し込み、適当に折り曲げて、更に半田を流します。少なくとも端子などをそのまま半田固定するよりも強度が上がるので、抜いたピンは大切にしておきませう。

完成。これだけで二時間は優にかかりました。なにをやっているのかわたしは・・・・

 

レギュレータのはんだ付け

次の面倒はレギュレータのはんだ付けです。SOT23パッケージ=ハーフピッチ。

この手の部品をフルピッチの蛇の目にはんだ付けする手法としては、ポリイミドテープや両面テープなどを駆使しつつ部品の足をUWE線などで配線するというELMさんのような華麗なテクニックがあって、昔はそれにあこがれてよく真似したものです。が、いまや手が震えて無理。

というわけで、ハーフピッチの1cm角蛇の目基板(昔、秋月で売ってたんですが、今はないのかな)で配線をして足を出し、裏に両面テープを貼り基板に固定します。

 

なおこのレギュレータは3ピン(写真で言えば左下)が電源ON/OFF端子になっています。0.4V以上の印加で電流が流れます。

待機電流が1uAなので、電池からレギュレータまでにはスイッチはつけず、ON/OFFをこの端子に任せます。

XBee用2mmピンソケットを強引に基板につけるー変換基板なんかいらない(強がり)

最後の面倒は、XBeeのピン周りです。ご承知のように2mmピッチ。なので2.54ピッチの変換基板がいろいろ売られていますし、わたしも数枚持ってます。それを使えばいいじゃないか、ということですが、もったいない病なので、ここは強引に2mmのピンソケットを2.54mmピッチにはんだ付けします。

まずは、不要なピンを引っこ抜き、使うピンをL字に曲げて2.54mmに合わせます。この基板で使うピンとしてはVCC,GND,RST,IN,OUT,ON,それにコミット端子(ADC0)とassociate端子(ADC5)だけです。

といってもあんまり歯抜けになるとこまるので、使わないピンもいくつか残しておきます。

あともう一つの工夫としては片側のピンソケットのピンで無理しないでもランド穴に入るものは曲げないでそのまま基板に入れるようにします。

なぜ両側でないかといえば、XBeeの横幅が微妙に2.54mmピッチの整数倍になっていないので、両方共を基板穴をガイドに使うことは難しいのです。無理にやると、ハの字、になります。

次に、基板に現物合わせで、ポリイミドテープを貼ります。これは折り曲げた隣り合わせのピンが2.54mmのランド穴に接触するのを防ぐためです。

はんだ付けします。横からみたらこんな感じです。

 

あとは裏側も含めて配線します。回路自体は単純なので、下手くそでも無心にやったので一発OKでした。

 

効能

電池の消費具合ですが、数時間あれこれ使った後、一夜SWを入れっぱなしでまだ通信可能でした。2,3時間程度ルータいじろうか的な今回のような使い方としては許容範囲の電池駆動です。というわけで電流測定はまたいつか。

到達距離ですが、とりあえず1Fのコンクリート打ちっぱなし部屋においたルータと3Fの自室の間では安定的に通信できています。1FのWiFiよりも感度がいいかもしれない。

寒い冬にルータ場所に行かなくても作業が可能になるのがありがたいです。いつかケース入れ(言うだけでほとんどやらないなあ、これ)したいと思い始めたところです。あとPC-USB側はブレッドボードではなくて基板で作っておこうと思います。いっそのことプリント基板を起こすかなあ。2セットとかもっててもあれこれ使うだろうし。プロの人はこの手のものは安全対策上使うのは慎重になると思いますが、D.I.Y.er的には有効な武器ですね。

References   [ + ]

1. YAMAHAのルータは家庭向けの低価格帯ラインナップでもRS232Cがついてます。いわゆるSOHO(懐かしい響き)対応機器という位置づけでもあるからでしょう。RT57i、RTXシリーズ、NVR500、SWX2200、FWX120と同社のルータ・L2スイッチ・FWを使い続けて来たのは、デザインの美しさもありますが、CISCOには手がでない子だけど、シリアルポートが欲しかったのですよ、やっぱり(小沢昭一風に)。同社がネットワーク機器を出しはじめて20年以上が経過しているわけですが、こういう回顧記事を読んで感慨に浸っております。なお他社のシリアルポートのない家庭用ルータでも中身を空けて基板を眺めればシリアル信号を取り出す穴が開いてるはずです。今度一度分解してみようかな。
2. まあホントの初代ではなくてDigi MeshタイプのS1ですが。、一つが2007年、もう一つが2009年の製品

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


コメントする