先日から発売が開始された Wio LTE の開発で知っておいたほうがいい話と、載っている LTE Cat.1 モデム EC21-J をチョットいじりたい人向けのエントリーです。
Wio LTE について
Wio LTE は Seeed Studioさん が作っている
- STM32F4マイコン
- LTE Cat.1 モデム && nanoSIMスロット && 技適OKアンテナ
- Grove コネクタ 6つ (Digital:2 Analog:2 I2C:1 UART:1)
を搭載しているIoTのプロトタイプ向けデバイスです。
※「Wio Tracker」や「Wio Node」じゃないです。お間違いなく。
Wio LTE 開発で知っておいたほうがいい事
シリアルコンソールの使い方
Arduino UNO では Serial
を使って、例えば Serial.println(String);
のようにシリアルコンソールに出力していましたが、Wio LTE は SerialUSB
を使います。
SerialUSB.println(String);
というように、メソッドは同じモノが使えます。
LTE Cat.1 モデム(EC21-J)の扱い方
EC21-J は Serial1
として扱うことができます。電源ONの後、初期化処理を行った後であればATコマンドを入れることができます。(それまでは受け付けてくれません)
初期化処理は https://github.com/SeeedJP/WioLTEforArduino で定義されているメソッドを使うのが一番楽です
また、上記二つのメソッドを実行するとエコーバックがOFFになるため ATE1
でエコーバックをONにしておくと色々捗ります
ATコマンドリファレンスはQUECTELさんから入手してください(たぶんIDとか作る必要がある...かな?)
上記をやってくれるスケッチ
用意しておきました。
6/1/2020: WioLTEforArduino/src/WioLTEHardware.cpp で SerialModule
を参照するようになっていたので追従。
#define BAUDRATE 9600
#define CONSOLE SerialUSB
#define EC21J SerialModule
#include <WioLTEforArduino.h> /* https://github.com/SeeedJP/WioLTEforArduino */
WioLTE Wio;
void setup() {
CONSOLE.begin(BAUDRATE);
Wio.Init();
Wio.PowerSupplyLTE(true);
delay(5000L);
if (!Wio.TurnOnOrReset()) {
CONSOLE.println(F("### ERROR! ###"));
return;
}
delay(3000L);
EC21J.write("ATE1"); // echo back ON
EC21J.write(0x0d); // send CR
CONSOLE.println(F(">> Waiting for AT command"));
}
void loop() {
if (EC21J.available()) {
CONSOLE.write(EC21J.read());
}
if (CONSOLE.available()) {
EC21J.write(CONSOLE.read());
}
}
同じもの → https://gist.github.com/ma2shita/8a3a977223fd7f3154d4f38c75e29e49
実行結果サンプル
モデム内に格納されているAPN一覧を見る AT+CGDCONT?
を実行した時の様子
>> Waiting for AT command
+CPIN: READY
+QUSIM: 1
+QIND: SMS DONE
+QIND: PB DONE
OK
AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","internet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 4,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
OK
※Waiting for AT command の後の +CPIN...
とかを抑制できないものか。。。ちょっとカッコ悪いですよねぇ。。。
あとがき
今日は土曜日。