3GIMの初期設定
無事にハンダ付けが終わり、IoTabとの接続ができたら3GIMの初期設定を行なっていきます。
monitor.ino実行
monitor.inoを実行します。
monitor.inoは3GIMの状態やIoTabとの通信に使うモニタ用プログラムです。
monitor.inoのコードは以下になります。
# define BAUDRATE 9600
# define Serial1 Serial
void setup() {
while(!SerialUSB);
SerialUSB.begin(BAUDRATE);
Serial1.begin(BAUDRATE);
SerialUSB.println("start");
pinMode(9,OUTPUT); digitalWrite(9, HIGH); delay(100);
digitalWrite(9, LOW);
}
void loop() {
String str;
if (Serial1.available() > 0) {
str=Serial1.readStringUntil('\n');
SerialUSB.println(str);
}
if (SerialUSB.available() > 0) {
char c = SerialUSB.read();
SerialUSB.print(c); // Echo back
Serial1.print(c);
}
}
コンパイルを行い、無事にコンパイルが完了したら次にシリアルモニタを開きます。
改行の扱いを「CRおよびLF」を選択し、速度は9600bps を選択します。
無事に書き込みが完了すると画面にstartと表示されます。
その後、内部では3GIMとの通信を開始していますのでしばらく待ちます。
walcome to 3GIM(v2.x) と表示されたら3GIMとの接続完了です。
(マニュアルがわかりづらいですが)
ここでさらに待っても応答はないので先へ進めます。
IMEIの確認
$YIコマンドを入力して送信ボタンを押します。

$YI=OK のあとにIMEIが表示されます。
以下のような応答が返ってきたら成功です。
通信速度の設定
次に$YB と入力します。
9600bpsに設定されました。

SIM登録
次に$PS と入力して現状のSIMカードのAPN情報を表示します。
デフォルトではiijmio.jpが設定されている事がわかります。
通信会社ごとに違いますが、ここではsoracomのSIMを使う前提で説明します。
以下のフォーマットでsoracomの情報に書き換えます。
$PS "soracom.io" "username" "password"

$PS=OKと返ってきたら、$PSコマンドで確認します。
入力の通りに応答があれば成功です。

時間取得の確認
$YTコマンドで時間の確認を行います。
soracomの状態を見るとこのタイミングでオンラインになったので
オンラインで時刻を取得したようです。
時刻が正常に取れていればsoracomへも繋がったとみていいでしょう。
通信速度の設定
最後に$YBコマンドでSIMの通信速度を設定します。
$YB 115200 を送信します。

YB=OK のあとに設定値が返ってきたら成功です。
設定完了
以上で設定が完了しました。お疲れ様でした。
あとは、3GIMに通信させたいプログラムをスケッチ作成して書き込めばいろんな使い方ができます。