RaspberryPiでUSBモデムを使ってみる
なんとなく思うことがあって、RaspberryPiでもアナログモデムを使いたいなあと思ってやってみました。
自宅に以下の2つのUSBモデムがありましたが結果からいうと
↓使えた
↓使えない(Windowsでは使えるのでWinModem)
とりあえず接続
USBデバイスなので接続して様子を見てみました。接続後以下のように確認すると接続した機器の部分のエントリが追加されています。
~ $ lsusb …中略… Bus 001 Device 005: ID 2019:ab27 PLANEX …中略…
このエントリにVenderIDとProductIDがあるので、その値をつかって以下のように 認識させます。
~ $ sudo modprobe usbserial vendor=0x2019 product=0xab27
認識されたことを確認する場合には以下のようにします。
~ $ ls -l /dev/ttyUSB*
すると
crw-rw---- 1 root dialout 188, 0 4月 17 14:14 /dev/ttyUSB0
のように表示されます。(ttyUSB0の数字の部分が違うかもしれない。)
cuのインストール
モデムなのでコンソールからATコマンドを受け付けてくれるアプリケーションをインストールします。
~ $ sudo apt-get install cu
USBモデムを認識するとそのデバイスはdialoutグループに所属するのでめんどくさいのでrootへ変更する。(本当はもっといいやり方は調べることにする。)
~ $ ls -l /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 4月 17 14:14 /dev/ttyUSB0 ~ $ sudo chgrp root /dev/ttyUSB0 ~ $ ls -l /dev/ttyUSB0 crw-rw---- 1 root root 188, 0 4月 17 14:14 /dev/ttyUSB0
sudo chgrp root /dev/ttyUSB0
と入力する。(ttyUSB0の部分は適宜変える)
cuを使ってみる
以下のように入力するとATコマンド待ちの状態になります。9600はシリアルポートの通信速度[bps]になります。9600としていますが、もっと早くても問題ないと思います。
~ $ sudo cu -s 9600 -l /dev/ttyUSB0
成功すると以下のように表示されます。
Connected.
あとはATコマンドを自由に入力することができます。
(使用例)
~ $ sudo cu -s 9600 -l /dev/ttyUSB0 Connected. at OK atz OK atdt09055029057 NO DIALTONE ~. Disconnected.
cuの終了コマンドがちょっと特殊なので注意が必要です。(終了コマンド→~.
)
あとはアナログ電話回線へモデムを接続するのですが・・・家にはアナログ電話回線がなかった…