Inosensor ES Devkit 用 ファームウェア（IFS-M01-FIRM）の書き込みに挑戦！

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

今回は、ファームウェアの書き込みに挑戦してみたいと思います！

# ファームウェアって？

ファームウェアとは、ハードウェアを制御するためのソフトウェアのことです。機械に搭載されているROM等にプログラムを書き込んで利用する場合が多いです。

[Inosensor ES Devkit 用 SDK（IFS-M01 SDK）](https://www.inn-farm.co.jp/ifs-m01-sdk/)を使うと、自分で作ったプログラムをInosensor ES Devkit に搭載することができますが、今回は新たに[Inosensor ES Devkit 用 ファームウェア（IFS-M01-FIRM）](https://www.inn-farm.co.jp/ifs-m01-firm/)が公開されたので、こちらを実機に書き込んでみたいと思います！

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

今回はもしかしたら、macでできそう！？ なのですが、前回購入したWindowsパソコンをで引き続き作業します。（ちなみに、[ASUSのキーボードひかるやつ](https://amzn.to/2VODz40)です。

# Cube Programmerをインストール！

最初に、[STM32 Cube Programmer](https://www.stmcu.jp/design/sw_dev/pc_soft/58442/)をインストールします。

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

[STM32 Cube Programmer](https://www.stmcu.jp/design/sw_dev/pc_soft/58442/)

![スクリーンショット 2021-03-16 1.52.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/085da0cc-4d88-26e9-9e2c-5ad80ec33ca0.png)

「ファイルのダウンロード」をクリックします。

![スクリーンショット 2021-03-16 1.52.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/39996b2a-ab27-da80-6926-fc87e0750877.png)

ちなみに、ダウンロードにはログインが必要です。会員登録してない方は、会員になりましょう。

ファイルをダウンロードしたら、展開してください。ダウンロードしたファイルの中に、各OSのソフトが全部入っています。おどろきです。

![スクリーンショット 2021-02-28 23.47.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/30f923c7-7c04-e588-6329-370ee7795dbe.png)

今回は、Windowsマシンを使っていますので、win64と書いてあるやつを展開しましょう。

![スクリーンショット 2021-02-28 23.48.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/ce5cc1ac-c500-cf37-8a3a-24be3713da6f.png)

インストーラーが出てくるので、クリックしてください。

![スクリーンショット 2021-02-28 23.48.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/0d60e915-3aa6-2989-a4bc-0f96610aad2e.png)

最初にダイアログが表示されます。詳細情報をクリックしましょう。

![スクリーンショット 2021-02-28 23.48.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/42612009-e1a0-2784-69dd-3b4ab35841ba.png)

ボタンが出てくるので、「実行」で先に進めます。

![スクリーンショット 2021-02-28 23.49.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/5ef1ee0a-b719-58bb-625f-e8251d3ffa50.png)

あとは、画面の指示に従って、インストールしてください。

![スクリーンショット 2021-02-28 23.50.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/357c73bc-862b-a7d1-8ba8-6225e0484179.png)

デスクトップにアイコンが追加されれば完了！

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

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

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

![スクリーンショット 2021-03-16 2.25.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/3441daef-6b75-c3d7-a52a-0df85bf240af.png)

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

# パソコンにInosensor ES Devkitをつなげよう！

[Inosensor ES Devkit 用SDK（IFS-M01 SDK）に挑戦！②（ケーブル編）](https://qiita.com/tonosamart/items/ff1d06107c83d6a3b724)を参考に、ST-LINK/V2をUSBケーブルでパソコンにつなげて、電池ボックスをつなぎましょう。

# Cube Programmerを起動しよう！

デスクトップのアイコンからCube Programmerを起動しましょう。

![スクリーンショット 2021-03-16 2.14.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/2bec5771-77e7-2b05-35d2-82da70d95ab6.png)

Reset Modeを、「Hardware reset」にして、Connectボタンを押します。

![スクリーンショット 2021-03-16 2.15.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/53c23682-0185-d73e-bd1a-ff87646d4bfd.png)

接続されたら、左上にあるアイコンを押します。

![スクリーンショット 2021-03-16 2.15.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/451e7efe-b696-36bf-ffac-9f7e68dcdc1b.png)

「Browse」ボタンを押して、先程展開した「IFS_M01_FIRM.hex」を選びます。

![スクリーンショット 2021-03-16 11.19.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/0f9758e8-0a57-839f-4f36-46dadb74a073.png)

あとは、「Start Programing」ボタンを押すだけ！

![スクリーンショット 2021-03-16 11.20.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/01c5a473-6b08-220c-6f67-a307d51764cf.png)

コレで完了！

![スクリーンショット 2021-03-16 11.21.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/e7910f67-ed7a-fdbc-4ecb-cf9536d94c72.png)

最後に、右上の「Disconnect」ボタンを押しましょう！接続が切断されたら、本体からケーブルを外してください。このとき、**電池ボックスを外して付け直す**必要があります。一度本体の電源を切らないとこの先の動作が不安定になる場合がありますので、必ず実行しましょう。

# テストしてみよう！

これで、Inosensor ES Devkit 用 ファームウェア（IFS-M01-FIRM）の書き込みは完成です！

実際にテストしてみましょう。

ファームウェアを書き換えた場合、まれにシーケンス番号がずれてしまい、メッセージが届かなくなる時があります！。左側の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」を押して、シーケンス番号をリセットしましょう！

# おしまい！

無事に、ファームウェアの書き込みができるようになりました！

## 参考リンク

### 購入情報

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