先日衝動買いをキメてからしばらく経ちましたがやっとLTEで通信できるようになりました。
別に接続とか設定はそんなに難しいものではないんですが、色々あって大変でした。
動作確認
いきなりPiZeroに接続するのもアレなので、Windowsに繋いで色々試します。
ここからOSに合わせた接続ソフトを落として入れてから接続するだけ。
こんな感じでAPNの設定はできるのですが、
接続ソフトを使おうとしても怒られるのでWindowsの設定から接続します。
良さげですね。通信料が怖いのですぐ切断しました。
CD-ROMマウント機能の解除
CD-ROMとしてマウントされると後ほど大変なので、最初からコマンドで解除しておきます。
調べればたくさん出てきますが、コンソール接続して「AT%USBMODEM=0」と送るだけです。
接続するCOMポートは最も若い番号でした。もしかして環境によって違うかも…。
PiZeroに接続して色々設定
今回入れるのはwvdialです。
設定も調べれば色々出てくるので乗せる必要もあまりないのですが、こんな感じです。
[Dialer Defaults] Modem Type = Analog Modem Phone = *99***1# Carrier Check = no Auto Reconnect = yes Stupid Mode = yes ISDN = 0 Init1 = ATZ Init2 = ATH Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Dial Command = ATD Modem = /dev/serial/by-id/usb-NTT_DOCOMO__INC._docomo_L02C-if02-port0 Baud = 460800 Username = sora Password = sora
- APNはWindows側で設定済み
- ユーザ名とパスワードはsoracomの設定
- Modemは
/dev/ttyUSB2
とかに固定せずby-id
を利用- 固定しないのは、ハングアップしてから再接続した時にttyUSBの番号が変わるという話があったため(というか変わった)
by-path
もあるが、これだと同じポートを利用する必要がある
切断された時のために、接続状態を監視して再接続するサービスも作りました。ここを参照。
不安定だったのでファームウェアバージョンアップ
これで一通り整ったので試してみるも、結構短時間(20分以内)に接続が解除されてしまうという状態が100%起きていて、これの調査に時間がかかった感じです。
色々調べたり試してみたのですが、結論はファームウェアのバージョンが古いせいでした。最新がV10eで、現在のバージョンがV10bなのでほぼ初期バージョン。
という訳でバージョンアップ。
ちなみに、Windows10だと75%から先に進まなくてバージョンアップできないという話をちらほら見ましたが、一旦ドライバとソフト消した後にWindows10用のドライバを入れ直した所、バージョンアップできました。
V10eになった後は安定して動作するようになりました。
という訳で
無事にテザリング必須の状態から解放され、単独で通信できるようになりました。これぞ真のIoTや!(適当)
ちなみに、中で使っているソフトもPHPで書き直したりSlackに通知できるようにしたりと色々変えたので、その辺もそのうち書き残しておきたいと思います。