#はじめに
ToCoStick は東京コスモス電機さんの USBドングル型の ZigBee で、特徴は以下のようにいいことずくめです
-
省電力:なんと 25mA、WiFi ドングルだとものによっては 500mA ぐらい消費したりしますよね
-
遠距離通信可能な(家の端から端ぐらいは普通に余裕ですし、高出力タイプと高利得アンテナを使うと江ノ島から平塚まで通信できてしまった実績もあるらしい)
-
ソフトウェアが充実してて、シリアル通信なんかも提供されてる
2台の ToCoStick の1台を Mac に、もう1台を Raspberry Pi に挿して無線シリアルコンソールという使い方も便利ですが、2台の Raspbery Pi 同士をシリアルで繋ぎ、昔懐かしい slip (Serial Line Internet Protocol) で通信させることも可能です。ごちゃごちゃしてますがこんなかんじ
#設定
事前準備
ToCoStick には上のApp_Uart(シリアル通信アプリ) を書いておき、2台でシリアル通信ができるようにしておきます
もし、すでに ToCoStick をシリアルコンソールとして使うために /etc/inittab に ToCoStick の ttyUSB0 を getty に追加してある場合はそこをコメントアウトしてください(getty が ttyUSB0 を OPEN していると slattach は OPEN できない)。以下の最終行がコメントアウトの例です。追加してなければ不要です
#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
# T1:23:respawn:/sbin/getty -L ttyUSB0 115200 vt100
Raspberry Pi で slattach を実行
例として A+ を 192.168.11.15 に、B+ を 192.168.11.16 に設定するとします
まず両者に sudo modprobe slip をしておいて、その後、以下のように slattach (slip の起動コマンド)を実行します
sudo modprobe slip
sudo slattach -L -s 115200 -p slip /dev/ttyUSB0 &
sudo ifconfig sl0 192.168.11.15 dstaddr 192.168.11.16
sudo modprobe slip
sudo slattach -L -s 115200 -p slip /dev/ttyUSB0 &
sudo ifconfig sl0 192.168.11.16 dstaddr 192.168.11.15
これで両者は TCP で通信が可能です。ping が通るようでいしたら、お互いのサーバをお互いに参照したり、その他いろいろとつかえます
#感想
Linux は古いソフトもちゃんといつまでも使えるので、slattach みたいなのがまだちゃんと使えるので嬉しいです。昔、Windows 3.1 の頃、SLIP で TCP 動かすのに苦労した思い出がなつかしいですね。
尚、Mac の slattach も探してみたのですがみつけられませんでした。