チラシの裏の落書き

意識はあまり高くないです

PiZeroにL-02Cを接続してLTE通信できるようにした

先日衝動買いをキメてからしばらく経ちましたがやっとLTEで通信できるようになりました。

f:id:taiko19xx:20170826230935j:plain

別に接続とか設定はそんなに難しいものではないんですが、色々あって大変でした。

動作確認

いきなりPiZeroに接続するのもアレなので、Windowsに繋いで色々試します。
ここからOSに合わせた接続ソフトを落として入れてから接続するだけ。

こんな感じでAPNの設定はできるのですが、

f:id:taiko19xx:20170826230257p:plain

接続ソフトを使おうとしても怒られるのでWindowsの設定から接続します。

f:id:taiko19xx:20170826230315p:plain

良さげですね。通信料が怖いのですぐ切断しました。

f:id:taiko19xx:20170826230338p:plain

CD-ROMマウント機能の解除

CD-ROMとしてマウントされると後ほど大変なので、最初からコマンドで解除しておきます。
調べればたくさん出てきますが、コンソール接続して「AT%USBMODEM=0」と送るだけです。

接続するCOMポートは最も若い番号でした。もしかして環境によって違うかも…。

f:id:taiko19xx:20170826230420p:plain

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なのでほぼ初期バージョン。

という訳でバージョンアップ。

f:id:taiko19xx:20170826231208p:plain

ちなみに、Windows10だと75%から先に進まなくてバージョンアップできないという話をちらほら見ましたが、一旦ドライバとソフト消した後にWindows10用のドライバを入れ直した所、バージョンアップできました。

V10eになった後は安定して動作するようになりました。

という訳で

無事にテザリング必須の状態から解放され、単独で通信できるようになりました。これぞ真のIoTや!(適当)
ちなみに、中で使っているソフトもPHPで書き直したりSlackに通知できるようにしたりと色々変えたので、その辺もそのうち書き残しておきたいと思います。

参考