ファームウェアの更新とフラッシュ
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
ネイティブファームウェアのフラッシュ方法
SenseCAP インジケーターには、ESP32-S3 と RP2040 の 2 つの MCU が搭載されています。このチュートリアルでは、開発者がスムーズに作業を開始できるよう、工場出荷時のネイティブファームウェアのフラッシュや、初期出荷デバイスを最新のファームウェアに更新する方法を包括的に説明します。
ファームウェアの更新は、特に以下の 2 つのシナリオに適用されます:
- 2023 年 6 月以前に OpenAI ファームウェアが含まれていない製品を購入し、ファームウェアバージョンが
1.0.0
の場合、OpenAI 機能を含む最新のファームウェアをダウンロードして更新できます。最新のファームウェアはこちらからダウンロードできます。 - アプリケーションを開発し、カスタムファームウェアをフラッシュしたい場合は、以下のチュートリアルに従ってください。
簡単に言えば、このチュートリアルが必要な理由は以下の通りです:
- ESP32-S3 または RP2040 にフラッシュする必要があるファームウェアを持っている。
- コードを変更し、それをコンパイルしてデバイスにフラッシュする必要がある。
それでは、このチュートリアルを始めましょう。
準備
作業を始めるには、SenseCAP インジケーターと Windows/Mac/Linux コンピューターが必要です。

ネイティブファームウェアの取得
SenseCAP インジケーターの出荷時のデフォルトファームウェアは、ESP32-S3 と RP2040 の両方で完全にオープンソースです。
- ソースコード: フラッシュする前に、必要に応じてコードを変更することができます。この場合、コンパイルするためにツールチェーン(ESP-IDF、Arduino)が必要です。
- ファームウェア: コードの変更やコンパイルを行わずに、事前にコンパイルされたバイナリファイルを直接フラッシュできます。Esptool や Flash Download Tools などのツールを使用します。
ソースコード
ファームウェア
ESP32-S3 の場合
ESP-IDF
ESP-IDF(Espressif IoT Development Framework)は、Espressif Systems が提供するソフトウェア開発フレームワークで、ESP32 および ESP8266 シリーズのマイクロコントローラー向けにファームウェアやアプリケーションを設計するためのものです。詳細については、ESP-IDF プログラミングガイドを参照してください。
ソースコードをファームウェアにコンパイルする場合、ESP-IDF が必要です。
ESP-IDF のバージョンは v5.0 以上である必要があります。古いバージョンを使用している場合は、最新バージョンに更新する必要があります。
初心者の方には、以下の動画が手順を理解するのに役立つかもしれません:
ツールチェーンのインストール
- Windows
- Linux と MacOS
公式 Espressif ドキュメント:Windows 用ツールチェーンの標準セットアップ
オプション 1: オフラインインストーラーを使用
Windows ユーザーは、ESP-IDF オフラインインストーラーを直接ダウンロードすることができます。以下のリンクから直接ダウンロードできます:🖱️オフラインインストーラー v5.1.1 をダウンロード
オプション 2: 推奨スクリプトを使用
コマンドプロンプトを使用する方法に移動してください。
公式 Espressif ドキュメント:Linux と macOS 用ツールチェーンの標準セットアップ
Linux または MacOS を使用している場合、以下のガイドに従って git リポジトリのバージョンを変更できます。
git clone --recursive https://github.com/espressif/esp-idf.git
esp-idf ディレクトリに移動:
./install.sh esp32s3
を実行して ESP32-S3 サポートを追加します(SenseCAP インジケーターに必要)。./export.sh
を入力して、現在のターミナルセッションで PATH と IDF_PATH 変数を設定します。
任意のシェルセッションで呼び出したい場合は、以下の行をシェル構成ファイル(例:~/.bash_profile)に追加できます:
alias get_idf='. $HOME/esp/esp-idf/export.sh'
その後、get_idf
を使用して環境をアクティブ化できます。^参照
プロジェクトのビルドとフラッシュ
ソースコードをファームウェアにコンパイルする場合、ESP-IDF が必要です。
プロジェクトをビルド、フラッシュ、モニタリングするには、以下のコマンドを実行してください:
cd <your_sdk_path>/examples/indicator_basis/
idf.py -p PORT build flash monitor
PORT
を指定しない場合、IDFは自動的に利用可能なポートを選択します。

ここまでで、コマンド idf.py -p PORT flash
を入力することで、ファームウェアがESP32-S3に正常にフラッシュされました。
Esptool
ESPtool - GitHub は、EspressifチップのROMブートローダーと通信するためのプラットフォーム非依存の方法を提供する、Pythonベースのオープンソースユーティリティです。
EsptoolはPythonスクリプトの一部として使用できます。このガイドでは、Esptoolリリースページで利用可能なパッケージ化されたソフトウェア
を使用します。お使いのコンピュータのオペレーティングシステムに対応するソフトウェアを選択してください。
Esptoolを使用したフラッシュ
Esptoolを使用してESP32-S3マイクロコントローラーにファームウェアをフラッシュする方法を示す2つのスクリプトが提供されています。
提供されているスクリプトはWindowsオペレーティングシステム向けに調整されています。他のオペレーティングシステムを使用している場合は、スクリプトを環境に合わせて調整する必要があります。
merge.bat
スクリプトは特に便利で、ブートローダー、パーティションテーブル、およびインジケーターベーシスバイナリを1つのファームウェアファイルに統合します。統合後、このファームウェアはflash.bat
スクリプトを使用してESP32-S3にシームレスにフラッシュできます。プロンプトが表示されたら、デバイスに対応するCOMポートを入力し、フラッシュプロセスを開始します。操作全体は以下のように要約されます:
esptool.exe --chip esp32s3 ^
merge_bin -o sensecap_indicator_basis_v1.0.0.bin ^ # ターゲットファイル名
--flash_mode dio ^
--flash_size 8MB ^
0x0 ../../build/bootloader/bootloader.bin ^
0x8000 ../../build/partition_table/partition-table.bin ^
0x10000 ../../build/indicator_basis.bin
また、ファイルを統合せずに個別のバイナリファイルを直接フラッシュしたい場合は、just_flash.bat
スクリプトを使用できます:
esptool.exe --chip esp32s3 --port COMx --baud 921600 write_flash -z ^
0x0 ../../build/bootloader/bootloader.bin ^
0x8000 ../../build/partition_table/partition-table.bin ^
0x10000 ../../build/indicator_basis.bin
統合されたファームウェアを使用して簡単にフラッシュする場合:
esptool.exe --chip esp32s3 --port COMx --baud 921600 write_flash -z 0x0 indicator_basis_v1.0.0.bin
特にバイナリを統合しない場合、開始アドレス(0x0)に注意してください。個別のバイナリファイルについては、個別バイナリファイルのフラッシュダウンロードツールの指示を参照してください。これらのガイドラインに従うことで、エラーのないフラッシュが可能になります。
これらのスクリプトを使用するには、コードをそれぞれmerge.bat
およびflash.bat
という名前のテキストファイルとしてプロジェクトフォルダ内に保存してください。この方法により、アクセスと使用が簡単になります。
これらのスクリプトを使用することで、ファームウェアの準備とフラッシュの両方の段階が効率化され、スムーズで信頼性の高いプロセスが実現します。
├── indicator_basis
│ ├── CMakeLists.txt
│ ├── build
│ ├── docs
│ ├── main
│ ├── partitions.csv
│ ├── sdkconfig
│ └── .defaults
│ └── flash.bat
│ └── merge.bat
merge.bat
を使用してバイナリを統合します。flash.bat
を使用して統合されたファームウェアをフラッシュします。
ファームウェアのフラッシュ
ファームウェアをフラッシュするには、提供されているflash.bat
スクリプトを使用できます。このスクリプトは、ESP32-S3マイクロコントローラーにファームウェアをフラッシュするプロセスを簡素化するよう設計されています。
flash.batコードを表示
バイナリの統合
提供されているmerge.bat
スクリプトを使用して、必要なバイナリファイルを1つのファームウェアファイルに統合できます。このスクリプトはプロセスを簡素化し、正確な統合を保証することで、成功したフラッシュを可能にします。これにより、個別ファイルのフラッシュを行わずに単一のbinファイルをフラッシュできます。
merge.batコードを表示
Flash Download Tools (Windows のみ)
Flash Download Tools は、ESP8266 および ESP32 シリーズのマイクロコントローラーにファームウェアをプログラミングまたはフラッシュするために使用されます。これらのツールは、ESP マイクロコントローラーにファームウェアを簡単にフラッシュできるグラフィカルユーザーインターフェース (GUI) を提供します。
以下の手順に従って、事前にコンパイルされたファームウェアをフラッシュしてください:
ダウンロード: Flash Download Tools (Windows のみ)

ステップ 1:
.exe
ファイルを ダブルクリック して、ツールのメインインターフェースに入ります。ステップ 2: 以下のオプションを選択します:
オプション | パラメータ |
---|---|
Chip Type | ESP32-S3 |
WorkMode | Develop |
LoadMode | UART |

ステップ 3: USB Type-C ケーブルを使用して SenseCAP インジケーターをノートパソコンに接続します。
ステップ 4: SPI Download タブで「...」をクリックし、ダウンロードしたファームウェアを選択します。
ステップ 5: SPI フラッシュを設定します:
オプション | パラメータ |
---|---|
SPI SPEED | 40MHz |
SPI MODE | DIO |
- ステップ 6: ダウンロードパネルを設定します:

- COM: デバイスマネージャーでポートを確認し、USB-SERIAL が正しいものです。
(
ここでは COM4 を選択
) - Baud: 921600(推奨値)
その後、START
をクリックしてフラッシュを開始します。

FINISH
と表示されたら、ファームウェアのフラッシュが完了です。

個別のバイナリファイル用の Flash Download Tools
前述のガイドでは、バイナリファイル "Default_Factory_Firmware_ESP32-S3.bin" は 3 つのバイナリを 1 つに統合しています。
しかし、ESP-IDF を使用してファームウェアをビルドする場合、単一ファイルを直接フラッシュするとエラーが発生する可能性があります。その代わりに、ビルドした 3 つの個別のバイナリファイル を見つけて、以下のように正しいアドレスを指定する必要があります(独自のアドレスを使用することも可能です):
- bootloader.bin ----> 0x0
- partion-table.bin ----> 0x6800
- termial_demo.bin ----> 0x10000

RP2040向け
Arduino IDEを使用したフラッシュ
RP2040開発ツールは、Arduinoを活用してコーディング体験を向上させます。
Arduino IDEは、Arduinoボード用の無料のソフトウェアです。使いやすいインターフェースを備えており、コードの記述とアップロードが簡単に行えます。C++の簡易版に基づいており、ライブラリや例が豊富で、初心者にも最適です。
ダウンロード手順:
ステップ 1: Arduino IDEをインストールします。
ステップ 2: Raspberry Pi Picoボードを追加します。
Arduino IDEを開き、Arduino IDE > Preferencesをクリックし、以下のURLをAdditional Boards Manager URLsにコピーします:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
![]() | ![]() |
Tools > Board > Board Managerをクリックします。

「indicator」と検索し、Boards Managerで「Raspberry Pi Pico/RP2040」をインストールします。

- ステップ 3: ライブラリを追加します。
- Sensirion Core: Sensirion Arduino Core library
- PacketSerial : シリアル通信プロトコル
- Sensirion I2C SGP40 : SGP40 TVOCセンサーライブラリ
- Sensirion I2C SCD4x : SCD41 CO2センサーライブラリ
- Sensirion Gas Index Algorithm : ガスインデックスアルゴリズムライブラリ
- Seeed_Arduino_AHT20 : AHT20温湿度センサーライブラリ
Arduino IDE内でLibrary Manager
を使用して検索し、例えばSeeed_Arduino_AHT20
をインストールします。
オフラインインストールのプレビューをクリック
オフラインでインストールするには、GitHubからリポジトリのZIPファイルをダウンロードし、Sketch -> Include Library -> Add .ZIP Libraryを選択して、ダウンロードしたライブラリを選択します。

ステップ 4: 提供されたUSB Type-Cケーブルを使用してデバイスをPCに接続します。
ステップ 5: ボードとポートを選択します。
「Indicator」と検索し、Seeed INDICATOR RP2040
ボードを選択し、usbmodem
シリアルポートを選択します。
![]() | ![]() |
- ステップ 6: サンプルコードファイルを開きます。
File -> Openを選択し、サンプルコードファイル(.inoファイル)を選択します。
サンプルコードファイルを提供していますので、必要に応じてコードを変更できます。

- ステップ 7: ファイルを検証してアップロードします。
これで、RP2040にファームウェアの構築とフラッシュ(ダウンロード)が完了しました。
.uf2ファイルをフラッシュする
- ステップ 1: デバイスをPCに接続します。
針を使用して内部ボタンを長押しし、その後、提供されたUSB Type-CケーブルでデバイスをPCに接続し、接続後にボタンを離します。

- ステップ 2: ファームウェアのフラッシュ
接続が成功すると、PCにディスクが表示されます。

.uf2ファイルをディスクにコピーすると、ディスクが自動的にログアウトします。

アップグレードは自動的に実行されます。
ESP32 & RP2040 通信プロトコル
ESP32 と RP2040 はシリアルポート通信を使用し、cobs 通信プロトコルを採用しています。デモで使用されるコマンドの一覧は以下の通りです。
コマンド形式は、パケットタイプとパケットパラメータで構成されています。

リソース
SenseCAP Indicator RP2040 Demo
FAQ
シリアルポートをどのように区別しますか?
- Windows
- MacOS


最近の更新
- 2023-11-17
- パッチセクションを削除
- 2023-08-25
- パッチセクションをより明確化
- 2023-07-25
- Esptool を使用したファームウェアのフラッシュに関する内容を追加
- 2023-05-29
- パッチセクションを追加
技術サポート
SenseCAP Indicator に関するサポートが必要ですか?私たちがサポートします!