ESP8266をWifiモデムとして使う

Espressif版AT-Firmwareの書き込み


最新(SDK Version2.1.0)の「ESP8266 AT Instruction Set」を見ていたら、以下のコマンドが追加されていました。
AT+CIPSNTPCFG
AT+CIPSNTPTIME?

どうもSNTP(Simple Network Time Protocol)による時刻問い合わせが使えるようです。
AI-Thinker版のAT-Firmware(v2.0)でこれらのコマンドを試してみましたがエラーとなります。
そこで、Espressif版の最新AT-Firmwareを書き込んでみることにしました。

Espressif版のAT-Firmwareのアップデートについては、こちらこ ちらで紹介されています。
前者のページは日本語ですがESP-WROOM-02のファームを書き換えています。
後者のページは英語ですがESP-01のファームを書き換えています。
そこで、両方を見比べながらESP-01のファームを書き換えました。

Espressif版のAT-Firmwareの書き換えは、以下で公開されているツールとファームウェアを使います。

Flash Download Tools
http://www.espressif.com/en/support/download/other-tools

Espressif版の最新AT-Firmware
http://www.espressif.com/en/support/download/at

使用したAT-Firmwareは「ESP8266 AT Bin V1.5.1 V2.1 2017.11.06」です。

Flash Download Toolsを起動すると以下のウィンドウが表示されますので、一番上の「ESP8266 DownloadTool」を選びます。


今回、ファームを書き換えるのは8Mbit(1MByte)のESP-01です。
そこで、次のウィンドウでは、AT-Firmwareのアーカイブの中にある「README.md」に従って以下のように設定します。
### Flash size 8Mbit: 512KB+512KB
    boot_v1.2+.bin              0x00000
    user1.1024.new.2.bin        0x01000
    esp_init_data_default.bin   0xfc000 (optional)
    blank.bin                   0x7e000 & 0xfe000

私はAT-FirmwareをCドライブ直下に置いています。
「README.md」はとっても深い場所にあるので注意してください。
C:\esp8266_at_bin_v1.5.1\ESP8266_AT_Bin_V1.5.1\bin\at\README.md

<参考>
「README.md」には16Mbit(2MByte)や32Mbit(4MByte)の設定も記載されていますので、
ESP-12/ESP-13/ESP-WROOM-02などのファームを書き換えるときはそちらの値を使ってください。
なお、こちらで紹介しているようにESP-WROOM-02に は16Mbit(2MByte)の物と、
32Mbit(4MByte)の物がありますので、事前に確認が必要です。
こ ちらこ ちらのページでもESP-WROOM-02のファームの更新方法が紹介されていますが、
どちらも32Mbit(4MByte)版を対象にした方法です。
</参考>



ESP-01を書き込みモードに変更し、STARTボタンを押すと、COMポートの設定が間違っていなければファームの書き込みが始まります。
ファームの書き込みに失敗するときはCOMポートを確認してください。


しばらくするとファームの書き込みが完了します。


ESP-01を実行モードに変更し、TeraTermでATコマンドを実行してみました。
AT versionが1.3.0.0→1.5.0.0、SDK versionが2.0.0→2.1.0に更新されています。


SNTPに関するコマンドを実行してみました。
AT

OK
AT+GMR
AT version:1.5.0.0(Oct 24 2017 12:03:18)
SDK version:2.1.0(ace2d95)
compile time:Oct 24 2017 15:48:02
Bin version(Wroom 02):1.5.1
OK
AT+CWMODE=1

OK
AT+CWJAP="aterm-e625c0-g","XXXXXXXXXX"
WIFI CONNECTED
WIFI GOT IP

OK
AT+CIPSNTPCFG=1,9

OK
AT+CIPSNTPTIME?
+CIPSNTPTIME:Fri Jan 19 23:10:49 2018

OK
AT+CIPSNTPTIME?
+CIPSNTPTIME:Fri Jan 19 23:10:53 2018

OK


時差9時間の日本時間が取れています。
スケッチの中で定期的に「AT+CIPSNTPTIME?」を発行するだけで、時刻を同期することができます。
なお、リセットを発行するとSNTPは無効に戻ります。
再度、CIPSNTPCFGでSNTPを有効にする必要があります。
AT+RST

OK
・      ニR(ワエシ?3 ハ
                  モ
ready
WIFI CONNECTED
WIFI GOT IP
AT+CIPSNTPCFG?
+CIPSNTPCFG:0


OK
AT+CIPSNTPCFG=1,9

OK
AT+CIPSNTPCFG?
+CIPSNTPCFG:1,9,"cn.ntp.org.cn","ntp.sjtu.edu.cn","us.pool.ntp.org"

OK
AT+CIPSNTPTIME?
+CIPSNTPTIME:Fri Jan 19 23:31:15 2018

OK

次回
はSNTP機能を利用したアナログ電波時計を紹介します。