Inosensor ES Devkit 用 ATコマンドファームウェア（IFS-M01-FIRM-AT）を使ってATコマンドに挑戦！

# Inosensor ES Devkit って何？

Inosensor ES Devkit は、Sigfox無線モジュール搭載の小さな基板です。

![img-inosensor-ES-Devkit.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/e68bbc30-f60e-045b-4baa-ec69bcb479aa.jpeg)

今回は、ATコマンドに挑戦してみたいと思います！

# ATコマンドって？

ATコマンドとは、アメリカのヘイズ社が開発したモデム用コマンドです。コマンドの大部分が"AT"で始まるため、こう呼ばれています。

[Inosensor ES Devkit 用 ATコマンドファームウェア（IFS-M01-FIRM-AT）](https://www.inn-farm.co.jp/ifs-m01-firm-at/)が公開されたので、こちらを使って、ATコマンドを体験してみたいと思います！

# やっぱり、Windowsパソコンを用意！

今回もいつものWindowsパソコンで作業します。（ちなみに、[ASUSのキーボードひかるやつ](https://amzn.to/2VODz40)です。）

# Cube Programmerをインストール！

まずは、Tera Term（テラターム）をダウンロードしましょう。

[Tera Term](https://ja.osdn.net/projects/ttssh2/releases/)

![スクリーンショット 2021-02-28 23.33.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/9c28ade0-6a37-388f-dd45-635c8e88356e.png)

最新のexeファイルをダウンロードしてインストールします。

# ファームウェアをダウンロードしよう！

次に、[Inosensor ES Devkit 用ATコマンドファームウェア（IFS-M01-FIRM-AT）](https://www.inn-farm.co.jp/ifs-m01-firm-at/)をダウンロードしましょう。

必要事項を記入して、ボタンを押せばダウンロードできます。ダウンロードしたら、ファイルを展開してください。

![スクリーンショット 2021-03-16 23.10.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/b9a1d038-673b-e1f5-5156-7324f4353658.png)

IFS_M01_FIRM_AT.hexがファームウェアのファイルです。

# ファームウェアを書き込もう！

[Inosensor ES Devkit 用 ファームウェア（IFS-M01-FIRM）の書き込みに挑戦！](https://qiita.com/tonosamart/private/63e143554646fe7f7b40)を参考に、Cube Programmerを使ってファームウェアを書き込みましょう。

ちなみに、このファームウェアは、ボタンを押しても何も起きません・・・。とりあえず、ボタンを押してみて、LEDが点滅しなかったら次に進みましょう！

# ケーブルを用意しよう！

続いて、パソコンとInosensor ES Devkitを接続するケーブルを作成しましょう。

[ＦＴ２３４Ｘ　超小型ＵＳＢシリアル変換モジュール](https://akizukidenshi.com/catalog/g/gM-08461/)

USBシリアル変換モジュールは、はんだ付けが必要です。付属のピンを本体に取り付けます。

![DSC_1095.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/32842763-fb63-148b-ea90-102e4199dd0f.jpeg)

ちっちゃくてピントが合わない・・・。

あとは、ＦＴ２３４ＸとInosensor ES Devkitを接続するケーブルを購入しましょう。

[ブレッドボード・ジャンパー延長ワイヤ（メス－メス）　１５ｃｍ青　（１０本入）](https://akizukidenshi.com/catalog/g/gP-03476/)

ブレッドボード・ジャンパー延長ワイヤ（メス－メス）は、10本入りなので１個買えば十分・・・なのですが、ケーブルの色が同じだと混乱するので、自身のない人は３色購入してください。

| ＦＴ２３４Ｘ | CN5 |
|:-:|:-:|
| RxD（青） | PA2（青） |
| TxD（赤） | PA3（赤） |
| GND（黒） | GND（黒） |

上記のように繋げばOK！なのですが、１個ずつつなぐとすぐ外れるし混乱するので、両端をテープで止めるのがおすすめです。

![DSC_1097.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/64f96e32-dad3-167a-f9e2-f0fa3a75bb31.jpeg)

黒赤青　赤黒青　になるように、テープで止めましょう。

ちなみに、テープは[矢崎 車用ハーネステープ ナシジテープ 19mmX0.145mmX20m 黒 10巻](https://amzn.to/30PkDoo)がオススメです。手で切れるし、貼った後簡単にはがせます。その割に、剥がれにくいです。

あとは、間違えないようにケーブルを差し込めば完成です！

![DSC_1098.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/8ebf9da9-faad-46a9-8260-113161f45667.jpeg)

# ATコマンドを試してみよう！

パソコンにUSBケーブルを刺して、そのUSBケーブルをＦＴ２３４Ｘに刺して、FT234XとInosensor ES Devkitを上記で作ったケーブルでつないで、Inosensor ES Devkitに電池ボックスを指したら準備完了です！

この状態で、Tera Termを立ち上げてみてください。最初に起動した場合は、新しい接続のダイアログが表示されていると思います。もし、表示されていない場合は、真っ黒な画面になるので、まずは「ファイル」→「新しい接続」を選びます。

![スクリーンショット 2021-03-16 23.51.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/cb7794bf-52bd-d80e-137a-995b5c6cd551.png)

ここで、「シリアル」が選択できなかったら、ケーブルが間違っている可能性が高いです。差し込んだ方向を確認してください。

無事、「シリアル」が選択できたら、OKを押して接続します。

![スクリーンショット 2021-03-16 23.52.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/e8164f2d-923d-5443-8638-51a88f8b1bdc.png)

続いて、「設定」→「シリアルポート」を選びます。

![スクリーンショット 2021-03-16 23.53.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/93dd87a2-cb85-8af0-7a31-0a028a503d56.png)

スピードを「115200」に変更し、「現在の接続を再設定」を押します。

![スクリーンショット 2021-03-16 23.52.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/00b2203b-e8be-4bcc-484e-b2d52293ad26.png)

最後に、「設定」→「端末」を選びます。

![スクリーンショット 2021-03-16 23.52.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/9a86d5ab-f2e2-eacf-5a55-9253b97a75d1.png)

下記のように内容を変更してください。改行コード、ローカルエコーを設定しました。

![スクリーンショット 2021-03-17 11.53.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/0567486e-4b56-2bc6-70c8-50c6ba4fe156.png)

これで設定は完了！なのですが、次やったときにもとに戻っちゃうので設定を保存しましょう。

![スクリーンショット 2021-03-16 23.53.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/689bc944-b772-35e9-9e71-f22d9a58efef.png)

次回からは、今と同じ状態でTera Termが起動するはずです。

# ATコマンドを入力してみよう！

ようやく準備ができました！ ファームウェアのzipに同梱されていたマニュアルのPDFをみながら、ATコマンドを試してみましょう！

![スクリーンショット 2021-03-17 14.15.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/d315823c-b029-bcd8-f1e4-2e4e3091c552.png)

こんな感じで、コマンドを入力するとOKが帰ってきます。ちなみにsigfox通信中もLEDは光らないので注意してください。

---
### ATコマンドTIPS

・ 一度入力した文字は訂正できません（BSキーを押して修正しても、画面上は上手くいってるように見えても失敗します）

・ 設定の改行コードが間違っていると、OKになったりNGになったりするので注意！

・ ダウンリンクありの通信は、Sigfoxのバックログで、DownLink設定をDIRECTにする必要があります。

---

あと、他の記事にも書きましたが、ファームウェアを書き換えた場合、まれにシーケンス番号がずれてしまい、メッセージが届かなくなる時があります！。左側のEventにログが出ていると思いますので確認しましょう。

![スクリーンショット 2021-03-16 11.26.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/f7206547-57d4-5fec-7d3f-80d09ad3e127.png)

もし、「Invalid message sequence」などのログが出ている場合は・・・

![スクリーンショット 2021-03-16 11.27.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/56a15565-da40-28d5-3d22-953efdccdc36.png)

DEVICEの右上にある「Disengage sequence number」を押して、シーケンス番号をリセットしましょう！

# おしまい！

無事に、ATコマンドを使うことができました！ ちなみに、このファームウェアを使っている場合、コマンド待機時に低消費電力モードになりません。製品に組み込む際には、待機時に電源供給を遮断し、送信前に電源供給するなどの対応が必要だと思います。

## 参考リンク

### 購入情報

[Inosensor ES Devkit：販売ページ](https://www.robotma.com/webshop/products/detail/1)
[接点入力用ハーネス：販売ページ](https://www.robotma.com/webshop/products/detail/2)
[Inosensor ES Devkit & 接点入力用ハーネスセット：販売ページ](https://www.robotma.com/webshop/products/detail/3)

### 製品マニュアル

[Inosensor ES Devkit 製品マニュアル](https://qiita.com/tonosamart/items/d825fbcccaa153d2e5da)

### チュートリアル

##### 初級編

[Inosensor ES Devkitを使ってみた！ ①（購入〜Devkit登録編）](https://qiita.com/tonosamart/items/f3cbc3b8fbdc84c7ce33)
[Inosensor ES Devkitを使ってみた！ ②（付属品の取り付け編）](https://qiita.com/tonosamart/items/9af3fe28963411edb8e2)
[Inosensor ES Devkitを使ってみた！ ③（はじめてのSigfox通信編）](https://qiita.com/tonosamart/items/b79421a954bc63642f78)
[LPWAって本当にローパワーなの！？ Sigfox端末（Inosensor ES Devkit）が本当に低消費電力か測定してみた！](https://qiita.com/tonosamart/items/8c48f4669fd23bd43d2e)

##### 中級編

[Inosensor ES Devkitを使ってみた！ ④（Sigfox CallBacks入門編）](https://qiita.com/tonosamart/items/b5f20f30c445441522c4)
[Inosensor ES Devkitを使ってみた！ ⑤（接点入力用ハーネスを使ってみよう！）](https://qiita.com/tonosamart/items/342862211f38597f892d)
[Inosensor ES Devkitを使ってみた！ ⑥（位置情報活用編）](https://qiita.com/tonosamart/items/619770390fa8dd5c15b4)
[Inosensor ES Devkit にオムロンの振動センサ（転倒センサ）を接続してみた！](https://qiita.com/tonosamart/items/53a45948a2cc6e18ff38)

##### 上級編

[Inosensor ES Devkit 用SDK（IFS-M01 SDK）に挑戦！①（開発環境編）](https://qiita.com/tonosamart/items/8a7d86626959b959801d)
[Inosensor ES Devkit SDKに挑戦！②（ケーブル編）](https://qiita.com/tonosamart/private/ff1d06107c83d6a3b724)
[Inosensor ES Devkit 用 ファームウェア（IFS-M01-FIRM）の書き込みに挑戦！](https://qiita.com/tonosamart/items/63e143554646fe7f7b40)
[Inosensor ES Devkit 用 ATコマンドファームウェア（IFS-M01-FIRM-AT）を使ってATコマンドに挑戦！](https://qiita.com/tonosamart/items/27debeb1c6d40095cdcb)

### リンク集

[Inosensor ES Devkit 関連リンク集（随時更新）](https://qiita.com/tonosamart/items/64baaa0c666d4539448f)