Wio LTE M1/NB1(BG96)の接続を速くしたい。


沖縄で、Wio LTE M1/NB1(BG96)を使っていると、通信可能になるまで、電源投入から2分近くかかっていたりします。同じ通信方式を使っているあのボタンとかは、沖縄でも、8秒ぐらいで、サーバに通知されるんだから、もっと速くなってもいいのではないか?
ちなみに、SORACOM Plan KMのSIMを使っての検証です。

基地局サーチするのに時間掛かっているのか?ということで、何か使えるATコマンドはないか?と『BG96 AT』みたいなキーワードで検索してみると、ATコマンドマニュアルを発見したので、AT+QCFGコマンドあたりで高速化できそうなので、試してみたら、高速化ができました!

早速、ソースコード
(おまじないって書いてある部分が追加分)

#include <WioCellLibforArduino.h>

WioCellular Wio;

void setup() {
  delay(200);

  SerialUSB.begin(115200);
  SerialUSB.println("");
  SerialUSB.println("--- START ---------------------------------------------------");

  SerialUSB.println("### I/O Initialize.");
  Wio.Init();

  SerialUSB.println("### Power supply ON.");
  Wio.PowerSupplyCellular(true);
  delay(500);

  SerialUSB.println("### Turn on or reset.");
#ifdef ARDUINO_WIO_LTE_M1NB1_BG96
  Wio.SetAccessTechnology(WioCellular::ACCESS_TECHNOLOGY_LTE_M1);
  Wio.SetSelectNetwork(WioCellular::SELECT_NETWORK_MODE_MANUAL_IMSI);
#endif

  if (!Wio.TurnOnOrReset()) {
    SerialUSB.println("### ERROR! ###");
    return;
  }

  SerialUSB.println("### おまじない start ###");
  while (SerialModule.available() > 0) {
    SerialUSB.write(SerialModule.read());
  }
  SerialModule.write("AT+QCFG=\"band\",0,20000,0"); // B18固定
  SerialModule.write(0x0d);
  delay(300);
  while (SerialModule.available() > 0) {
    SerialUSB.write(SerialModule.read());
  }
  SerialUSB.println("### おまじない end ###");
  

  SerialUSB.println("### Connecting to \"soracom.io\".");
  if (!Wio.Activate("soracom.io", "sora", "sora")) {
    SerialUSB.println("### ERROR! ###");
    return;
  }

  SerialUSB.println("### Setup completed.");
}

void loop() {
  // put your main code here, to run repeatedly:

}

どのくらい速くなったのか?

20:15:03.288 -> 
20:15:03.288 -> --- START ---------------------------------------------------
20:15:03.288 -> ### I/O Initialize.
20:15:03.288 -> ### Power supply ON.
20:15:03.764 -> ### Turn on or reset.
20:15:09.100 -> ### おまじない start ###
20:15:09.421 -> 
20:15:09.421 -> OK
20:15:09.421 -> 
20:15:09.421 -> +QIND: SMS DONE
20:15:09.421 -> ### おまじない end ###
20:15:09.421 -> ### Connecting to "soracom.io".
20:15:12.001 -> ### Setup completed.

ってことで電源ONから9秒で、接続完了しています。

以上、ご参考までに