Inosensor ES Devkit 用SDK（IFS-M01 SDK）に挑戦！①（開発環境編）

# 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)

今回からは、SDKに挑戦してみたいと思います！

# SDKを使ってみよう！

Inosensor ES Devkit 用 SDK（IFS-M01 SDK）を使うと、自分で作ったプログラムをInosensor ES Devkit に搭載することができます！早速、挑戦してみましょう！

[Inosensor ES Devkit 用 SDK（IFS-M01 SDK）ダウンロードページ](https://www.inn-farm.co.jp/ifs-m01-sdk/)

# まずは、Windowsパソコンを用意！

残念ながら、macでは開発できません・・・。ということなので、おとなしくWindowsパソコンを用意することに。

ちなみに、[ASUSのキーボードひかるやつ](https://amzn.to/2VODz40)にしました。

# Keilをインストール！

最初に、Armベースのマイクロコントローラ用のソフトウェア開発パッケージ「[Keil](https://www.arm.com/ja/products/development-tools/embedded-and-software/keil-mdk)（カイル）」をインストールします。本来は有料なのですが、STマイクロのホームページにある[KEIL向け無料ライセンス](https://www.stmcu.jp/technical/hint/no-058/)を利用することで、無料で使えるようになります！

まずは、ホームページにアクセスしましょう。

[Keil MDK](https://www.arm.com/ja/products/development-tools/embedded-and-software/keil-mdk)

![clip20201202123747.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/704881ef-9270-0b14-779c-20d75da71792.png)

「MDKを評価」というボタンがあるのでクリックします。

![スクリーンショット 2020-12-02 15.03.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/b7db3bb8-c0c1-e3d2-0657-9588cb464d83.png)

ダウンロードページに遷移しますので、左上の「MDK-Arm」を押します。

![clip20201202123846.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/c9d89d17-adb6-c13f-60bc-864cf0b3032b.png)

登録画面になるので、必要な情報を入力しましょう。

![スクリーンショット 2021-03-31 11.42.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/d427b8a6-d773-e506-ef97-da872fb8e08f.png)

ページが切り替わるので、「MDK533.EXE」をクリックします（執筆当時のバージョンです。EXEの数字は変わります）。

![clip20201202124000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/f85ca17b-e074-6fcd-520b-318a663aa30b.png)

ダウンロードしたファイル（MDK533.exe）を実行すると、インストーラーが起動します。画面の指示に従ってインストールしていきましょう。途中で、デバイスソフトウェアのインストール画面になるので、必ず「インストール」を選択してください（写真にあるように、デフォルトは「インストールしない」になっているので注意！）。

![clip20201202133852.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/2a5115b7-4e51-a847-e12e-7ad1e8335a16.png)

しばらくすると、インストールが完了します！

![clip20201202133904.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/07a2f678-de14-de1d-9be1-4dd892482e73.png)

ちなみに、この時点でもしかしたら、Pack Installerが起動しているかもしれません。その場合は閉じておいて下さい。

![clip20201202134115.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/37dd91b2-bea6-80b6-1a79-e5c63de2f8b6.png)

インストールが終わったら、次にライセンスを取得しましょう。


# KEIL向け無料ライセンスの取得

STマイクロのホームページにある[KEIL向け無料ライセンス](https://www.stmcu.jp/technical/hint/no-058/)のページを開きます。

![clip20201202134013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/408dc289-65a1-7479-06b9-da0779339188.png)

ライセンスのURLが書いてあるので、クリックしましょう。

![clip20201202134036.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/a154f7a6-23f9-e034-96c2-2083bd225e7a.png)

ページの下の方に、Product Serial Number（PSN）が赤字で書いてあります。コピペしてメモっておきましょう。

# 管理者モードでKeilを起動しよう！

スタートメニューからKeilを起動します。この時に、右ボタンメニューから「管理者で実行」を選んで起動してください。

![clip20201202135822.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/d3f68585-f059-14a2-4802-2f55be75a875.png)

Keilが起動したら、File→License Managementを選択します。

![clip20201202134202.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/18696186-e79d-460e-3782-666b73777cca.png)

画面が開くので、右上の「Get LIC via Internet」を押します。

![clip20201202135740.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/24ec4abb-6dec-6495-aecd-6429e8c2748f.png)

ホームページが開いて、ライセンスの登録画面になります。

![clip20201202134321.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/8055269f-0628-ede4-c385-c5912939d103.png)

Product Serial #(PSN）に、さっきコピペしておいた赤字をペーストします。その他の必須項目をすべて入力したら、Submitを押しましょう。

![clip20201202134415.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/2e76efae-f52c-5bed-b3eb-fa24cfe12654.png)

この画面になったら、登録完了です！ メールが来ているはずなので、確認しましょう。

```
PC Description       : XXXXXXXX
Computer ID     (CID): XXXXX-XXXXX

License ID Code (LIC): XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
```

あとは、「XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX」の部分をコピーして

![clip20201202135740.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/30c3b359-9e8f-e013-4ffb-31a3b0e3c24d.png)

New Licence ID Code(LIC):の横にある入力欄にペーストした後に、Add LICをおせば登録が完了します！

# ついでに日本語化！

ついでに、日本語化もしておきましょう。Edit→Configurationを押して、Config画面を出します。

![clip20201202135905.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/6ecb4563-a72e-7495-b0af-e5172364ac01.png)

Editorタブの左上のEncodingを、「Japanese Shift-JIS」に変更します。

![clip20201202135918.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/f3f23662-a6e3-d4e9-5bd7-15f918a8583d.png)

Otherタブの右上のLanguageを、「Japanese」に変更します。

![clip20201202140000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/26858333-55b0-1861-b8c7-c2ac9493d53a.png)

これで設定は終了！OKを押した後、Keilを終了させてください。

# ST-Linkのドライバをインストール

最後に、ST-Linkのドライバをインストールします。

[ST-LINK, ST-LINK/V2, ST-LINK/V2-1 USB driver signed for Windows7, Windows8, Windows10](https://www.st.com/content/st_com/ja/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html)

![clip20201202142050.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/c96049eb-ba93-0ae7-336f-e5b61ca77ecc.png)

ダウンロードには、ユーザー登録が必要です。登録するとダウンロードできるようになります。

![clip20201202142441.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/25044d4b-e0cc-c3c1-5c01-15bb430f86f1.png)

ダウンロードしたファイルを展開して、中にある「dpinst_amd64」を実行します。

![clip20201202142429.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/d7061bc6-bfb4-65de-a767-caa75582fb1f.png)

途中で、デバイスソフトウェアのインストール画面になるので、必ず「インストール」を選択してください（写真にあるように、デフォルトは「インストールしない」になっているので注意！）。

これで、インストールは完了！

# SDKをダウンロードしよう！

開発ツールの準備が終わったので、SDKをダウンロードしましょう。

[Inosensor ES Devkit 用 SDK（IFS-M01 SDK）ダウンロードページ](https://www.inn-farm.co.jp/ifs-m01-sdk/)

必要事項を記入して、ボタンを押せばSDKがダウンロードできます。

![スクリーンショット 2021-01-28 10.20.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/a8421317-5906-e389-6636-933f5ad7dae9.png)

ダウンロードが終わったら、ファイルを任意の場所に展開してください。この時**フォルダの階層が深かったり、日本語のフォルダ名が含まれている**とこれ以降の作業がうま行く行かない場合があります。可能であれば**Cドライブの直下等に展開した方が無難**です。

そのあと、
ifs-m01-sdk_v2.5 → Projects → Projects_Cube → SigFox_Applications → ES-Firm → MDK-ARM の順にフォルダを移動して、緑色のアイコンをクリックすると、KEILが起動します。

![スクリーンショット 2021-01-28 10.25.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/fa1f5f01-eaa9-983a-baa6-383aafc9b207.png)

初回は、Pack Installerが起動するかもしれません。その場合は、指示に従って不足しているパッケージをインストールしてください。

![clip20201202141631.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/a49a7dbd-26fa-69a8-0409-b79cc510f58e.png)

インストールが終わったら、Pack Installerは閉じてください。

※以降の作業でもたまにPack Installerが起動するかもしれません。その場合も、上記のようにInstall作業を行ってください。

# これでソフトの準備はOK!

これで、ソフトウェアの準備はおしまいです。左側のツリーのSourceの中にある main.c がメインプログラムなので、眺めてみるといいでしょう。

![スクリーンショット 2021-01-28 23.59.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/3bced5bd-4260-05a1-89e2-bc92a8983119.png)

基本的には、このmain.cを改造して、オリジナルのソフトウェアを作成することになります。ちなみに、このプログラムは、製品購入時と同じ動作をするプログラムになっています。

# おしまい！

長くなってきたので、今回はここまで！次回は、パソコンにInosensor ES Devkitをつなげて、プログラムを転送してみたいと思います！わーわー。

## 参考リンク

### 購入情報

[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)