社会福祉 × キャリアデザイン (CD) × ICT (情報通信技術)スキルの強みを、社会資源化していくオッサンの blog

[IoT] ESP8266 / esptool.py で初期状態の確認をしてみた。

[IoT] ESP8266 / esptool.py で初期状態の確認をしてみた。

 技適警察のことはさておき、ESP8266 が格段に安く入手できる時代になりましたね。肝心の ESP8266 初期状態を確認するために、Python ESP ツールを Mac, Linux で使うととても便利です。OTA 時にも便利なユーティリティです。

esptool.py 導入

詳しい説明はこちらにあります。
https://github.com/espressif/esptool

pip 経由で pypi (ピプ経由でパイパイ)を使うだけで簡単導入。
$ pip install esptool

esptool.py の使い方

esptool.py -h

usage: esptool [-h] [--chip {auto,esp8266,esp32}] [--port PORT] [--baud BAUD] [--before {default_reset,no_reset,no_reset_no_sync}] [--after {hard_reset,soft_reset,no_reset}] [--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]] {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version} ...
esptool.py v2.7 - ESP8266 ROM Bootloader Utility
positional arguments: {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version} Run esptool {command} -h for additional help load_ram Download an image to RAM and execute dump_mem Dump arbitrary memory to disk read_mem Read arbitrary memory location write_mem Read-modify-write to arbitrary memory location write_flash Write a binary blob to flash run Run application code in flash image_info Dump headers from an application image make_image Create an application image from binary files elf2image Create an application image from ELF file read_mac Read MAC address from OTP ROM chip_id Read Chip ID from OTP ROM flash_id Read SPI flash manufacturer and device ID read_flash_status Read SPI flash status register write_flash_status Write SPI flash status register read_flash Read SPI flash content verify_flash Verify a binary blob against flash erase_flash Perform Chip Erase on SPI flash erase_region Erase a region of the flash version Print esptool version
optional arguments: -h, --help show this help message and exit --chip {auto,esp8266,esp32}, -c {auto,esp8266,esp32} Target chip type --port PORT, -p PORT Serial port device --baud BAUD, -b BAUD Serial port baud rate used when flashing/reading --before {default_reset,no_reset,no_reset_no_sync} What to do before connecting to the chip --after {hard_reset,soft_reset,no_reset}, -a {hard_reset,soft_reset,no_reset} What to do after esptool.py is finished --no-stub Disable launching the flasher stub, only talk to ROM bootloader. Some features will not be available. --trace, -t Enable trace-level output of esptool.py interactions. --override-vddsdio [{1.8V,1.9V,OFF}] Override ESP32 VDDSDIO internal voltage regulator (use with care)

MAC アドレス参照例

$ esptool.py read_mac
esptool.py v2.7
Found 2 serial ports
Serial port /dev/cu.SLAB_USBtoUART
Connecting........_
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: xx:xx:xx:cd:fd:ce ⇦ 実際には xx ではなく製造者コードが表示されます。
Uploading stub...
Running stub...
Stub running...
MAC: xx:xx:xx:cd:fd:ce ⇦ 実際には xx ではなく製造者コードが表示されます。
Hard resetting via RTS pin...
$ 

SPI Flash ID 参照例

$ esptool.py flash_id
esptool.py v2.7
Found 2 serial ports
Serial port /dev/cu.SLAB_USBtoUART
Connecting........_
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: xx:xx:xx:cd:fd:ce ⇦ 実際には xx ではなく製造者コードが表示されます。
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...
$ 

Arduino IDE でボード設定も確認

Arduino IDE でボード設定も確認することで、esptool.py の有効性が分かると思います。いちいち IDE 経由としなくてもコンソールで判明。

時々 OTA 前に忘れそうな Flash size は別途確認を。

flash_size argNumber of OTA slotsOTA Slot SizeNon-OTA Space
256KB1 (no OTA)256KBN/A
512KB1 (no OTA)512KBN/A
1MB2512KB0KB
2MB2512KB1024KB
4MB2512KB3072KB
2MB-c121024KB0KB
4MB-c121024KB2048KB
8MB [^]21024KB6144KB
16MB [^]21024KB14336KB

ご覧いただき有難うございます。

以上

ESP8266カテゴリの最新記事