最終修正日:2020/5/27
手元にあったESP32のモジュールは、スイッチサイエンス殿が、Espressif Systems社製ESP-WROOM-02が技適が通ったタイミングでピッチ変換基板に起こしたモノです。
本来ESPが持つIOは使わず、WiFiの機能だけ使う事になります。ESP自体に2MBのフラッシュが搭載されているとのことなので、WebPageの内容や.jsの内容を保存しておきたいところですが、これから使い方を理解してゆくことになります。シリアル接続で‘AT’コマンドで緒設定を行わないといけないことだけは判ったのですが、その先は、一つ一つ勉強しながらの作業となります。
UNOを対象としているサンプルスケッチをSTM32F1に読み替えて、まずはシンプルなWebServer構築を検討します。その次に、WebClientとしてのコードを探してWiFiの電波強度計測が出来るようにしたいと考えています。まず開発環境の整備が必要です。まずはスイッチサイエンスの提供する情報に従うことにしました。ただし、ESP-WROOM-02には初期ファームが書かれているとのことです。何が出来るのか判りませんが、まずは初期ファームでの動作確認として、次の段階としてESP-WROOM-02のファームを書き換える事を検討します。
初期ファームのまま使ってみるスイッチサイエンス社のサイトでは初期ファームがどんな仕様なのか、https://www.switch-science.com/catalog/2341/ を見ても判断出来ませんでした。ただ、この商品を使った記事は幾つかヒットしますので、それらの情報を纏めてみました。
- https://nn-hokuson.hatenablog.com/entry/2017/04/09/091148 の情報では、ESP-WROOM-02は初期状態でボーレート=115200bpsとのことです。
しかし結局理解できませんでした。- ただ、電源は供給しているため電波はどうなっているのか確認したところ、『ESP_96D555』というSSIDを確認し、ログオン出来ました。と云う事はサーバが立ち上がっているのかと思った次第です。
![]()
- メーカ提供のDataSheetを
https://www.espressif.com/sites/default/files/documentation/0c-esp-wroom-02_datasheet_en.pdf
を見ました。ESP-WROOM-02はESP8266系となりWi-fi(2.4G)のみのサポートです。BlueToothには対応しません。
技適を取得したものがESP-WROOM-02のようです。
ちなみにESP32系はWi-fi(2.4G)+BlueToothとなるようです。
この区別についてはhttps://lang-ship.com/blog/work/esp32-esp8266/を参照しました。- 初期状態で結局何が出来るのか判りません。さっさと諦めてESP-WROOM-02単体から開発を始めるべきかと思います
- 一度ArduinoIDEから書込を試みてしまうとメーカが提供するATコマンドが使えなくなります。実際にそうなってしまいました。
元に戻したくなった場合の対策は事前に調査しておく必要があります。
この点、作業手順を公開されている方も見えます。ここでは自分のための備忘録として記録に残しておきます。
※とはいうものの書込に成功していません。結構癖がありますね。
- 用意するモノは2点
- 初期ファーム 2020年5月29日現在最新版はV3.0.3です。https://github.com/espressif/ESP8266_NONOS_SDK/archive/v3.0.3.zip
ただし、1024のマップファイルはこのバージョンでは提供されていないようです。- ダウンロードツール 2020年5月29日現在最新版はV3.8.5です。https://www.espressif.com/en/support/download/other-tools
- 手順
- ESP8266_NONOS_SDK.zip を解凍し、以下の4ファイルを用意します。
- blank.bin
- esp_init_data_default.bin
- boot_v1.6.bin
- user1.1024.new.2.bin
- Flash Download Tools を起動します。
- ESP8266 DownloadToolを選択します。
- SPIDownloadタブを選択し、ファイル選択とアドレス指定を行います。
Downloading AT Firmware into the Flash を参考にします。
ターゲットチップによって異なります。
ESP-WROOM-02の場合を示しています。 16 Mbit Flash, Map: 512 KB + 512 KB
ファイル名 アドレス 説明 @ blank.bin 0x1FB000 Initializes RF_CAL parameter area A esp_init_data_default.bin 0x1FC000 Stores default RF parameter values, has to be downloaded
into flash at least once.
If the RF_CAL parameter area is initialized, this bin has
to be downloaded too.B blank.bin 0xFE000 Initializes Flash user parameter area, more details in Appendix. C blank.bin 0x1FE000 Initializes Flash system parameter area, more details in Appendix. D boot_v1.6.bin 0x00000 In /bin/at. E user1.1024.new.2.bin 0x01000 In /bin/at/512+512. - CrystalFreq: 26M
SPI SPEED: 40Mhz
SPI MODE: QIO
FLASH SIZE: 32Mbit-C1
COM: [各自変更]
BAUD: 230400- 『START』ボタンを押します。完了すれば『IDLE』表示が『FINISH』表示に代わります。
- 確認の為にシリアル接続可能なツールを用意し、『AT』と打ち込んで『OK』が返る事を確認します。
ESP-WROOM-02開発ボードをArduino IDEで開発する方法
によると、
- Settingタブ内のAdditional Boards Manager URLsに次のURLを入力して、Arduino IDEにESP8266ボードを追加します。
https://arduino.esp8266.com/stable/package_esp8266com_index.json
2020.5.28現在のArduinoIDE最新バージョンは1.8.12です。
START![]()
- ツール>ボード>ボードマネージャーを選択してesp8266環境をインストールします。
2020.5.28の時点での最新版は2.7.1でした。
![]()
- ArduinoIDEを再起動するとツール>ボードリストに追加したESP8266 Module群がリストアップされているはずです。
Generic ESP8266 Module を選択します。また、設定ですが、スイッチサイエンス殿は以下を推奨しています。
@ Flash Mode QIO A Flash Frequency 40MHz B Upload Using Serial C CPU Frequency 80MHz D Flash Size 2M(1M SPIFFS) E Reset Method nodemcu F Upload Speed 115200 G シリアルポート 実機に合わせて
しかし、1.8.12ではパラメータが異なるようです。自分は以下のように調整しました。表現の違いが大きいです。
@ ボード: Generic ESP8266 Module A Upload Speed 115200 B CPU Frequency 80MHz C Flash Size 2M(FS1M) D Flash Mode QIO(fast) E Flash Frequency 40MHz F Reset Method dtr(aka nodemcu) G シリアルポート 実機に合わせて - これで実際にUSB-シリアル変換ボード経由でプログラムを書き込む事が出来るはずです。
普通なら『Lチカ』のコードを書き込んで動作確認するのですが困りました。手元のESP-WROOM-02モジュールは電源LEDやチェック用LEDが搭載されていないのです。正直なところ、このボードはこの時点で問題有りだったんですね。
他にもピッチ変換されたESP-WROOM-02モジュールはたくさんあります。秋月製もありましたが、やはり確認用LEDは搭載されていないようです。
サンプルスケッチを一つ一つ見通して、適当なサンプルスケッチを選んでみました。
このコードを実行するに当たり追加が必要なライブラリは、
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
商標・登録商標
Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。