3GIMの初期設定

# 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 を選択します。
<img width="1300" alt="スクリーンショット 2017-10-28 15.32.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/074ad66c-acec-d4f3-5806-19d898823a52.png">


「マイコンボードに書き込む」ボタンを押します。
<img width="238" alt="スクリーンショット 2017-10-28 15.34.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/02e5651d-9807-071e-2e78-1ba529ce7d3d.png">

無事に書き込みが完了すると画面にstartと表示されます。
その後、内部では3GIMとの通信を開始していますのでしばらく待ちます。

walcome to 3GIM(v2.x) と表示されたら3GIMとの接続完了です。
<img width="226" alt="スクリーンショット 2017-10-28 15.36.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/fa3db687-f8d2-e832-d56b-59d85c1e8e0d.png">

（マニュアルがわかりづらいですが）
ここでさらに待っても応答はないので先へ進めます。

## IMEIの確認
$YIコマンドを入力して送信ボタンを押します。

<img width="748" alt="スクリーンショット 2017-10-28 15.44.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/f0c51fc5-3510-bb79-2525-78a4eeac0c14.png">


$YI=OK のあとにIMEIが表示されます。
以下のような応答が返ってきたら成功です。
<img width="311" alt="スクリーンショット 2017-10-28 15.46.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/359f7aeb-1ece-c71a-83a1-1b3ff356e4ac.png">

### 通信速度の設定

次に$YB と入力します。
9600bpsに設定されました。

<img width="308" alt="スクリーンショット 2017-10-28 15.40.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/8a782b2d-7e0a-1c62-061d-3adb825e3481.png">

### SIM登録

次に$PS と入力して現状のSIMカードのAPN情報を表示します。
<img width="413" alt="スクリーンショット 2017-10-28 15.52.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/ed588267-b419-bbcf-7a36-71abfefcc3c1.png">
デフォルトではiijmio.jpが設定されている事がわかります。

通信会社ごとに違いますが、ここではsoracomのSIMを使う前提で説明します。
以下のフォーマットでsoracomの情報に書き換えます。

$PS "soracom.io" "username" "password"


<img width="391" alt="スクリーンショット 2017-10-28 15.54.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/d265fa1c-41cc-7a88-2aba-944264a1f26a.png">

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

<img width="391" alt="スクリーンショット 2017-10-28 15.54.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/7e60dfa2-46ed-1c90-b154-a915d08cf379.png">


### 時間取得の確認

$YTコマンドで時間の確認を行います。

しばらく待つと時間が返ってきます。
<img width="383" alt="スクリーンショット 2017-10-28 16.05.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/def4b833-6618-508c-eaed-c42c033a0d8d.png">




soracomの状態を見るとこのタイミングでオンラインになったので
オンラインで時刻を取得したようです。
時刻が正常に取れていればsoracomへも繋がったとみていいでしょう。

![スクリーンショット 2017-10-28 16.03.56.png](https://qiita-image-store.s3.amazonaws.com/0/49910/b86db7ea-cde3-bb4e-2006-3475d2611cc7.png)


### 通信速度の設定

最後に$YBコマンドでSIMの通信速度を設定します。
$YB 115200 を送信します。

<img width="326" alt="スクリーンショット 2017-10-28 16.07.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/49910/314ff944-2db1-5bc3-ce93-b9f364dfda4c.png">

YB=OK のあとに設定値が返ってきたら成功です。


## 設定完了

以上で設定が完了しました。お疲れ様でした。

あとは、3GIMに通信させたいプログラムをスケッチ作成して書き込めばいろんな使い方ができます。