ATERMモバイルルータMR05LNを常時接続する方法

技術情報

◆背景&目的

家庭の固定回線によるインターネット通信の冗長化のために,無線通信を用いることが考えられる.
ATERMのモバイルルータMR05LNにDMM.mobile製の格安SIMを挿して冗長化を試みた.
当初容易に実現可能と考えていたがいくつか課題を克服する必要があった.
無事に冗長化できたぽいのでその記録を残す.

◆環境

古いx86ノートパソコンにUbuntu16を入れて構築.

◆技術的課題

USB給電しながら無線通信を連続して行うと,バッテリが枯渇する.
バッテリが満充電状態で無線通信を連続して行うと充電が勝手に停止されてしまい,そのまま通信し続けることにより放電して枯渇する.

◆解決方法

モバイルルータのWebコントロールページにて,モバイルルータを手動で定期的に再起動する.
再起動により「満充電状態で無線通信を連続して行うと勝手に充電が停止」されなくなる(タイマーがリセットされる?).
これにより放電と充電を繰り返す状態となり,常時通信が可能となる.

◆実装

定期的な再起動をプログラムで実現するため,まずはモバイルルータのWebUIを調べる.
WebUIの手動再起動に関するページ(http://192.168.179.1/index.cgi/reboot_main)を見ると,以下のようなFORMで再起動を実行している.
<form name=”reboot_main” id=”reboot_main” action=”./reboot_main_set” method=”post”>
<input name=”UPDATE_BUTTON” id=”UPDATE_BUTTON” value=”再起動” type=”submit”>
<input name=”DISABLED_CHECKBOX” id=”DISABLED_CHECKBOX” value=”” type=”hidden”>
<input id=”CHECK_ACTION_MODE” name=”CHECK_ACTION_MODE” value=”1″ type=”hidden”>
<input id=”SESSION_ID” name=”SESSION_ID” value=”xxxxxxxx” type=”hidden”>
</form>
そこでubuntu16のターミナルから以下のようなコマンドを打つこととする.4時間ごとに再起動を行うこととなる.
while true; do sleep 4h; date; curl -Ss -u admin:admin -X POST http://192.168.179.1/index.cgi/reboot_main_set -d “SESSION_ID=xxxxxxxxxxxx” -o /dev/null; done
あと,MR05LNは初期設定だと勝手に休眠モードに入ることになっている.これをOFFにしておくこと.また,ECOモードもOFFにしておくこと.

◆そのほか

ついでにバッテリ状態と通信状態の取得を定期的に行って,Slackで通知するプログラムを実装.
・バッテリ状態と通信状態の取得を10分ごとに行うコマンドは以下の通り.
途中でnkfコマンドをはさむことで文字コードの違いをいい感じに吸収してくれる.便利.
while true; do date; curl -Ss -u admin:admin http://192.168.179.1/index.cgi/battery_main | nkf | grep small_item_td2 | grep -v input | grep -v select; curl -Ss -u admin:admin http://192.168.179.1/index.cgi/index_contents/basic_main | nkf  | grep small_item_td2| grep -v ATERM | grep -v SIM1; sleep 10m; done
出力例はこんな感じ:
    * 2019年  o月  x日 金曜日 20:22:54 JST
    * <td class=’small_item_td2′>充電中</td>
    * <td class=’small_item_td2′ colspan=’2′>インターネット利用可:3G(DOCOMO)</td>
    * <td class=’small_item_td2′ colspan=’2′>非常に強い</td>
「満充電状態で無線通信を連続して行うと勝手に充電が停止」状態だと,”充電中”という箇所が”[■■■■■■■■□□] (72%)”という風になったりする.
モバイルルータの再起動により”充電中”の表示に戻ったり,”[■■■■■■■■□□] (72%)”のままだったり.
とりあえず常時接続できているのでよしとする.
Slack連携は次のページの手順に従った.https://slack.com/services/new/incoming-webhook
web hook の作成を実行したら,bashにてcurlコマンドをたたく.https://qiita.com/lighter_mt/items/e12e2be9122ab8124fa6
例えば
sh postSlack @<userName> <botName> <message>
で,当該slackチャンネルのdirect messageのslackbotに投稿が飛ぶ.

◆そのほか2

格安SIMはDMM.mobileのライトプラン.4G/LTEだとバッテリの減りが早いかもと思ったので,モバイルルータの設定を変更して,3Gのみで使用している.

 

技術情報
スポンサーリンク
nmori1984をフォローする
nmori1984.net

コメント

タイトルとURLをコピーしました