На сайте Electrondragon можно скачать программное обеспечение для модулей ESP8266 и ESP32.
Приводим содержание файла reedme.MD с этого сайта:
## Demo code
## Flash tool
* ESP Download tool 3.6.5
## Firmware
* AT firmware standard
* nodemcu backup bootloader default firmware
## Other APP firmware
* esp relay board v 1.2
* esp light
* esp radio, esp easy, etc
Ниже, дерево каталогов архива программ с этого сайта:
/esp_firmware-master$ tree
.
├── demo-code
│ ├── Arduino demo
│ │ ├── Blink
│ │ │ └── Blink.ino
│ │ └── esp8266_arduino_cmd
│ │ └── esp8266_arduino_cmd.ino
│ ├── esp8266_arduino_TCP
│ │ └── esp8266_arduino_TCP.ino
│ └── Nodemcu demo
│ ├── init.lua
│ ├── LEDBlink.lua
│ └── mqtt2.lua
├── downloader
│ ├── flash_download_tools_v3.6.5_0
│ │ └── flash_download_tools_v3.6.5
│ │ └── flash_download_tools_v3.6.5
│ │ ├── combine
│ │ ├── configure
│ │ │ ├── esp32
│ │ │ │ ├── hspi_download.conf
│ │ │ │ ├── multi_download.conf
│ │ │ │ ├── security.conf
│ │ │ │ ├── spi_download.conf
│ │ │ │ └── utility.conf
│ │ │ ├── esp8266
│ │ │ │ ├── hspi_download.conf
│ │ │ │ ├── multi_download.conf
│ │ │ │ ├── spi_download.conf
│ │ │ │ └── utility.conf
│ │ │ └── esp8285
│ │ │ ├── hspi_download.conf
│ │ │ ├── multi_download.conf
│ │ │ ├── spi_download.conf
│ │ │ └── utility.conf
│ │ ├── dl_temp
│ │ │ ├── bin_tmp
│ │ │ │ └── downloadPanel1
│ │ │ │ └── ESP_Easy_mega-20191208_normal_ESP8285_1M.bin_rep
│ │ │ └── _temp_by_dltool
│ │ │ └── downloadPanel1
│ │ │ └── ESP_Easy_mega-20191208_normal_ESP8285_1M.bin_rep
│ │ ├── flash_download_tools_v3.6.5.exe
│ │ ├── init_data
│ │ │ ├── ESP32_RF_INIT.xlsx
│ │ │ ├── ESP8266_RF_init.xls
│ │ │ └── ESP8266_RF_init.xlsx
│ │ ├── Readme.pdf
│ │ ├── RESOURCE
│ │ │ ├── CON_ERROR.bmp
│ │ │ ├── CON_ERROR_S.bmp
│ │ │ ├── DEVKEY_ERROR.bmp
│ │ │ ├── DEVKEY_ERROR_S.bmp
│ │ │ ├── DOWNLOAD.bmp
│ │ │ ├── DOWNLOAD_S.bmp
│ │ │ ├── EFUSE_ERROR.bmp
│ │ │ ├── EFUSE_ERROR_S.bmp
│ │ │ ├── ERROR.bmp
│ │ │ ├── ERROR_S.bmp
│ │ │ ├── FAIL.bmp
│ │ │ ├── FAIL_S.bmp
│ │ │ ├── FINISH.bmp
│ │ │ ├── FINISH_RESTART.bmp
│ │ │ ├── FINISH_RESTART_S.bmp
│ │ │ ├── FINISH_S.bmp
│ │ │ ├── IDLE.bmp
│ │ │ ├── IDLE_S.bmp
│ │ │ ├── logo.ico
│ │ │ ├── STOP.bmp
│ │ │ ├── STOP_S.bmp
│ │ │ ├── SYNC.bmp
│ │ │ ├── SYNC_S.bmp
│ │ │ └── Thumbs.db
│ │ └── secure
│ │ ├── flash_encrypt_key_1.bin
│ │ ├── flash_encrypt_key_1.pem
│ │ ├── secure_boot_key_1.bin
│ │ └── secure_boot_key_1.pem
│ ├── flash_download_tools_v3.6.5_0.zip
│ └── JavaSetup8u151.exe
├── Firmware
│ ├── APP
│ │ ├── NWI1072-ESP Relay Board
│ │ │ ├── arduino
│ │ │ │ ├── README.md
│ │ │ │ ├── relay_1.0_12F_4MB.ino.bin
│ │ │ │ ├── relay_1.1_12S_1MB.ino.bin
│ │ │ │ └── _temp_by_dltool
│ │ │ │ ├── downloadPanel1
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino (He Chao 的冲突副本 2017-11-27).bin_rep
│ │ │ │ │ ├── relay_1.1_12S_1MB.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ ├── downloadPanel2
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ ├── downloadPanel3
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ ├── downloadPanel4
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ ├── downloadPanel5
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ ├── downloadPanel6
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ ├── downloadPanel7
│ │ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ │ └── relay_one.ino.bin_rep
│ │ │ │ └── downloadPanel8
│ │ │ │ ├── esp_arduino_compile_r1.1.bin_rep
│ │ │ │ ├── esp_arduino_r1.bin_rep
│ │ │ │ ├── esp_arduino_r1_clone_bin_4M.bin_rep
│ │ │ │ ├── esp_arduino_r1_compile.bin_rep
│ │ │ │ ├── relay_1.0_12F.ino.bin_rep
│ │ │ │ ├── relay_1.1_12S.ino.bin_rep
│ │ │ │ ├── relay_1.2_12S_4MB.ino.bin_rep
│ │ │ │ ├── relay_for_esp_12F.ino.bin_rep
│ │ │ │ └── relay_one.ino.bin_rep
│ │ │ ├── nodemcu_r4
│ │ │ │ ├── output_r4-mc (cloudmqtt default).bin
│ │ │ │ ├── output_r4-sg (ED free Singarpore).bin
│ │ │ │ ├── relay board firmware r4.zip
│ │ │ │ └── _temp_by_dltool
│ │ │ │ ├── downloadPanel1
│ │ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ │ └── output_r4-sg.bin_rep
│ │ │ │ ├── downloadPanel2
│ │ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ │ └── output_r4-sg.bin_rep
│ │ │ │ ├── downloadPanel3
│ │ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ │ └── output_r4-sg.bin_rep
│ │ │ │ ├── downloadPanel4
│ │ │ │ │ └── output_r4-mc.bin_rep
│ │ │ │ ├── downloadPanel5
│ │ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ │ └── output_r4-sg.bin_rep
│ │ │ │ ├── downloadPanel6
│ │ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ │ └── output_r4-sg.bin_rep
│ │ │ │ ├── downloadPanel7
│ │ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ │ └── output_r4-sg.bin_rep
│ │ │ │ └── downloadPanel8
│ │ │ │ ├── output_r4-mc.bin_rep
│ │ │ │ └── output_r4-sg.bin_rep
│ │ │ ├── README.md
│ │ │ └── relay_1.2_12S_4MB.ino.bin
│ │ └── NWI1124-ESP LED Board
│ │ ├── r1.bin
│ │ └── r2.bin
│ ├── AT-espressif
│ │ ├── docs
│ │ │ ├── 4a-esp8266_at_instruction_set_en.pdf
│ │ │ └── 4b-esp8266_at_command_examples_en.pdf
│ │ ├── IDF
│ │ │ └── ESP8266-IDF-AT_V2.0_1.zip
│ │ ├── NonOS
│ │ │ └── V1.7.4-ESP8266_NonOS_AT_Bin_V1.7.4.zip
│ │ ├── old
│ │ │ ├── V0.2
│ │ │ │ ├── at
│ │ │ │ │ ├── driver
│ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ └── uart.c
│ │ │ │ │ ├── gen_misc.bat
│ │ │ │ │ ├── gen_misc_plus.bat
│ │ │ │ │ ├── gen_misc_plus.sh
│ │ │ │ │ ├── gen_misc.sh
│ │ │ │ │ ├── include
│ │ │ │ │ │ ├── at.h
│ │ │ │ │ │ ├── at_version.h
│ │ │ │ │ │ ├── driver
│ │ │ │ │ │ │ ├── uart.h
│ │ │ │ │ │ │ └── uart_register.h
│ │ │ │ │ │ └── user_config.h
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ └── user
│ │ │ │ │ ├── at_baseCmd.c
│ │ │ │ │ ├── at_baseCmd.h
│ │ │ │ │ ├── at_cmd.c
│ │ │ │ │ ├── at_cmd.h
│ │ │ │ │ ├── at_ipCmd.c
│ │ │ │ │ ├── at_ipCmd.h
│ │ │ │ │ ├── at_port.c
│ │ │ │ │ ├── at_wifiCmd.c
│ │ │ │ │ ├── at_wifiCmd.h
│ │ │ │ │ ├── Makefile
│ │ │ │ │ └── user_main.c
│ │ │ │ ├── bin
│ │ │ │ │ ├── blank.bin
│ │ │ │ │ ├── boot_v1.1.bin
│ │ │ │ │ ├── esp_init_data_default.bin
│ │ │ │ │ ├── user1.bin
│ │ │ │ │ ├── user1.dump
│ │ │ │ │ ├── user1.S
│ │ │ │ │ ├── user2.bin
│ │ │ │ │ ├── user2.dump
│ │ │ │ │ └── user2.S
│ │ │ │ └── document
│ │ │ │ ├── Chinese
│ │ │ │ │ ├── 4A-AT-Espressif AT指令集_v020.pdf
│ │ │ │ │ └── 4B-AT-Espressif AT指令使用示例_v0.3.pdf
│ │ │ │ └── English
│ │ │ │ ├── 4A-AT-Espressif AT Instruction Set_020.pdf
│ │ │ │ └── 4B-AT-Espressif AT Command Examples_v0.3.pdf
│ │ │ ├── V1.1_on_ESP8266_NONOS_SDK_V1.5.4.zip
│ │ │ ├── V1.3
│ │ │ │ └── v1.3.0.2 AT Firmware.bin
│ │ │ ├── V1.5
│ │ │ │ ├── 1.5_1MB_8285.bin
│ │ │ │ ├── 1.5_4MB_8266.bin
│ │ │ │ ├── esp8266_at_bin_v1.5.1
│ │ │ │ │ ├── bin
│ │ │ │ │ │ ├── at
│ │ │ │ │ │ │ ├── 1024+1024
│ │ │ │ │ │ │ │ ├── _temp_by_dltool
│ │ │ │ │ │ │ │ │ └── downloadPanel1
│ │ │ │ │ │ │ │ │ └── user1.2048.new.5.bin_rep
│ │ │ │ │ │ │ │ ├── user1.2048.new.5.bin
│ │ │ │ │ │ │ │ └── user2.2048.new.5.bin
│ │ │ │ │ │ │ ├── 512+512
│ │ │ │ │ │ │ │ ├── _temp_by_dltool
│ │ │ │ │ │ │ │ │ └── downloadPanel1
│ │ │ │ │ │ │ │ │ └── user1.1024.new.2.bin_rep
│ │ │ │ │ │ │ │ ├── user1.1024.new.2.bin
│ │ │ │ │ │ │ │ └── user2.1024.new.2.bin
│ │ │ │ │ │ │ └── README.md
│ │ │ │ │ │ ├── at_sdio
│ │ │ │ │ │ │ ├── 1024+1024
│ │ │ │ │ │ │ │ ├── user1.2048.new.5.bin
│ │ │ │ │ │ │ │ └── user2.2048.new.5.bin
│ │ │ │ │ │ │ ├── 512+512
│ │ │ │ │ │ │ │ ├── user1.1024.new.2.bin
│ │ │ │ │ │ │ │ └── user2.1024.new.2.bin
│ │ │ │ │ │ │ └── README.md
│ │ │ │ │ │ ├── blank.bin
│ │ │ │ │ │ ├── boot_v1.2.bin
│ │ │ │ │ │ ├── boot_v1.6.bin
│ │ │ │ │ │ ├── boot_v1.7.bin
│ │ │ │ │ │ ├── esp_init_data_default.bin
│ │ │ │ │ │ └── _temp_by_dltool
│ │ │ │ │ │ └── downloadPanel1
│ │ │ │ │ │ ├── boot_v1.7.bin_rep
│ │ │ │ │ │ └── esp_init_data_default.bin_rep
│ │ │ │ │ └── ESP8266 AT Release Note.pdf
│ │ │ │ ├── esp8266_at_bin_v1.5.1.zip
│ │ │ │ └── _temp_by_dltool
│ │ │ │ └── downloadPanel1
│ │ │ │ ├── 1.5_1MB_8285.bin_rep
│ │ │ │ ├── 1.5_4MB_8266.bin_rep
│ │ │ │ └── 1.5_8MB_8285.bin_rep
│ │ │ ├── V1.7
│ │ │ │ ├── ESP8266_AT_Bin_V1.7
│ │ │ │ │ ├── bin
│ │ │ │ │ │ ├── at
│ │ │ │ │ │ │ ├── 1024+1024
│ │ │ │ │ │ │ │ ├── user1.2048.new.5.bin
│ │ │ │ │ │ │ │ └── user2.2048.new.5.bin
│ │ │ │ │ │ │ └── README.md
│ │ │ │ │ │ ├── at_sdio
│ │ │ │ │ │ │ ├── 1024+1024
│ │ │ │ │ │ │ │ ├── user1.2048.new.5.bin
│ │ │ │ │ │ │ │ └── user2.2048.new.5.bin
│ │ │ │ │ │ │ └── README.md
│ │ │ │ │ │ ├── blank.bin
│ │ │ │ │ │ ├── boot_v1.2.bin
│ │ │ │ │ │ ├── boot_v1.6.bin
│ │ │ │ │ │ ├── boot_v1.7.bin
│ │ │ │ │ │ ├── esp_init_data_default_v05.bin
│ │ │ │ │ │ └── esp_init_data_default_v08.bin
│ │ │ │ │ └── ESP8266 AT Release Note.pdf
│ │ │ │ └── __MACOSX
│ │ │ │ └── ESP8266_AT_Bin_V1.7
│ │ │ │ └── bin
│ │ │ │ ├── at
│ │ │ │ │ └── 1024+1024
│ │ │ │ └── at_sdio
│ │ │ │ └── 1024+1024
│ │ │ └── V2.0_AT_Firmware(ESP)
│ │ │ ├── 4A-ESP8266__AT_Instruction_Set__CN_v2.0_20160716.pdf
│ │ │ └── v2.0 AT Firmware(ESP).bin
│ │ └── Qcloud
│ │ └── QCloud_IoT_AT_WiFi_ESP8266_v1.0.0_0.zip
│ ├── AT-other
│ │ ├── AI-THINKER
│ │ │ └── At_firmware_bin1.54
│ │ │ ├── AiThinker_ESP8266_DIO_32M_32M_20160615_V1.5.4.bin
│ │ │ ├── AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin
│ │ │ └── readme.txt
│ │ ├── blank_1MB.bin
│ │ ├── esp at.png
│ │ ├── Non-sort
│ │ │ └── V1.3.0.2_AT_Firmware.bin
│ │ │ └── v1.3.0.2 AT Firmware.bin
│ │ ├── README.md
│ │ └── _temp_by_dltool
│ │ ├── downloadPanel1
│ │ │ └── v1.3.0.2 AT Firmware.bin_rep
│ │ ├── downloadPanel2
│ │ │ └── v1.3.0.2 AT Firmware.bin_rep
│ │ ├── downloadPanel3
│ │ │ └── v1.3.0.2 AT Firmware.bin_rep
│ │ └── downloadPanel4
│ │ └── v1.3.0.2 AT Firmware.bin_rep
│ ├── nodemcu
│ │ ├── custom
│ │ │ ├── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin
│ │ │ └── _temp_by_dltool
│ │ │ ├── downloadPanel1
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ ├── downloadPanel2
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ ├── downloadPanel3
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ ├── downloadPanel4
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ ├── downloadPanel5
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ ├── downloadPanel6
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ ├── downloadPanel7
│ │ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ │ └── downloadPanel8
│ │ │ └── nodemcu-master-14-modules-2017-10-18-20-40-46-integer.bin_rep
│ │ └── nodemcu default firmware
│ │ ├── 9600_bit_adc_bmp_bme_dht_file_gpio_http_I2c_mqtt_net_node_ow_pwm_spi_timer_u8g_uart_wifi.bin
│ │ ├── Nodemcu_ADC_MQTT.bin
│ │ ├── nodemcu_ADC_MQTT_HTTP_9600.bin
│ │ ├── nodemcu-master-21-modules-2017-05-26-12-27-00-float.bin
│ │ ├── nodemcu-master-22-modules-2017-01-10-04-15-30-float.bin
│ │ ├── README.md
│ │ └── _temp_by_dltool
│ │ ├── downloadPanel1
│ │ │ ├── 9600_bit_adc_bmp_bme_dht_file_gpio_http_I2c_mqtt_net_node_ow_pwm_spi_timer_u8g_uart_wifi.bin_rep
│ │ │ ├── Nodemcu_ADC_MQTT.bin_rep
│ │ │ ├── nodemcu_ADC_MQTT_HTTP_9600.bin_rep
│ │ │ ├── nodemcu-master-21-modules-2017-05-26-12-27-00-float.bin_rep
│ │ │ └── nodemcu-master-22-modules-2017-01-10-04-15-30-float.bin_rep
│ │ ├── downloadPanel2
│ │ │ └── 9600_bit_adc_bmp_bme_dht_file_gpio_http_I2c_mqtt_net_node_ow_pwm_spi_timer_u8g_uart_wifi.bin_rep
│ │ ├── downloadPanel3
│ │ │ └── 9600_bit_adc_bmp_bme_dht_file_gpio_http_I2c_mqtt_net_node_ow_pwm_spi_timer_u8g_uart_wifi.bin_rep
│ │ └── downloadPanel4
│ │ └── 9600_bit_adc_bmp_bme_dht_file_gpio_http_I2c_mqtt_net_node_ow_pwm_spi_timer_u8g_uart_wifi.bin_rep
│ └── third-party
│ ├── ESP EASY
│ │ └── ESPEasy_mega-20191208
│ │ ├── bin
│ │ │ ├── blank_16MB.bin
│ │ │ ├── blank_1MB.bin
│ │ │ ├── blank_2MB.bin
│ │ │ ├── blank_4MB.bin
│ │ │ ├── ESPEasy_2step_UploaderMega_1024.bin
│ │ │ ├── ESP_Easy_mega-20191208_custom_ESP32_4M316k.bin
│ │ │ ├── ESP_Easy_mega-20191208_custom_ESP8266_4M1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_dev_ESP8266_4M1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_hard_other_POW_ESP8285_1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_hard_Shelly_1_2M256.bin
│ │ │ ├── ESP_Easy_mega-20191208_hard_SONOFF_POW_4M1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_hard_Ventus_W266.bin
│ │ │ ├── ESP_Easy_mega-20191208_minimal_core_242_ESP8266_1M_OTA.bin
│ │ │ ├── ESP_Easy_mega-20191208_minimal_core_242_ESP8285_1M_OTA.bin
│ │ │ ├── ESP_Easy_mega-20191208_minimal_IRext_ESP8266_1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_minimal_IRext_ESP8266_4M1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_minimal_IRext_ESP8266_4M2M.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_ESP8266_1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_ESP8266_1M_VCC.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_ESP8266_4M1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_ESP8285_1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_IRext_no_rx_ESP8266_4M2M.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_sdk3_ESP8266_1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_WROOM02_2M256.bin
│ │ │ ├── ESP_Easy_mega-20191208_normal_WROOM02_2M.bin
│ │ │ ├── ESP_Easy_mega-20191208_test_beta_ESP8266_4M1M.bin
│ │ │ ├── ESP_Easy_mega-20191208_test_ESP32_4M316k.bin
│ │ │ ├── ESP_Easy_mega-20191208_test_ESP32-wrover-kit_4M316k.bin
│ │ │ ├── ESP_Easy_mega-20191208_test_ESP8266_4M1M_VCC.bin
│ │ │ └── ESP_Easy_mega-20191208_test_ESP8266_4M1M_VCC_MDNS_SD.bin
│ │ ├── buildlog.txt
│ │ ├── esptool.exe
│ │ ├── FlashESP8266.exe
│ │ ├── memstats
│ │ │ ├── strings_custom_ESP32_4M316k.txt
│ │ │ ├── strings_custom_ESP8266_4M1M.txt
│ │ │ ├── strings_dev_ESP8266_4M1M.txt
│ │ │ ├── strings_hard_other_POW_ESP8285_1M.txt
│ │ │ ├── strings_hard_Shelly_1_2M256.txt
│ │ │ ├── strings_hard_SONOFF_POW_4M1M.txt
│ │ │ ├── strings_hard_Ventus_W266.txt
│ │ │ ├── strings_minimal_core_242_ESP8266_1M_OTA.txt
│ │ │ ├── strings_minimal_core_242_ESP8285_1M_OTA.txt
│ │ │ ├── strings_minimal_core_261_ESP8266_1M_OTA.txt
│ │ │ ├── strings_minimal_core_261_ESP8285_1M_OTA.txt
│ │ │ ├── strings_minimal_core_261_sdk3_ESP8266_1M_OTA.txt
│ │ │ ├── strings_minimal_core_261_sdk3_ESP8285_1M_OTA.txt
│ │ │ ├── strings_minimal_IRext_ESP8266_1M.txt
│ │ │ ├── strings_minimal_IRext_ESP8266_4M1M.txt
│ │ │ ├── strings_minimal_IRext_ESP8266_4M2M.txt
│ │ │ ├── strings_normal_ESP8266_1M.txt
│ │ │ ├── strings_normal_ESP8266_1M_VCC.txt
│ │ │ ├── strings_normal_ESP8266_4M1M.txt
│ │ │ ├── strings_normal_ESP8285_1M.txt
│ │ │ ├── strings_normal_IRext_no_rx_ESP8266_4M2M.txt
│ │ │ ├── strings_normal_sdk3_ESP8266_1M.txt
│ │ │ ├── strings_normal_WROOM02_2M256.txt
│ │ │ ├── strings_normal_WROOM02_2M.txt
│ │ │ ├── strings_test_beta_ESP8266_4M1M.txt
│ │ │ ├── strings_test_ESP32_4M316k.txt
│ │ │ ├── strings_test_ESP32-wrover-kit_4M316k.txt
│ │ │ ├── strings_test_ESP8266_4M1M_VCC_MDNS_SD.txt
│ │ │ ├── strings_test_ESP8266_4M1M_VCC.txt
│ │ │ ├── symbols_custom_ESP32_4M316k.txt
│ │ │ ├── symbols_custom_ESP8266_4M1M.txt
│ │ │ ├── symbols_dev_ESP8266_4M1M.txt
│ │ │ ├── symbols_hard_other_POW_ESP8285_1M.txt
│ │ │ ├── symbols_hard_Shelly_1_2M256.txt
│ │ │ ├── symbols_hard_SONOFF_POW_4M1M.txt
│ │ │ ├── symbols_hard_Ventus_W266.txt
│ │ │ ├── symbols_minimal_core_242_ESP8266_1M_OTA.txt
│ │ │ ├── symbols_minimal_core_242_ESP8285_1M_OTA.txt
│ │ │ ├── symbols_minimal_core_261_ESP8266_1M_OTA.txt
│ │ │ ├── symbols_minimal_core_261_ESP8285_1M_OTA.txt
│ │ │ ├── symbols_minimal_core_261_sdk3_ESP8266_1M_OTA.txt
│ │ │ ├── symbols_minimal_core_261_sdk3_ESP8285_1M_OTA.txt
│ │ │ ├── symbols_minimal_IRext_ESP8266_1M.txt
│ │ │ ├── symbols_minimal_IRext_ESP8266_4M1M.txt
│ │ │ ├── symbols_minimal_IRext_ESP8266_4M2M.txt
│ │ │ ├── symbols_normal_ESP8266_1M.txt
│ │ │ ├── symbols_normal_ESP8266_1M_VCC.txt
│ │ │ ├── symbols_normal_ESP8266_4M1M.txt
│ │ │ ├── symbols_normal_ESP8285_1M.txt
│ │ │ ├── symbols_normal_IRext_no_rx_ESP8266_4M2M.txt
│ │ │ ├── symbols_normal_sdk3_ESP8266_1M.txt
│ │ │ ├── symbols_normal_WROOM02_2M256.txt
│ │ │ ├── symbols_normal_WROOM02_2M.txt
│ │ │ ├── symbols_test_beta_ESP8266_4M1M.txt
│ │ │ ├── symbols_test_ESP32_4M316k.txt
│ │ │ ├── symbols_test_ESP32-wrover-kit_4M316k.txt
│ │ │ ├── symbols_test_ESP8266_4M1M_VCC_MDNS_SD.txt
│ │ │ └── symbols_test_ESP8266_4M1M_VCC.txt
│ │ ├── README.txt
│ │ ├── Release_notes.txt
│ │ └── source
│ │ ├── lib
│ │ │ ├── Adafruit_Motor_Shield_V2
│ │ │ │ ├── Adafruit_MotorShield.cpp
│ │ │ │ ├── Adafruit_MotorShield.h
│ │ │ │ ├── examples
│ │ │ │ │ ├── Accel_ConstantSpeed
│ │ │ │ │ │ └── Accel_ConstantSpeed.ino
│ │ │ │ │ ├── Accel_MultiStepper
│ │ │ │ │ │ └── Accel_MultiStepper.ino
│ │ │ │ │ ├── DCMotorTest
│ │ │ │ │ │ └── DCMotorTest.ino
│ │ │ │ │ ├── MotorParty
│ │ │ │ │ │ └── MotorParty.ino
│ │ │ │ │ ├── StackingTest
│ │ │ │ │ │ └── StackingTest.ino
│ │ │ │ │ └── StepperTest
│ │ │ │ │ └── StepperTest.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.properties
│ │ │ │ ├── license.txt
│ │ │ │ ├── README.md
│ │ │ │ └── utility
│ │ │ │ ├── Adafruit_MS_PWMServoDriver.cpp
│ │ │ │ ├── Adafruit_MS_PWMServoDriver.h
│ │ │ │ └── license.txt
│ │ │ ├── Adafruit_MPR121
│ │ │ │ ├── Adafruit_MPR121.cpp
│ │ │ │ ├── Adafruit_MPR121.h
│ │ │ │ ├── examples
│ │ │ │ │ └── MPR121test
│ │ │ │ │ └── MPR121test.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.properties
│ │ │ │ ├── README.md
│ │ │ │ └── README.txt
│ │ │ ├── Adafruit_NeoPixel
│ │ │ │ ├── Adafruit_NeoPixel.cpp
│ │ │ │ ├── Adafruit_NeoPixel.h
│ │ │ │ ├── COPYING
│ │ │ │ ├── esp8266.c
│ │ │ │ ├── examples
│ │ │ │ │ ├── buttoncycler
│ │ │ │ │ │ └── buttoncycler.ino
│ │ │ │ │ ├── RGBWstrandtest
│ │ │ │ │ │ └── RGBWstrandtest.ino
│ │ │ │ │ ├── simple
│ │ │ │ │ │ └── simple.ino
│ │ │ │ │ └── strandtest
│ │ │ │ │ └── strandtest.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.properties
│ │ │ │ └── README.md
│ │ │ ├── Adafruit_Sensor
│ │ │ │ ├── Adafruit_Sensor.h
│ │ │ │ ├── library.properties
│ │ │ │ └── README.md
│ │ │ ├── Adafruit_SGP30-1.0.0.13
│ │ │ │ ├── Adafruit_SGP30.cpp
│ │ │ │ ├── Adafruit_SGP30.h
│ │ │ │ ├── examples
│ │ │ │ │ └── sgp30test
│ │ │ │ │ └── sgp30test.ino
│ │ │ │ ├── library.properties
│ │ │ │ ├── license.txt
│ │ │ │ └── README.md
│ │ │ ├── Adafruit_TCS34725
│ │ │ │ ├── Adafruit_TCS34725.cpp
│ │ │ │ ├── Adafruit_TCS34725.h
│ │ │ │ ├── examples
│ │ │ │ │ ├── colorview
│ │ │ │ │ │ ├── colorview.ino
│ │ │ │ │ │ └── processing
│ │ │ │ │ │ └── colorview
│ │ │ │ │ │ └── colorview.pde
│ │ │ │ │ ├── interrupt
│ │ │ │ │ │ └── interrupt.ino
│ │ │ │ │ ├── tcs34725
│ │ │ │ │ │ └── tcs34725.pde
│ │ │ │ │ └── tcs34725autorange
│ │ │ │ │ └── tcs34725autorange.ino
│ │ │ │ ├── library.properties
│ │ │ │ └── README.md
│ │ │ ├── Adafruit_TSL2591
│ │ │ │ ├── Adafruit_TSL2591.cpp
│ │ │ │ ├── Adafruit_TSL2591.h
│ │ │ │ ├── examples
│ │ │ │ │ ├── tsl2591
│ │ │ │ │ │ └── tsl2591.ino
│ │ │ │ │ └── tsl2591_interrupt
│ │ │ │ │ └── tsl2591_interrupt.ino
│ │ │ │ ├── library.properties
│ │ │ │ └── README.txt
│ │ │ ├── AM2320
│ │ │ │ ├── AM2320.cpp
│ │ │ │ ├── AM2320.h
│ │ │ │ ├── example
│ │ │ │ │ └── AM2320lib_test
│ │ │ │ │ └── AM2320lib_test.ino
│ │ │ │ └── keywords.txt
│ │ │ ├── ArduinoJson-6.x
│ │ │ │ ├── appveyor.yml
│ │ │ │ ├── ArduinoJson.h
│ │ │ │ ├── banner.svg
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── examples
│ │ │ │ │ ├── JsonConfigFile
│ │ │ │ │ │ └── JsonConfigFile.ino
│ │ │ │ │ ├── JsonGeneratorExample
│ │ │ │ │ │ └── JsonGeneratorExample.ino
│ │ │ │ │ ├── JsonHttpClient
│ │ │ │ │ │ └── JsonHttpClient.ino
│ │ │ │ │ ├── JsonParserExample
│ │ │ │ │ │ └── JsonParserExample.ino
│ │ │ │ │ ├── JsonServer
│ │ │ │ │ │ └── JsonServer.ino
│ │ │ │ │ ├── JsonUdpBeacon
│ │ │ │ │ │ └── JsonUdpBeacon.ino
│ │ │ │ │ ├── MsgPackParser
│ │ │ │ │ │ └── MsgPackParser.ino
│ │ │ │ │ ├── ProgmemExample
│ │ │ │ │ │ └── ProgmemExample.ino
│ │ │ │ │ └── StringExample
│ │ │ │ │ └── StringExample.ino
│ │ │ │ ├── fuzzing
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fuzzer_main.cpp
│ │ │ │ │ ├── json_corpus
│ │ │ │ │ ├── json_fuzzer.cpp
│ │ │ │ │ ├── json_seed_corpus
│ │ │ │ │ │ ├── Comments.json
│ │ │ │ │ │ ├── EmptyArray.json
│ │ │ │ │ │ ├── EmptyObject.json
│ │ │ │ │ │ ├── ExcessiveNesting.json
│ │ │ │ │ │ ├── IntegerOverflow.json
│ │ │ │ │ │ ├── Numbers.json
│ │ │ │ │ │ ├── OpenWeatherMap.json
│ │ │ │ │ │ ├── Strings.json
│ │ │ │ │ │ └── WeatherUnderground.json
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── msgpack_corpus
│ │ │ │ │ ├── msgpack_fuzzer.cpp
│ │ │ │ │ └── msgpack_seed_corpus
│ │ │ │ │ ├── array16
│ │ │ │ │ ├── array32
│ │ │ │ │ ├── false
│ │ │ │ │ ├── fixarray
│ │ │ │ │ ├── fixint_negative
│ │ │ │ │ ├── fixint_positive
│ │ │ │ │ ├── fixmap
│ │ │ │ │ ├── fixstr
│ │ │ │ │ ├── float32
│ │ │ │ │ ├── float64
│ │ │ │ │ ├── int16
│ │ │ │ │ ├── int32
│ │ │ │ │ ├── int64
│ │ │ │ │ ├── int8
│ │ │ │ │ ├── map16
│ │ │ │ │ ├── map32
│ │ │ │ │ ├── nil
│ │ │ │ │ ├── str16
│ │ │ │ │ ├── str32
│ │ │ │ │ ├── str8
│ │ │ │ │ ├── true
│ │ │ │ │ ├── uint16
│ │ │ │ │ ├── uint32
│ │ │ │ │ ├── uint64
│ │ │ │ │ └── uint8
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ ├── scripts
│ │ │ │ │ ├── build-arduino-package.sh
│ │ │ │ │ ├── build-single-header.sh
│ │ │ │ │ ├── create-build-envs.sh
│ │ │ │ │ ├── oss-fuzz
│ │ │ │ │ │ └── Vagrantfile
│ │ │ │ │ ├── publish-particle-library.sh
│ │ │ │ │ ├── publish.sh
│ │ │ │ │ ├── travis
│ │ │ │ │ │ ├── arduino.sh
│ │ │ │ │ │ ├── build.sh
│ │ │ │ │ │ ├── coverage.sh
│ │ │ │ │ │ ├── fuzz.sh
│ │ │ │ │ │ ├── platformio.sh
│ │ │ │ │ │ └── test.sh
│ │ │ │ │ └── wandbox
│ │ │ │ │ ├── JsonGeneratorExample.cpp
│ │ │ │ │ ├── JsonParserExample.cpp
│ │ │ │ │ ├── MsgPackParserExample.cpp
│ │ │ │ │ └── publish.sh
│ │ │ │ ├── src
│ │ │ │ │ ├── ArduinoJson
│ │ │ │ │ │ ├── Array
│ │ │ │ │ │ │ ├── ArrayFunctions.hpp
│ │ │ │ │ │ │ ├── ArrayImpl.hpp
│ │ │ │ │ │ │ ├── ArrayIterator.hpp
│ │ │ │ │ │ │ ├── ArrayRef.hpp
│ │ │ │ │ │ │ ├── ArrayShortcuts.hpp
│ │ │ │ │ │ │ ├── ElementProxy.hpp
│ │ │ │ │ │ │ └── Utilities.hpp
│ │ │ │ │ │ ├── Collection
│ │ │ │ │ │ │ ├── CollectionData.hpp
│ │ │ │ │ │ │ └── CollectionImpl.hpp
│ │ │ │ │ │ ├── compatibility.hpp
│ │ │ │ │ │ ├── Configuration.hpp
│ │ │ │ │ │ ├── Deserialization
│ │ │ │ │ │ │ ├── ArduinoStreamReader.hpp
│ │ │ │ │ │ │ ├── CharPointerReader.hpp
│ │ │ │ │ │ │ ├── DeserializationError.hpp
│ │ │ │ │ │ │ ├── deserialize.hpp
│ │ │ │ │ │ │ ├── FlashStringReader.hpp
│ │ │ │ │ │ │ ├── IteratorReader.hpp
│ │ │ │ │ │ │ ├── NestingLimit.hpp
│ │ │ │ │ │ │ └── StdStreamReader.hpp
│ │ │ │ │ │ ├── Document
│ │ │ │ │ │ │ ├── BasicJsonDocument.hpp
│ │ │ │ │ │ │ ├── DynamicJsonDocument.hpp
│ │ │ │ │ │ │ ├── JsonDocument.hpp
│ │ │ │ │ │ │ └── StaticJsonDocument.hpp
│ │ │ │ │ │ ├── Json
│ │ │ │ │ │ │ ├── EscapeSequence.hpp
│ │ │ │ │ │ │ ├── JsonDeserializer.hpp
│ │ │ │ │ │ │ ├── JsonSerializer.hpp
│ │ │ │ │ │ │ ├── PrettyJsonSerializer.hpp
│ │ │ │ │ │ │ ├── TextFormatter.hpp
│ │ │ │ │ │ │ └── Utf8.hpp
│ │ │ │ │ │ ├── Memory
│ │ │ │ │ │ │ ├── Alignment.hpp
│ │ │ │ │ │ │ ├── MemoryPool.hpp
│ │ │ │ │ │ │ ├── StringBuilder.hpp
│ │ │ │ │ │ │ └── StringSlot.hpp
│ │ │ │ │ │ ├── Misc
│ │ │ │ │ │ │ ├── SerializedValue.hpp
│ │ │ │ │ │ │ └── Visitable.hpp
│ │ │ │ │ │ ├── MsgPack
│ │ │ │ │ │ │ ├── endianess.hpp
│ │ │ │ │ │ │ ├── ieee754.hpp
│ │ │ │ │ │ │ ├── MsgPackDeserializer.hpp
│ │ │ │ │ │ │ └── MsgPackSerializer.hpp
│ │ │ │ │ │ ├── Namespace.hpp
│ │ │ │ │ │ ├── Numbers
│ │ │ │ │ │ │ ├── convertNumber.hpp
│ │ │ │ │ │ │ ├── Float.hpp
│ │ │ │ │ │ │ ├── FloatParts.hpp
│ │ │ │ │ │ │ ├── FloatTraits.hpp
│ │ │ │ │ │ │ ├── Integer.hpp
│ │ │ │ │ │ │ ├── parseFloat.hpp
│ │ │ │ │ │ │ ├── parseInteger.hpp
│ │ │ │ │ │ │ └── parseNumber.hpp
│ │ │ │ │ │ ├── Object
│ │ │ │ │ │ │ ├── MemberProxy.hpp
│ │ │ │ │ │ │ ├── ObjectFunctions.hpp
│ │ │ │ │ │ │ ├── ObjectImpl.hpp
│ │ │ │ │ │ │ ├── ObjectIterator.hpp
│ │ │ │ │ │ │ ├── ObjectRef.hpp
│ │ │ │ │ │ │ ├── ObjectShortcuts.hpp
│ │ │ │ │ │ │ └── Pair.hpp
│ │ │ │ │ │ ├── Operators
│ │ │ │ │ │ │ ├── VariantCasts.hpp
│ │ │ │ │ │ │ ├── VariantComparisons.hpp
│ │ │ │ │ │ │ ├── VariantOperators.hpp
│ │ │ │ │ │ │ ├── VariantOr.hpp
│ │ │ │ │ │ │ └── VariantShortcuts.hpp
│ │ │ │ │ │ ├── Polyfills
│ │ │ │ │ │ │ ├── alias_cast.hpp
│ │ │ │ │ │ │ ├── assert.hpp
│ │ │ │ │ │ │ ├── attributes.hpp
│ │ │ │ │ │ │ ├── ctype.hpp
│ │ │ │ │ │ │ ├── gsl
│ │ │ │ │ │ │ │ └── not_null.hpp
│ │ │ │ │ │ │ ├── limits.hpp
│ │ │ │ │ │ │ ├── math.hpp
│ │ │ │ │ │ │ ├── mpl
│ │ │ │ │ │ │ │ └── max.hpp
│ │ │ │ │ │ │ ├── safe_strcmp.hpp
│ │ │ │ │ │ │ ├── type_traits
│ │ │ │ │ │ │ │ ├── conditional.hpp
│ │ │ │ │ │ │ │ ├── enable_if.hpp
│ │ │ │ │ │ │ │ ├── integral_constant.hpp
│ │ │ │ │ │ │ │ ├── is_array.hpp
│ │ │ │ │ │ │ │ ├── is_base_of.hpp
│ │ │ │ │ │ │ │ ├── is_const.hpp
│ │ │ │ │ │ │ │ ├── is_floating_point.hpp
│ │ │ │ │ │ │ │ ├── is_integral.hpp
│ │ │ │ │ │ │ │ ├── is_same.hpp
│ │ │ │ │ │ │ │ ├── is_signed.hpp
│ │ │ │ │ │ │ │ ├── is_unsigned.hpp
│ │ │ │ │ │ │ │ ├── make_unsigned.hpp
│ │ │ │ │ │ │ │ ├── remove_const.hpp
│ │ │ │ │ │ │ │ ├── remove_reference.hpp
│ │ │ │ │ │ │ │ └── type_identity.hpp
│ │ │ │ │ │ │ ├── type_traits.hpp
│ │ │ │ │ │ │ └── utility.hpp
│ │ │ │ │ │ ├── Serialization
│ │ │ │ │ │ │ ├── DummyWriter.hpp
│ │ │ │ │ │ │ ├── DynamicStringWriter.hpp
│ │ │ │ │ │ │ ├── measure.hpp
│ │ │ │ │ │ │ ├── serialize.hpp
│ │ │ │ │ │ │ ├── StaticStringWriter.hpp
│ │ │ │ │ │ │ └── StreamWriter.hpp
│ │ │ │ │ │ ├── Strings
│ │ │ │ │ │ │ ├── ArduinoStringAdapter.hpp
│ │ │ │ │ │ │ ├── ConstRamStringAdapter.hpp
│ │ │ │ │ │ │ ├── FlashStringAdapter.hpp
│ │ │ │ │ │ │ ├── RamStringAdapter.hpp
│ │ │ │ │ │ │ ├── SizedFlashStringAdapter.hpp
│ │ │ │ │ │ │ ├── SizedRamStringAdapter.hpp
│ │ │ │ │ │ │ ├── StlStringAdapter.hpp
│ │ │ │ │ │ │ ├── StringAdapters.hpp
│ │ │ │ │ │ │ └── String.hpp
│ │ │ │ │ │ ├── StringStorage
│ │ │ │ │ │ │ ├── StringCopier.hpp
│ │ │ │ │ │ │ ├── StringMover.hpp
│ │ │ │ │ │ │ └── StringStorage.hpp
│ │ │ │ │ │ ├── Variant
│ │ │ │ │ │ │ ├── SlotFunctions.hpp
│ │ │ │ │ │ │ ├── VariantAs.hpp
│ │ │ │ │ │ │ ├── VariantAsImpl.hpp
│ │ │ │ │ │ │ ├── VariantContent.hpp
│ │ │ │ │ │ │ ├── VariantData.hpp
│ │ │ │ │ │ │ ├── VariantFunctions.hpp
│ │ │ │ │ │ │ ├── VariantImpl.hpp
│ │ │ │ │ │ │ ├── VariantRef.hpp
│ │ │ │ │ │ │ ├── VariantSlot.hpp
│ │ │ │ │ │ │ └── VariantTo.hpp
│ │ │ │ │ │ └── version.hpp
│ │ │ │ │ ├── ArduinoJson.h
│ │ │ │ │ └── ArduinoJson.hpp
│ │ │ │ ├── SUPPORT.md
│ │ │ │ ├── test
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ElementProxy
│ │ │ │ │ │ ├── add.cpp
│ │ │ │ │ │ ├── clear.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── remove.cpp
│ │ │ │ │ │ ├── set.cpp
│ │ │ │ │ │ └── size.cpp
│ │ │ │ │ ├── IntegrationTests
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── gbathree.cpp
│ │ │ │ │ │ ├── issue772.cpp
│ │ │ │ │ │ └── round_trip.cpp
│ │ │ │ │ ├── JsonArray
│ │ │ │ │ │ ├── add.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── copyArray.cpp
│ │ │ │ │ │ ├── createNested.cpp
│ │ │ │ │ │ ├── equals.cpp
│ │ │ │ │ │ ├── get.cpp
│ │ │ │ │ │ ├── isNull.cpp
│ │ │ │ │ │ ├── iterator.cpp
│ │ │ │ │ │ ├── memoryUsage.cpp
│ │ │ │ │ │ ├── nesting.cpp
│ │ │ │ │ │ ├── remove.cpp
│ │ │ │ │ │ ├── size.cpp
│ │ │ │ │ │ ├── std_string.cpp
│ │ │ │ │ │ ├── subscript.cpp
│ │ │ │ │ │ └── undefined.cpp
│ │ │ │ │ ├── JsonDeserializer
│ │ │ │ │ │ ├── array.cpp
│ │ │ │ │ │ ├── array_static.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── DeserializationError.cpp
│ │ │ │ │ │ ├── incomplete_input.cpp
│ │ │ │ │ │ ├── input_types.cpp
│ │ │ │ │ │ ├── invalid_input.cpp
│ │ │ │ │ │ ├── misc.cpp
│ │ │ │ │ │ ├── nestingLimit.cpp
│ │ │ │ │ │ ├── number.cpp
│ │ │ │ │ │ ├── object.cpp
│ │ │ │ │ │ ├── object_static.cpp
│ │ │ │ │ │ └── string.cpp
│ │ │ │ │ ├── JsonDocument
│ │ │ │ │ │ ├── add.cpp
│ │ │ │ │ │ ├── BasicJsonDocument.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── containsKey.cpp
│ │ │ │ │ │ ├── createNested.cpp
│ │ │ │ │ │ ├── DynamicJsonDocument.cpp
│ │ │ │ │ │ ├── isNull.cpp
│ │ │ │ │ │ ├── nesting.cpp
│ │ │ │ │ │ ├── remove.cpp
│ │ │ │ │ │ ├── size.cpp
│ │ │ │ │ │ ├── StaticJsonDocument.cpp
│ │ │ │ │ │ └── subscript.cpp
│ │ │ │ │ ├── JsonObject
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── containsKey.cpp
│ │ │ │ │ │ ├── copy.cpp
│ │ │ │ │ │ ├── createNestedArray.cpp
│ │ │ │ │ │ ├── createNestedObject.cpp
│ │ │ │ │ │ ├── equals.cpp
│ │ │ │ │ │ ├── invalid.cpp
│ │ │ │ │ │ ├── isNull.cpp
│ │ │ │ │ │ ├── iterator.cpp
│ │ │ │ │ │ ├── memoryUsage.cpp
│ │ │ │ │ │ ├── nesting.cpp
│ │ │ │ │ │ ├── remove.cpp
│ │ │ │ │ │ ├── size.cpp
│ │ │ │ │ │ ├── std_string.cpp
│ │ │ │ │ │ └── subscript.cpp
│ │ │ │ │ ├── JsonSerializer
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── JsonArray.cpp
│ │ │ │ │ │ ├── JsonArrayPretty.cpp
│ │ │ │ │ │ ├── JsonObject.cpp
│ │ │ │ │ │ ├── JsonObjectPretty.cpp
│ │ │ │ │ │ ├── JsonVariant.cpp
│ │ │ │ │ │ ├── misc.cpp
│ │ │ │ │ │ ├── std_stream.cpp
│ │ │ │ │ │ └── std_string.cpp
│ │ │ │ │ ├── JsonVariant
│ │ │ │ │ │ ├── add.cpp
│ │ │ │ │ │ ├── as.cpp
│ │ │ │ │ │ ├── clear.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── compare.cpp
│ │ │ │ │ │ ├── containsKey.cpp
│ │ │ │ │ │ ├── copy.cpp
│ │ │ │ │ │ ├── createNested.cpp
│ │ │ │ │ │ ├── is.cpp
│ │ │ │ │ │ ├── isnull.cpp
│ │ │ │ │ │ ├── memoryUsage.cpp
│ │ │ │ │ │ ├── misc.cpp
│ │ │ │ │ │ ├── nesting.cpp
│ │ │ │ │ │ ├── or.cpp
│ │ │ │ │ │ ├── overflow.cpp
│ │ │ │ │ │ ├── remove.cpp
│ │ │ │ │ │ ├── set.cpp
│ │ │ │ │ │ ├── subscript.cpp
│ │ │ │ │ │ ├── types.cpp
│ │ │ │ │ │ └── undefined.cpp
│ │ │ │ │ ├── MemberProxy
│ │ │ │ │ │ ├── add.cpp
│ │ │ │ │ │ ├── clear.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── containsKey.cpp
│ │ │ │ │ │ ├── remove.cpp
│ │ │ │ │ │ ├── set.cpp
│ │ │ │ │ │ ├── size.cpp
│ │ │ │ │ │ └── subscript.cpp
│ │ │ │ │ ├── MemoryPool
│ │ │ │ │ │ ├── allocString.cpp
│ │ │ │ │ │ ├── allocVariant.cpp
│ │ │ │ │ │ ├── clear.cpp
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── size.cpp
│ │ │ │ │ │ └── StringBuilder.cpp
│ │ │ │ │ ├── Misc
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── conflicts.cpp
│ │ │ │ │ │ ├── FloatParts.cpp
│ │ │ │ │ │ ├── Issue978.cpp
│ │ │ │ │ │ ├── StreamReader.cpp
│ │ │ │ │ │ ├── StringAdapters.cpp
│ │ │ │ │ │ ├── StringWriter.cpp
│ │ │ │ │ │ ├── TypeTraits.cpp
│ │ │ │ │ │ ├── unsigned_char.cpp
│ │ │ │ │ │ └── version.cpp
│ │ │ │ │ ├── MixedConfiguration
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── cpp11.cpp
│ │ │ │ │ │ ├── decode_unicode_0.cpp
│ │ │ │ │ │ ├── decode_unicode_1.cpp
│ │ │ │ │ │ ├── enable_infinity_0.cpp
│ │ │ │ │ │ ├── enable_infinity_1.cpp
│ │ │ │ │ │ ├── enable_nan_0.cpp
│ │ │ │ │ │ ├── enable_nan_1.cpp
│ │ │ │ │ │ ├── use_double_0.cpp
│ │ │ │ │ │ ├── use_double_1.cpp
│ │ │ │ │ │ ├── use_long_long_0.cpp
│ │ │ │ │ │ └── use_long_long_1.cpp
│ │ │ │ │ ├── MsgPackDeserializer
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── deserializeArray.cpp
│ │ │ │ │ │ ├── deserializeObject.cpp
│ │ │ │ │ │ ├── deserializeStaticVariant.cpp
│ │ │ │ │ │ ├── deserializeVariant.cpp
│ │ │ │ │ │ ├── doubleToFloat.cpp
│ │ │ │ │ │ ├── incompleteInput.cpp
│ │ │ │ │ │ ├── input_types.cpp
│ │ │ │ │ │ ├── nestingLimit.cpp
│ │ │ │ │ │ └── notSupported.cpp
│ │ │ │ │ ├── MsgPackSerializer
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── destination_types.cpp
│ │ │ │ │ │ ├── measure.cpp
│ │ │ │ │ │ ├── misc.cpp
│ │ │ │ │ │ ├── serializeArray.cpp
│ │ │ │ │ │ ├── serializeObject.cpp
│ │ │ │ │ │ └── serializeVariant.cpp
│ │ │ │ │ ├── Numbers
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── parseFloat.cpp
│ │ │ │ │ │ ├── parseInteger.cpp
│ │ │ │ │ │ └── parseNumber.cpp
│ │ │ │ │ └── TextFormatter
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── writeFloat.cpp
│ │ │ │ │ └── writeString.cpp
│ │ │ │ └── third-party
│ │ │ │ └── catch
│ │ │ │ ├── catch.cpp
│ │ │ │ ├── catch.hpp
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── AS_BH1750
│ │ │ │ ├── AS_BH1750A.cpp
│ │ │ │ ├── AS_BH1750A.h
│ │ │ │ ├── AS_BH1750.cpp
│ │ │ │ ├── AS_BH1750.h
│ │ │ │ ├── examples
│ │ │ │ │ ├── BH1750Simple
│ │ │ │ │ │ └── BH1750Simple.ino
│ │ │ │ │ └── LightMeter_LCD
│ │ │ │ │ └── LightMeter_LCD.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── LICENSE
│ │ │ │ └── README.md
│ │ │ ├── Blynk
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.md
│ │ │ │ ├── scripts
│ │ │ │ │ ├── blynk_ctrl.py
│ │ │ │ │ ├── blynk-ser.bat
│ │ │ │ │ ├── blynk-ser.sh
│ │ │ │ │ ├── certs
│ │ │ │ │ │ └── server.crt
│ │ │ │ │ ├── com2tcp.bin
│ │ │ │ │ └── README.md
│ │ │ │ ├── src
│ │ │ │ │ ├── Adapters
│ │ │ │ │ │ └── BlynkArduinoClient.h
│ │ │ │ │ ├── Blynk
│ │ │ │ │ │ ├── BlynkApi.h
│ │ │ │ │ │ ├── BlynkConfig.h
│ │ │ │ │ │ ├── BlynkDebug.h
│ │ │ │ │ │ ├── BlynkDetectDevice.h
│ │ │ │ │ │ ├── BlynkHandlers.h
│ │ │ │ │ │ ├── BlynkParam.h
│ │ │ │ │ │ ├── BlynkProtocolDefs.h
│ │ │ │ │ │ └── BlynkProtocol.h
│ │ │ │ │ ├── BlynkApiArduino.h
│ │ │ │ │ ├── BlynkSimpleEsp8266.h
│ │ │ │ │ ├── BlynkSimpleEsp8266_SSL.h
│ │ │ │ │ ├── certs
│ │ │ │ │ │ ├── _blynk-cloudcom.crt
│ │ │ │ │ │ ├── _blynk-cloudcom.der
│ │ │ │ │ │ ├── blynkcloud_der.h
│ │ │ │ │ │ ├── blynkcloud_pem.h
│ │ │ │ │ │ ├── dst_der.h
│ │ │ │ │ │ ├── _DSTRootX3.der
│ │ │ │ │ │ ├── _DSTRootX3.pem
│ │ │ │ │ │ ├── isrgroot_der.h
│ │ │ │ │ │ ├── _ISRGRootX1.crt
│ │ │ │ │ │ ├── _ISRGRootX1.der
│ │ │ │ │ │ ├── _LetsEncryptAuthorityX3.crt
│ │ │ │ │ │ ├── _LetsEncryptAuthorityX3.der
│ │ │ │ │ │ ├── letsencrypt_der.h
│ │ │ │ │ │ └── letsencrypt_pem.h
│ │ │ │ │ └── utility
│ │ │ │ │ ├── BlynkDateTime.h
│ │ │ │ │ ├── BlynkDebug.cpp
│ │ │ │ │ ├── BlynkFifo.h
│ │ │ │ │ ├── BlynkHandlers.cpp
│ │ │ │ │ ├── BlynkUtility.h
│ │ │ │ │ └── utility.cpp
│ │ │ │ └── src_off
│ │ │ │ ├── Adapters
│ │ │ │ │ ├── BlynkArduinoGSM.h
│ │ │ │ │ ├── BlynkArduinoNB.h
│ │ │ │ │ ├── BlynkBLEPeripheralSerial.h
│ │ │ │ │ ├── BlynkCC3000.h
│ │ │ │ │ ├── BlynkEthernet.h
│ │ │ │ │ ├── BlynkGsmClient.h
│ │ │ │ │ ├── BlynkSerial.h
│ │ │ │ │ ├── BlynkWiFiCommon.h
│ │ │ │ │ ├── BlynkWiFly.h
│ │ │ │ │ └── BlynkWildFire.h
│ │ │ │ ├── Blynk
│ │ │ │ │ ├── BlynkEveryN.h
│ │ │ │ │ ├── BlynkTemplates.h
│ │ │ │ │ ├── BlynkTimer.h
│ │ │ │ │ └── BlynkWidgetBase.h
│ │ │ │ ├── BlynkApiMbed.h
│ │ │ │ ├── BlynkApiParticle.h
│ │ │ │ ├── Blynk.h
│ │ │ │ ├── BlynkParticle.h
│ │ │ │ ├── BlynkSimpleBLEPeripheral.h
│ │ │ │ ├── BlynkSimpleCC3000.h
│ │ │ │ ├── BlynkSimpleCurieBLE.h
│ │ │ │ ├── BlynkSimpleEnergiaEthernet.h
│ │ │ │ ├── BlynkSimpleEnergiaWiFi.h
│ │ │ │ ├── BlynkSimpleEsp32_BLE.h
│ │ │ │ ├── BlynkSimpleEsp32_BT.h
│ │ │ │ ├── BlynkSimpleEsp32.h
│ │ │ │ ├── BlynkSimpleEsp32_SSL.h
│ │ │ │ ├── BlynkSimpleEsp8266_SSL.h
│ │ │ │ ├── BlynkSimpleEthernet2.h
│ │ │ │ ├── BlynkSimpleEthernet.h
│ │ │ │ ├── BlynkSimpleEthernetSSL.h
│ │ │ │ ├── BlynkSimpleEthernetV2_0.h
│ │ │ │ ├── BlynkSimpleFishino.h
│ │ │ │ ├── BlynkSimpleIntelEdisonWiFi.h
│ │ │ │ ├── BlynkSimpleLinkItONE.h
│ │ │ │ ├── BlynkSimpleMKR1000.h
│ │ │ │ ├── BlynkSimpleMKRGSM.h
│ │ │ │ ├── BlynkSimpleMKRNB.h
│ │ │ │ ├── BlynkSimpleParticle.h
│ │ │ │ ├── BlynkSimpleRedBear_Duo_BLE.h
│ │ │ │ ├── BlynkSimpleRedBear_Duo.h
│ │ │ │ ├── BlynkSimpleRedBearLab_BLE_Nano.h
│ │ │ │ ├── BlynkSimpleRFduinoBLE.h
│ │ │ │ ├── BlynkSimpleSerialBLE.h
│ │ │ │ ├── BlynkSimpleShieldEsp8266.h
│ │ │ │ ├── BlynkSimpleSIM800.h
│ │ │ │ ├── BlynkSimpleSimbleeBLE.h
│ │ │ │ ├── BlynkSimpleStream.h
│ │ │ │ ├── BlynkSimpleTinyDuino.h
│ │ │ │ ├── BlynkSimpleTinyGSM.h
│ │ │ │ ├── BlynkSimpleUIPEthernet.h
│ │ │ │ ├── BlynkSimpleUserDefined.h
│ │ │ │ ├── BlynkSimpleWifi.h
│ │ │ │ ├── BlynkSimpleWiFiLink.h
│ │ │ │ ├── BlynkSimpleWiFiNINA.h
│ │ │ │ ├── BlynkSimpleWiFiShield101.h
│ │ │ │ ├── BlynkSimpleWiFiShield101_SSL.h
│ │ │ │ ├── BlynkSimpleWiFly.h
│ │ │ │ ├── BlynkSimpleWildFire.h
│ │ │ │ ├── BlynkSimpleWizFi310.h
│ │ │ │ ├── BlynkSimpleYun.h
│ │ │ │ ├── BlynkWidgets.h
│ │ │ │ ├── certs
│ │ │ │ │ ├── _blynk-cloudcom.crt
│ │ │ │ │ ├── _blynk-cloudcom.der
│ │ │ │ │ ├── blynkcloud_der.h
│ │ │ │ │ ├── blynkcloud_pem.h
│ │ │ │ │ ├── dst_der.h
│ │ │ │ │ ├── _DSTRootX3.der
│ │ │ │ │ ├── _DSTRootX3.pem
│ │ │ │ │ ├── isrgroot_der.h
│ │ │ │ │ ├── _ISRGRootX1.crt
│ │ │ │ │ ├── _ISRGRootX1.der
│ │ │ │ │ ├── _LetsEncryptAuthorityX3.crt
│ │ │ │ │ ├── _LetsEncryptAuthorityX3.der
│ │ │ │ │ ├── letsencrypt_der.h
│ │ │ │ │ └── letsencrypt_pem.h
│ │ │ │ ├── utility
│ │ │ │ │ └── BlynkTimer.cpp
│ │ │ │ ├── WidgetBridge.h
│ │ │ │ ├── WidgetGPS.h
│ │ │ │ ├── WidgetLCD.h
│ │ │ │ ├── WidgetLED.h
│ │ │ │ ├── WidgetMap.h
│ │ │ │ ├── WidgetRTC.h
│ │ │ │ ├── WidgetSD.h
│ │ │ │ ├── WidgetTable.h
│ │ │ │ ├── WidgetTerminal.h
│ │ │ │ └── WidgetTimeInput.h
│ │ │ ├── ccronexpr
│ │ │ │ ├── appveyor.yml
│ │ │ │ ├── ccronexpr.c
│ │ │ │ ├── ccronexpr.h
│ │ │ │ ├── LICENSE.txt
│ │ │ │ └── README.md
│ │ │ ├── ESP32_ping
│ │ │ │ ├── esp32_ping.cpp
│ │ │ │ ├── esp32_ping.h
│ │ │ │ ├── PingTest
│ │ │ │ │ └── PingTest.ino
│ │ │ │ └── README.md
│ │ │ ├── esp8266-oled-ssd1306
│ │ │ │ ├── Dialog_Plain_12_font.h
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── license
│ │ │ │ ├── OLEDDisplay.cpp
│ │ │ │ ├── OLEDDisplayFonts.h
│ │ │ │ ├── OLEDDisplay.h
│ │ │ │ ├── OLEDDisplayUi.cpp
│ │ │ │ ├── OLEDDisplayUi.h
│ │ │ │ ├── OLED_SSD1306_SH1106_images.h
│ │ │ │ ├── README.md
│ │ │ │ ├── SH1106Brzo.h
│ │ │ │ ├── SH1106.h
│ │ │ │ ├── SH1106Spi.h
│ │ │ │ ├── SH1106Wire.h
│ │ │ │ ├── SSD1306Brzo.h
│ │ │ │ ├── SSD1306.h
│ │ │ │ ├── SSD1306Spi.h
│ │ │ │ ├── SSD1306Wire.h
│ │ │ │ └── UPGRADE-3.0.md
│ │ │ ├── ESPEasy_ESP8266Ping
│ │ │ │ ├── examples
│ │ │ │ │ ├── HostPing
│ │ │ │ │ │ └── HostPing.ino
│ │ │ │ │ └── SimplePing
│ │ │ │ │ └── SimplePing.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── src
│ │ │ │ ├── ESP8266Ping.h
│ │ │ │ └── ESP8266Ping.impl.h
│ │ │ ├── ESPEasySerial
│ │ │ │ ├── ESPEasySerial_ESP32.cpp
│ │ │ │ ├── ESPeasySerial_ESP8266.cpp
│ │ │ │ ├── ESPEasySerial_ESP8266_noSWserial.cpp
│ │ │ │ ├── ESPeasySerial.h
│ │ │ │ ├── ESPEasySoftwareSerial.cpp
│ │ │ │ ├── ESPEasySoftwareSerial.h
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ └── README.md
│ │ │ ├── HeatpumpIR
│ │ │ │ ├── AIRWAYHeatpumpIR.cpp
│ │ │ │ ├── AIRWAYHeatpumpIR.h
│ │ │ │ ├── arduino_irsender.png
│ │ │ │ ├── AUXHeatpumpIR.cpp
│ │ │ │ ├── AUXHeatpumpIR.h
│ │ │ │ ├── BalluHeatpumpIR.cpp
│ │ │ │ ├── BalluHeatpumpIR.h
│ │ │ │ ├── BGHHeatpumpIR.cpp
│ │ │ │ ├── BGHHeatpumpIR.h
│ │ │ │ ├── CarrierHeatpumpIR.cpp
│ │ │ │ ├── CarrierHeatpumpIR.h
│ │ │ │ ├── DaikinHeatpumpARC417IR.cpp
│ │ │ │ ├── DaikinHeatpumpARC417IR.h
│ │ │ │ ├── DaikinHeatpumpIR.cpp
│ │ │ │ ├── DaikinHeatpumpIR.h
│ │ │ │ ├── examples
│ │ │ │ │ ├── CarrierTest
│ │ │ │ │ │ └── CarrierTest.ino
│ │ │ │ │ ├── DaiseikaiTest
│ │ │ │ │ │ └── DaiseikaiTest.ino
│ │ │ │ │ ├── HisenseTest
│ │ │ │ │ │ └── HisenseTest.ino
│ │ │ │ │ ├── MideaRelayControl
│ │ │ │ │ │ └── MideaRelayControl.ino
│ │ │ │ │ ├── PanasonicCKPTimer
│ │ │ │ │ │ └── PanasonicCKPTimer.ino
│ │ │ │ │ ├── PanasonicRelayControl
│ │ │ │ │ │ └── PanasonicRelayControl.ino
│ │ │ │ │ ├── rawsender
│ │ │ │ │ │ └── rawsender.ino
│ │ │ │ │ └── simple
│ │ │ │ │ └── simple.ino
│ │ │ │ ├── FuegoHeatpumpIR.cpp
│ │ │ │ ├── FuegoHeatpumpIR.h
│ │ │ │ ├── FujitsuHeatpumpIR.cpp
│ │ │ │ ├── FujitsuHeatpumpIR.h
│ │ │ │ ├── GreeHeatpumpIR.cpp
│ │ │ │ ├── GreeHeatpumpIR.h
│ │ │ │ ├── HeatpumpIR.cpp
│ │ │ │ ├── HeatpumpIR.h
│ │ │ │ ├── HisenseHeatpumpIR.cpp
│ │ │ │ ├── HisenseHeatpumpIR.h
│ │ │ │ ├── HitachiHeatpumpIR.cpp
│ │ │ │ ├── HitachiHeatpumpIR.h
│ │ │ │ ├── HyundaiHeatpumpIR.cpp
│ │ │ │ ├── HyundaiHeatpumpIR.h
│ │ │ │ ├── IRSenderBitBang.cpp
│ │ │ │ ├── IRSenderBlaster.cpp
│ │ │ │ ├── IRSender.cpp
│ │ │ │ ├── IRSenderESP32.cpp
│ │ │ │ ├── IRSenderESP8266Alt.cpp
│ │ │ │ ├── IRSenderESP8266.cpp
│ │ │ │ ├── IRSender.h
│ │ │ │ ├── IRSenderIRremoteESP8266.cpp
│ │ │ │ ├── IRSenderPWM.cpp
│ │ │ │ ├── IVTHeatpumpIR.cpp
│ │ │ │ ├── IVTHeatpumpIR.h
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── MideaHeatpumpIR.cpp
│ │ │ │ ├── MideaHeatpumpIR.h
│ │ │ │ ├── MitsubishiHeatpumpIR.cpp
│ │ │ │ ├── MitsubishiHeatpumpIR.h
│ │ │ │ ├── MitsubishiHeavyHeatpumpIR.cpp
│ │ │ │ ├── MitsubishiHeavyHeatpumpIR.h
│ │ │ │ ├── MitsubishiSEZKDXXHeatpumpIR.cpp
│ │ │ │ ├── MitsubishiSEZKDXXHeatpumpIR.h
│ │ │ │ ├── PanasonicAltDKEHeatpumpIR.cpp
│ │ │ │ ├── PanasonicAltDKEHeatpumpIR.h
│ │ │ │ ├── PanasonicCKPHeatpumpIR.cpp
│ │ │ │ ├── PanasonicCKPHeatpumpIR.h
│ │ │ │ ├── PanasonicHeatpumpIR.cpp
│ │ │ │ ├── PanasonicHeatpumpIR.h
│ │ │ │ ├── R51MHeatpumpIR.cpp
│ │ │ │ ├── R51MHeatpumpIR.h
│ │ │ │ ├── README.md
│ │ │ │ ├── SamsungHeatpumpIR.cpp
│ │ │ │ ├── SamsungHeatpumpIR.h
│ │ │ │ ├── SharpHeatpumpIR.cpp
│ │ │ │ ├── SharpHeatpumpIR.h
│ │ │ │ ├── ToshibaDaiseikaiHeatpumpIR.cpp
│ │ │ │ ├── ToshibaDaiseikaiHeatpumpIR.h
│ │ │ │ ├── ToshibaHeatpumpIR.cpp
│ │ │ │ └── ToshibaHeatpumpIR.h
│ │ │ ├── HLW8012_1.1.1
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── docs
│ │ │ │ │ ├── HLW8012.pdf
│ │ │ │ │ └── HLW8012_pinout.png
│ │ │ │ ├── examples
│ │ │ │ │ ├── HLW8012_Basic
│ │ │ │ │ │ ├── HLW8012_Basic.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── HLW8012_Basic_Sleep
│ │ │ │ │ │ ├── HLW8012_Basic_Sleep.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ └── HLW8012_Interrupts
│ │ │ │ │ ├── HLW8012_Interrupts.ino
│ │ │ │ │ └── platformio.ini
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── pre-commit
│ │ │ │ ├── README.md
│ │ │ │ └── src
│ │ │ │ ├── HLW8012.cpp
│ │ │ │ └── HLW8012.h
│ │ │ ├── HT16K33
│ │ │ │ ├── HT16K33.cpp
│ │ │ │ ├── HT16K33.h
│ │ │ │ └── library.properties
│ │ │ ├── I2Cdevlib
│ │ │ │ ├── I2Cdev.cpp
│ │ │ │ ├── I2Cdev.h
│ │ │ │ ├── keywords.txt
│ │ │ │ └── library.json
│ │ │ ├── IRremoteESP8266
│ │ │ │ ├── CPPLINT.cfg
│ │ │ │ ├── examples
│ │ │ │ │ ├── CommonAcControl
│ │ │ │ │ │ ├── CommonAcControl.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── ControlSamsungAC
│ │ │ │ │ │ ├── ControlSamsungAC.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── DumbIRRepeater
│ │ │ │ │ │ ├── DumbIRRepeater.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRGCSendDemo
│ │ │ │ │ │ ├── IRGCSendDemo.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRGCTCPServer
│ │ │ │ │ │ ├── IRGCTCPServer.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRMQTTServer
│ │ │ │ │ │ ├── IRMQTTServer.h
│ │ │ │ │ │ ├── IRMQTTServer.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRrecvDemo
│ │ │ │ │ │ ├── IRrecvDemo.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRrecvDump
│ │ │ │ │ │ ├── IRrecvDump.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRrecvDumpV2
│ │ │ │ │ │ ├── IRrecvDumpV2.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRsendDemo
│ │ │ │ │ │ ├── IRsendDemo.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRsendProntoDemo
│ │ │ │ │ │ ├── IRsendProntoDemo.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── IRServer
│ │ │ │ │ │ ├── IRServer.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── JVCPanasonicSendDemo
│ │ │ │ │ │ ├── JVCPanasonicSendDemo.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── LGACSend
│ │ │ │ │ │ ├── LGACSend.ino
│ │ │ │ │ │ └── platformio.ini
│ │ │ │ │ ├── SmartIRRepeater
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── SmartIRRepeater.ino
│ │ │ │ │ ├── TurnOnArgoAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnArgoAC.ino
│ │ │ │ │ ├── TurnOnDaikinAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnDaikinAC.ino
│ │ │ │ │ ├── TurnOnFujitsuAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnFujitsuAC.ino
│ │ │ │ │ ├── TurnOnKelvinatorAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnKelvinatorAC.ino
│ │ │ │ │ ├── TurnOnMitsubishiAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnMitsubishiAC.ino
│ │ │ │ │ ├── TurnOnMitsubishiHeavyAc
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnMitsubishiHeavyAc.ino
│ │ │ │ │ ├── TurnOnPanasonicAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnPanasonicAC.ino
│ │ │ │ │ ├── TurnOnToshibaAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnToshibaAC.ino
│ │ │ │ │ ├── TurnOnTrotecAC
│ │ │ │ │ │ ├── platformio.ini
│ │ │ │ │ │ └── TurnOnTrotecAC.ino
│ │ │ │ │ └── Web-AC-control
│ │ │ │ │ ├── platformio.ini
│ │ │ │ │ ├── printscreen.png
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── upload
│ │ │ │ │ │ ├── favicon.ico
│ │ │ │ │ │ ├── level_1_off.svg
│ │ │ │ │ │ ├── level_1_on.svg
│ │ │ │ │ │ ├── level_2_off.svg
│ │ │ │ │ │ ├── level_2_on.svg
│ │ │ │ │ │ ├── level_3_off.svg
│ │ │ │ │ │ ├── level_3_on.svg
│ │ │ │ │ │ ├── level_4_off.svg
│ │ │ │ │ │ ├── level_4_on.svg
│ │ │ │ │ │ ├── ui.html
│ │ │ │ │ │ └── ui.js
│ │ │ │ │ └── Web-AC-control.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── platformio.ini
│ │ │ │ ├── pylintrc
│ │ │ │ ├── README_fr.md
│ │ │ │ ├── README.md
│ │ │ │ ├── ReleaseNotes.md
│ │ │ │ ├── src
│ │ │ │ │ ├── CPPLINT.cfg
│ │ │ │ │ ├── i18n.h
│ │ │ │ │ ├── IRac.cpp
│ │ │ │ │ ├── IRac.h
│ │ │ │ │ ├── ir_Aiwa.cpp
│ │ │ │ │ ├── ir_Amcor.cpp
│ │ │ │ │ ├── ir_Amcor.h
│ │ │ │ │ ├── ir_Argo.cpp
│ │ │ │ │ ├── ir_Argo.h
│ │ │ │ │ ├── ir_Carrier.cpp
│ │ │ │ │ ├── ir_Coolix.cpp
│ │ │ │ │ ├── ir_Coolix.h
│ │ │ │ │ ├── ir_Daikin.cpp
│ │ │ │ │ ├── ir_Daikin.h
│ │ │ │ │ ├── ir_Denon.cpp
│ │ │ │ │ ├── ir_Dish.cpp
│ │ │ │ │ ├── ir_Electra.cpp
│ │ │ │ │ ├── ir_Electra.h
│ │ │ │ │ ├── ir_Fujitsu.cpp
│ │ │ │ │ ├── ir_Fujitsu.h
│ │ │ │ │ ├── ir_GICable.cpp
│ │ │ │ │ ├── ir_GlobalCache.cpp
│ │ │ │ │ ├── ir_Goodweather.cpp
│ │ │ │ │ ├── ir_Goodweather.h
│ │ │ │ │ ├── ir_Gree.cpp
│ │ │ │ │ ├── ir_Gree.h
│ │ │ │ │ ├── ir_Haier.cpp
│ │ │ │ │ ├── ir_Haier.h
│ │ │ │ │ ├── ir_Hitachi.cpp
│ │ │ │ │ ├── ir_Hitachi.h
│ │ │ │ │ ├── ir_Inax.cpp
│ │ │ │ │ ├── ir_JVC.cpp
│ │ │ │ │ ├── ir_Kelvinator.cpp
│ │ │ │ │ ├── ir_Kelvinator.h
│ │ │ │ │ ├── ir_Lasertag.cpp
│ │ │ │ │ ├── ir_Lego.cpp
│ │ │ │ │ ├── ir_LG.cpp
│ │ │ │ │ ├── ir_LG.h
│ │ │ │ │ ├── ir_Lutron.cpp
│ │ │ │ │ ├── ir_Magiquest.cpp
│ │ │ │ │ ├── ir_Magiquest.h
│ │ │ │ │ ├── ir_Midea.cpp
│ │ │ │ │ ├── ir_Midea.h
│ │ │ │ │ ├── ir_Mitsubishi.cpp
│ │ │ │ │ ├── ir_Mitsubishi.h
│ │ │ │ │ ├── ir_MitsubishiHeavy.cpp
│ │ │ │ │ ├── ir_MitsubishiHeavy.h
│ │ │ │ │ ├── ir_MWM.cpp
│ │ │ │ │ ├── ir_NEC.cpp
│ │ │ │ │ ├── ir_NEC.h
│ │ │ │ │ ├── ir_Neoclima.cpp
│ │ │ │ │ ├── ir_Neoclima.h
│ │ │ │ │ ├── ir_Nikai.cpp
│ │ │ │ │ ├── ir_Panasonic.cpp
│ │ │ │ │ ├── ir_Panasonic.h
│ │ │ │ │ ├── ir_Pioneer.cpp
│ │ │ │ │ ├── ir_Pronto.cpp
│ │ │ │ │ ├── ir_RC5_RC6.cpp
│ │ │ │ │ ├── ir_RCMM.cpp
│ │ │ │ │ ├── IRrecv.cpp
│ │ │ │ │ ├── IRrecv.h
│ │ │ │ │ ├── IRremoteESP8266.h
│ │ │ │ │ ├── ir_Samsung.cpp
│ │ │ │ │ ├── ir_Samsung.h
│ │ │ │ │ ├── ir_Sanyo.cpp
│ │ │ │ │ ├── IRsend.cpp
│ │ │ │ │ ├── IRsend.h
│ │ │ │ │ ├── ir_Sharp.cpp
│ │ │ │ │ ├── ir_Sharp.h
│ │ │ │ │ ├── ir_Sherwood.cpp
│ │ │ │ │ ├── ir_Sony.cpp
│ │ │ │ │ ├── ir_Tcl.cpp
│ │ │ │ │ ├── ir_Tcl.h
│ │ │ │ │ ├── ir_Teco.cpp
│ │ │ │ │ ├── ir_Teco.h
│ │ │ │ │ ├── IRtext.cpp
│ │ │ │ │ ├── IRtext.h
│ │ │ │ │ ├── IRtimer.cpp
│ │ │ │ │ ├── IRtimer.h
│ │ │ │ │ ├── ir_Toshiba.cpp
│ │ │ │ │ ├── ir_Toshiba.h
│ │ │ │ │ ├── ir_Trotec.cpp
│ │ │ │ │ ├── ir_Trotec.h
│ │ │ │ │ ├── IRutils.cpp
│ │ │ │ │ ├── IRutils.h
│ │ │ │ │ ├── ir_Vestel.cpp
│ │ │ │ │ ├── ir_Vestel.h
│ │ │ │ │ ├── ir_Whirlpool.cpp
│ │ │ │ │ ├── ir_Whirlpool.h
│ │ │ │ │ ├── ir_Whynter.cpp
│ │ │ │ │ └── locale
│ │ │ │ │ ├── de-CH.h
│ │ │ │ │ ├── de-DE.h
│ │ │ │ │ ├── defaults.h
│ │ │ │ │ ├── en-AU.h
│ │ │ │ │ ├── en-IE.h
│ │ │ │ │ ├── en-UK.h
│ │ │ │ │ ├── en-US.h
│ │ │ │ │ ├── es-ES.h
│ │ │ │ │ ├── fr-FR.h
│ │ │ │ │ └── README.md
│ │ │ │ ├── SupportedProtocols.md
│ │ │ │ ├── test
│ │ │ │ │ ├── IRac_test.cpp
│ │ │ │ │ ├── ir_Aiwa_test.cpp
│ │ │ │ │ ├── ir_Amcor_test.cpp
│ │ │ │ │ ├── ir_Argo_test.cpp
│ │ │ │ │ ├── ir_Carrier_test.cpp
│ │ │ │ │ ├── ir_Coolix_test.cpp
│ │ │ │ │ ├── ir_Daikin_test.cpp
│ │ │ │ │ ├── ir_Denon_test.cpp
│ │ │ │ │ ├── ir_Dish_test.cpp
│ │ │ │ │ ├── ir_Electra_test.cpp
│ │ │ │ │ ├── ir_Fujitsu_test.cpp
│ │ │ │ │ ├── ir_GICable_test.cpp
│ │ │ │ │ ├── ir_GlobalCache_test.cpp
│ │ │ │ │ ├── ir_Goodweather_test.cpp
│ │ │ │ │ ├── ir_Gree_test.cpp
│ │ │ │ │ ├── ir_Haier_test.cpp
│ │ │ │ │ ├── ir_Hitachi_test.cpp
│ │ │ │ │ ├── ir_Inax_test.cpp
│ │ │ │ │ ├── ir_JVC_test.cpp
│ │ │ │ │ ├── ir_Kelvinator_test.cpp
│ │ │ │ │ ├── ir_Lasertag_test.cpp
│ │ │ │ │ ├── ir_Lego_test.cpp
│ │ │ │ │ ├── ir_LG_test.cpp
│ │ │ │ │ ├── ir_Lutron_test.cpp
│ │ │ │ │ ├── ir_Magiquest_test.cpp
│ │ │ │ │ ├── ir_Midea_test.cpp
│ │ │ │ │ ├── ir_MitsubishiHeavy_test.cpp
│ │ │ │ │ ├── ir_Mitsubishi_test.cpp
│ │ │ │ │ ├── ir_MWM_test.cpp
│ │ │ │ │ ├── ir_NEC_test.cpp
│ │ │ │ │ ├── ir_Neoclima_test.cpp
│ │ │ │ │ ├── ir_Nikai_test.cpp
│ │ │ │ │ ├── ir_Panasonic_test.cpp
│ │ │ │ │ ├── ir_Pioneer_test.cpp
│ │ │ │ │ ├── ir_Pronto_test.cpp
│ │ │ │ │ ├── ir_RC5_RC6_test.cpp
│ │ │ │ │ ├── ir_RCMM_test.cpp
│ │ │ │ │ ├── IRrecv_test.cpp
│ │ │ │ │ ├── IRrecv_test.h
│ │ │ │ │ ├── ir_Samsung_test.cpp
│ │ │ │ │ ├── ir_Sanyo_test.cpp
│ │ │ │ │ ├── IRsend_test.cpp
│ │ │ │ │ ├── IRsend_test.h
│ │ │ │ │ ├── ir_Sharp_test.cpp
│ │ │ │ │ ├── ir_Sherwood_test.cpp
│ │ │ │ │ ├── ir_Sony_test.cpp
│ │ │ │ │ ├── ir_Tcl_test.cpp
│ │ │ │ │ ├── ir_Teco_test.cpp
│ │ │ │ │ ├── ir_Toshiba_test.cpp
│ │ │ │ │ ├── ir_Trotec_test.cpp
│ │ │ │ │ ├── IRutils_test.cpp
│ │ │ │ │ ├── ir_Vestel_test.cpp
│ │ │ │ │ ├── ir_Whirlpool_test.cpp
│ │ │ │ │ ├── ir_Whynter_test.cpp
│ │ │ │ │ └── Makefile
│ │ │ │ └── tools
│ │ │ │ ├── auto_analyse_raw_data.py
│ │ │ │ ├── auto_analyse_raw_data_test.py
│ │ │ │ ├── gc_decode.cpp
│ │ │ │ ├── generate_irtext_h.sh
│ │ │ │ ├── Makefile
│ │ │ │ ├── mkkeywords
│ │ │ │ ├── mode2_decode.cpp
│ │ │ │ ├── RawToGlobalCache.sh
│ │ │ │ └── scrape_supported_devices.py
│ │ │ ├── LiquidCrystal_I2C
│ │ │ │ ├── examples
│ │ │ │ │ ├── CustomChars
│ │ │ │ │ │ └── CustomChars.pde
│ │ │ │ │ ├── HelloWorld
│ │ │ │ │ │ └── HelloWorld.pde
│ │ │ │ │ └── SerialDisplay
│ │ │ │ │ └── SerialDisplay.pde
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LiquidCrystal_I2C.cpp
│ │ │ │ ├── LiquidCrystal_I2C.h
│ │ │ │ └── README.md
│ │ │ ├── MechInputs
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── QEIx4.cpp
│ │ │ │ ├── QEIx4.h
│ │ │ │ └── README.md
│ │ │ ├── NewPingESP8266
│ │ │ │ ├── examples
│ │ │ │ │ └── NewPingESP8266Example
│ │ │ │ │ └── NewPingESP8266Example.pde
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── LICENSE
│ │ │ │ ├── NewPingESP8266.cpp
│ │ │ │ ├── NewPingESP8266.h
│ │ │ │ └── README.md
│ │ │ ├── pubsubclient
│ │ │ │ ├── CHANGES.txt
│ │ │ │ ├── examples
│ │ │ │ │ ├── mqtt_auth
│ │ │ │ │ │ └── mqtt_auth.ino
│ │ │ │ │ ├── mqtt_basic
│ │ │ │ │ │ └── mqtt_basic.ino
│ │ │ │ │ ├── mqtt_esp8266
│ │ │ │ │ │ └── mqtt_esp8266.ino
│ │ │ │ │ ├── mqtt_large_message
│ │ │ │ │ │ └── mqtt_large_message.ino
│ │ │ │ │ ├── mqtt_publish_in_callback
│ │ │ │ │ │ └── mqtt_publish_in_callback.ino
│ │ │ │ │ ├── mqtt_reconnect_nonblocking
│ │ │ │ │ │ └── mqtt_reconnect_nonblocking.ino
│ │ │ │ │ └── mqtt_stream
│ │ │ │ │ └── mqtt_stream.ino
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.json
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── README.md
│ │ │ │ ├── src
│ │ │ │ │ ├── PubSubClient.cpp
│ │ │ │ │ └── PubSubClient.h
│ │ │ │ └── tests
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.md
│ │ │ │ ├── src
│ │ │ │ │ ├── connect_spec.cpp
│ │ │ │ │ ├── keepalive_spec.cpp
│ │ │ │ │ ├── lib
│ │ │ │ │ │ ├── Arduino.h
│ │ │ │ │ │ ├── BDDTest.cpp
│ │ │ │ │ │ ├── BDDTest.h
│ │ │ │ │ │ ├── Buffer.cpp
│ │ │ │ │ │ ├── Buffer.h
│ │ │ │ │ │ ├── Client.h
│ │ │ │ │ │ ├── IPAddress.cpp
│ │ │ │ │ │ ├── IPAddress.h
│ │ │ │ │ │ ├── Print.h
│ │ │ │ │ │ ├── ShimClient.cpp
│ │ │ │ │ │ ├── ShimClient.h
│ │ │ │ │ │ ├── Stream.cpp
│ │ │ │ │ │ ├── Stream.h
│ │ │ │ │ │ └── trace.h
│ │ │ │ │ ├── publish_spec.cpp
│ │ │ │ │ ├── receive_spec.cpp
│ │ │ │ │ └── subscribe_spec.cpp
│ │ │ │ ├── testcases
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── mqtt_basic.py
│ │ │ │ │ ├── mqtt_publish_in_callback.py
│ │ │ │ │ └── settings.py
│ │ │ │ └── testsuite.py
│ │ │ ├── RN2483-Arduino-Library
│ │ │ │ ├── examples
│ │ │ │ │ ├── ArduinoUnoNano-basic
│ │ │ │ │ │ └── ArduinoUnoNano-basic.ino
│ │ │ │ │ ├── ArduinoUnoNano-downlink
│ │ │ │ │ │ └── ArduinoUnoNano-downlink.ino
│ │ │ │ │ ├── ESP8266-RN2483-basic
│ │ │ │ │ │ └── ESP8266-RN2483-basic.ino
│ │ │ │ │ ├── SodaqAutonomo-basic
│ │ │ │ │ │ └── SodaqAutonomo-basic.ino
│ │ │ │ │ ├── SodaqOne-TTN-Mapper-ascii
│ │ │ │ │ │ ├── SodaqOne-TTN-Mapper-ascii.ino
│ │ │ │ │ │ ├── Sodaq_UBlox_GPS.cpp
│ │ │ │ │ │ └── Sodaq_UBlox_GPS.h
│ │ │ │ │ ├── SodaqOne-TTN-Mapper-binary
│ │ │ │ │ │ ├── SodaqOne-TTN-Mapper-binary.ino
│ │ │ │ │ │ ├── Sodaq_UBlox_GPS.cpp
│ │ │ │ │ │ └── Sodaq_UBlox_GPS.h
│ │ │ │ │ ├── TheThingsUno-basic
│ │ │ │ │ │ └── TheThingsUno-basic.ino
│ │ │ │ │ └── TheThingsUno-GPSshield-TTN-Mapper-binary
│ │ │ │ │ ├── TheThingsUno-GPSshield-TTN-Mapper-binary.ino
│ │ │ │ │ ├── TinyGPS++.cpp
│ │ │ │ │ └── TinyGPS++.h
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── src
│ │ │ │ ├── rn2xx3.cpp
│ │ │ │ └── rn2xx3.h
│ │ │ ├── SDM_Energy_Meter
│ │ │ │ ├── examples
│ │ │ │ │ ├── sdm_live_page
│ │ │ │ │ │ ├── index_page.h
│ │ │ │ │ │ └── sdm_live_page.ino
│ │ │ │ │ └── sdm_simple
│ │ │ │ │ └── sdm_simple.ino
│ │ │ │ ├── img
│ │ │ │ │ ├── hardware_sdm220_1.jpg
│ │ │ │ │ ├── hardware_sdm220_2.jpg
│ │ │ │ │ └── livepage.gif
│ │ │ │ ├── keywords.txt
│ │ │ │ ├── library.properties
│ │ │ │ ├── README.md
│ │ │ │ ├── SDM.cpp
│ │ │ │ └── SDM.h
│ │ │ ├── SerialDevices
│ │ │ │ ├── jkSDS011.cpp
│ │ │ │ ├── jkSDS011.h
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE
│ │ │ │ ├── SensorSerialBuffer.cpp
│ │ │ │ ├── SensorSerialBuffer.h
│ │ │ │ ├── SensorSerial.cpp
│ │ │ │ └── SensorSerial.h
│ │ │ ├── SparkFun_APDS-9960_Sensor_Arduino_Library
│ │ │ │ ├── examples
│ │ │ │ │ ├── AmbientLightInterrupt
│ │ │ │ │ │ └── AmbientLightInterrupt.ino
│ │ │ │ │ ├── ColorSensor
│ │ │ │ │ │ └── ColorSensor.ino
│ │ │ │ │ ├── GestureTest
│ │ │ │ │ │ └── GestureTest.ino
│ │ │ │ │ ├── ProximityInterrupt
│ │ │ │ │ │ └── ProximityInterrupt.ino
│ │ │ │ │ └── ProximitySensor
│ │ │ │ │ └── ProximitySensor.ino
│ │ │ │ ├── library.properties
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ └── src
│ │ │ │ ├── README.md
│ │ │ │ ├── SparkFun_APDS9960.cpp
│ │ │ │ └── SparkFun_APDS9960.h
│ │ │ └── TinyGPSPlus-1.0.2
│ │ │ ├── examples
│ │ │ │ ├── BasicExample
│ │ │ │ │ └── BasicExample.ino
│ │ │ │ ├── DeviceExample
│ │ │ │ │ └── DeviceExample.ino
│ │ │ │ ├── FullExample
│ │ │ │ │ └── FullExample.ino
│ │ │ │ ├── KitchenSink
│ │ │ │ │ └── KitchenSink.ino
│ │ │ │ ├── SatElevTracker
│ │ │ │ │ ├── sample_satellite_elevation_log.txt
│ │ │ │ │ └── SatElevTracker.ino
│ │ │ │ ├── SatelliteTracker
│ │ │ │ │ └── SatelliteTracker.ino
│ │ │ │ └── UsingCustomFields
│ │ │ │ └── UsingCustomFields.ino
│ │ │ ├── keywords.txt
│ │ │ ├── library.json
│ │ │ ├── library.properties
│ │ │ └── src
│ │ │ ├── TinyGPS++.cpp
│ │ │ └── TinyGPS++.h
│ │ ├── platformio_core_defs.ini
│ │ ├── platformio_esp32_envs.ini
│ │ ├── platformio_esp82xx_base.ini
│ │ ├── platformio_esp82xx_envs.ini
│ │ ├── platformio.ini
│ │ ├── platformio_special_envs.ini
│ │ └── src
│ │ ├── add_uses_defines.sh
│ │ ├── _C001.ino
│ │ ├── _C002.ino
│ │ ├── _C003.ino
│ │ ├── _C004.ino
│ │ ├── _C005.ino
│ │ ├── _C006.ino
│ │ ├── _C007.ino
│ │ ├── _C008.ino
│ │ ├── _C009.ino
│ │ ├── _C010.ino
│ │ ├── _C011.ino
│ │ ├── _C012.ino
│ │ ├── _C013.ino
│ │ ├── _C014.ino
│ │ ├── _C015.ino
│ │ ├── _C016.ino
│ │ ├── _C017.ino
│ │ ├── _C018.ino
│ │ ├── Command.ino
│ │ ├── Controller.ino
│ │ ├── Convert.ino
│ │ ├── _CPlugin_DomoticzHelper.ino
│ │ ├── _CPlugin_Helper.cpp
│ │ ├── _CPlugin_Helper.h
│ │ ├── _CPlugin_Helper_webform.ino
│ │ ├── __CPlugin.ino
│ │ ├── _CPlugin_LoRa_TTN_helper.ino
│ │ ├── _CPlugin_SensorTypeHelper.ino
│ │ ├── Custom-sample.h
│ │ ├── define_plugin_sets.h
│ │ ├── ESPEasy_buildinfo.h
│ │ ├── ESPEasy_checks.ino
│ │ ├── ESPEasy_common.cpp
│ │ ├── ESPEasy_common.h
│ │ ├── ESPeasyControllerCache.ino
│ │ ├── ESPEasy_fdwdecl.h
│ │ ├── ESPEasy-Globals.cpp
│ │ ├── ESPEasy-Globals.h
│ │ ├── ESPeasyGPIO.ino
│ │ ├── ESPEasy.ino
│ │ ├── ESPEasy_Log.h
│ │ ├── ESPEasy_Log.ino
│ │ ├── ESPEasy_packed_raw_data.cpp
│ │ ├── ESPEasy_packed_raw_data.h
│ │ ├── ESPEasy_plugindefs.h
│ │ ├── ESPEasyRTC.ino
│ │ ├── ESPEasyRules.ino
│ │ ├── ESPEasyStatistics.ino
│ │ ├── ESPEasyStorage.ino
│ │ ├── ESPEasyTimeTypes.h
│ │ ├── ESPEasyWiFi_credentials.ino
│ │ ├── ESPEasyWiFiEvent.cpp
│ │ ├── ESPEasyWiFiEvent.h
│ │ ├── ESPEasyWifi.ino
│ │ ├── ESPEasyWifi_ProcessEvent.ino
│ │ ├── Hardware.ino
│ │ ├── I2C.ino
│ │ ├── I2CTypes.h
│ │ ├── Misc.ino
│ │ ├── Modbus.ino
│ │ ├── Modbus_RTU.ino
│ │ ├── _N001_Email.ino
│ │ ├── _N002_Buzzer.ino
│ │ ├── Networking.ino
│ │ ├── __NPlugin.ino
│ │ ├── _P001_Switch.ino
│ │ ├── _P002_ADC.ino
│ │ ├── _P003_Pulse.ino
│ │ ├── _P004_Dallas.ino
│ │ ├── _P005_DHT.ino
│ │ ├── _P006_BMP085.ino
│ │ ├── _P007_PCF8591.ino
│ │ ├── _P008_RFID.ino
│ │ ├── _P009_MCP.ino
│ │ ├── _P010_BH1750.ino
│ │ ├── _P011_PME.ino
│ │ ├── _P012_LCD.ino
│ │ ├── _P013_HCSR04.ino
│ │ ├── _P014_SI7021.ino
│ │ ├── _P015_TSL2561.ino
│ │ ├── _P016_IR.ino
│ │ ├── _P017_PN532.ino
│ │ ├── _P018_Dust.ino
│ │ ├── _P019_PCF8574.ino
│ │ ├── _P020_Ser2Net.ino
│ │ ├── _P021_Level.ino
│ │ ├── _P022_PCA9685.ino
│ │ ├── _P023_OLED.ino
│ │ ├── _P024_MLX90614.ino
│ │ ├── _P025_ADS1115.ino
│ │ ├── _P026_Sysinfo.ino
│ │ ├── _P027_INA219.ino
│ │ ├── _P028_BME280.ino
│ │ ├── _P029_Output.ino
│ │ ├── _P030_BMP280.ino
│ │ ├── _P031_SHT1X.ino
│ │ ├── _P032_MS5611.ino
│ │ ├── _P033_Dummy.ino
│ │ ├── _P034_DHT12.ino
│ │ ├── _P035_IRTX.ino
│ │ ├── _P036_FrameOLED.ino
│ │ ├── _P037_MQTTImport.ino
│ │ ├── _P038_NeoPixel.ino
│ │ ├── _P039_Thermocouple.ino
│ │ ├── _P040_ID12.ino
│ │ ├── _P041_NeoClock.ino
│ │ ├── _P042_Candle.ino
│ │ ├── _P043_ClkOutput.ino
│ │ ├── _P044_P1WifiGateway.ino
│ │ ├── _P045_MPU6050.ino
│ │ ├── _P046_VentusW266.ino
│ │ ├── _P047_i2c-soil-moisture-sensor.ino
│ │ ├── _P048_Motorshield_v2.ino
│ │ ├── _P049_MHZ19.ino
│ │ ├── _P050_TCS34725.ino
│ │ ├── _P051_AM2320.ino
│ │ ├── _P052_SenseAir.ino
│ │ ├── _P053_PMSx003.ino
│ │ ├── _P054_DMX512.ino
│ │ ├── _P055_Chiming.ino
│ │ ├── _P056_SDS011-Dust.ino
│ │ ├── _P057_HT16K33_LED.ino
│ │ ├── _P058_HT16K33_KeyPad.ino
│ │ ├── _P059_Encoder.ino
│ │ ├── _P060_MCP3221.ino
│ │ ├── _P061_KeyPad.ino
│ │ ├── _P062_MPR121_KeyPad.ino
│ │ ├── _P063_TTP229_KeyPad.ino
│ │ ├── _P064_APDS9960.ino
│ │ ├── _P065_DRF0299_MP3.ino
│ │ ├── _P066_VEML6040.ino
│ │ ├── _P067_HX711_Load_Cell.ino
│ │ ├── _P068_SHT3x.ino
│ │ ├── _P069_LM75A.ino
│ │ ├── _P070_NeoPixel_Clock.ino
│ │ ├── _P071_Kamstrup401.ino
│ │ ├── _P072_HDC1080.ino
│ │ ├── _P073_7DGT.ino
│ │ ├── _P074_TSL2591.ino
│ │ ├── _P075_Nextion.ino
│ │ ├── _P076_HLW8012.ino
│ │ ├── _P077_CSE7766.ino
│ │ ├── _P078_Eastron.ino
│ │ ├── _P079_Wemos_Motorshield.ino
│ │ ├── _P080_DallasIButton.ino
│ │ ├── _P081_Cron.ino
│ │ ├── _P082_GPS.ino
│ │ ├── _P083_SGP30.ino
│ │ ├── _P084_VEML6070.ino
│ │ ├── _P085_AcuDC243.ino
│ │ ├── _P086_Homie.ino
│ │ ├── _P087_SerialProxy.ino
│ │ ├── _P088_HeatpumpIR.ino
│ │ ├── _P089_Ping.ino
│ │ ├── _Plugin_Helper.cpp
│ │ ├── _Plugin_Helper.h
│ │ ├── _Plugin_Helper_serial.ino
│ │ ├── __Plugin.ino
│ │ ├── _Pxxx_PluginTemplate.ino
│ │ ├── __ReleaseNotes.ino
│ │ ├── _Reporting.ino
│ │ ├── Scheduler.ino
│ │ ├── Serial.ino
│ │ ├── src
│ │ │ ├── Commands
│ │ │ │ ├── Blynk_c015.h
│ │ │ │ ├── Blynk.h
│ │ │ │ ├── Common.cpp
│ │ │ │ ├── Common.h
│ │ │ │ ├── Diagnostic.cpp
│ │ │ │ ├── Diagnostic.h
│ │ │ │ ├── HTTP.cpp
│ │ │ │ ├── HTTP.h
│ │ │ │ ├── i2c.cpp
│ │ │ │ ├── i2c.h
│ │ │ │ ├── MQTT.cpp
│ │ │ │ ├── MQTT.h
│ │ │ │ ├── Networks.cpp
│ │ │ │ ├── Networks.h
│ │ │ │ ├── Notifications.cpp
│ │ │ │ ├── Notifications.h
│ │ │ │ ├── RTC.cpp
│ │ │ │ ├── RTC.h
│ │ │ │ ├── Rules.cpp
│ │ │ │ ├── Rules.h
│ │ │ │ ├── SDCARD.cpp
│ │ │ │ ├── SDCARD.h
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── System.cpp
│ │ │ │ ├── System.h
│ │ │ │ ├── Tasks.cpp
│ │ │ │ ├── Tasks.h
│ │ │ │ ├── Time.cpp
│ │ │ │ ├── Time.h
│ │ │ │ ├── Timer.cpp
│ │ │ │ ├── Timer.h
│ │ │ │ ├── UDP.cpp
│ │ │ │ ├── UPD.h
│ │ │ │ ├── wd.cpp
│ │ │ │ ├── wd.h
│ │ │ │ ├── WiFi.cpp
│ │ │ │ └── WiFi.h
│ │ │ ├── ControllerQueue
│ │ │ │ ├── C004_queue_element.cpp
│ │ │ │ ├── C004_queue_element.h
│ │ │ │ ├── C007_queue_element.cpp
│ │ │ │ ├── C007_queue_element.h
│ │ │ │ ├── C009_queue_element.cpp
│ │ │ │ ├── C009_queue_element.h
│ │ │ │ ├── C015_queue_element.cpp
│ │ │ │ ├── C015_queue_element.h
│ │ │ │ ├── C016_queue_element.cpp
│ │ │ │ ├── C016_queue_element.h
│ │ │ │ ├── C017_queue_element.cpp
│ │ │ │ ├── C017_queue_element.h
│ │ │ │ ├── C018_queue_element.cpp
│ │ │ │ ├── C018_queue_element.h
│ │ │ │ ├── ControllerDelayHandlerStruct.h
│ │ │ │ ├── DelayQueueElements.h
│ │ │ │ ├── MQTT_queue_element.cpp
│ │ │ │ ├── MQTT_queue_element.h
│ │ │ │ ├── queue_element_single_value_base.cpp
│ │ │ │ ├── queue_element_single_value_base.h
│ │ │ │ ├── SimpleQueueElement_string_only.cpp
│ │ │ │ └── SimpleQueueElement_string_only.h
│ │ │ ├── DataStructs
│ │ │ │ ├── Caches.cpp
│ │ │ │ ├── Caches.h
│ │ │ │ ├── ControllerSettingsStruct.cpp
│ │ │ │ ├── ControllerSettingsStruct.h
│ │ │ │ ├── CRCStruct.cpp
│ │ │ │ ├── CRCStruct.h
│ │ │ │ ├── DeviceModel.h
│ │ │ │ ├── DeviceStruct.h
│ │ │ │ ├── ESPEasyDefaults.h
│ │ │ │ ├── ESPEasy_EventStruct.cpp
│ │ │ │ ├── ESPEasy_EventStruct.h
│ │ │ │ ├── ESPEasyLimits.h
│ │ │ │ ├── EventQueue.cpp
│ │ │ │ ├── EventQueue.h
│ │ │ │ ├── EventValueSource.h
│ │ │ │ ├── ExtraTaskSettingsStruct.cpp
│ │ │ │ ├── ExtraTaskSettingsStruct.h
│ │ │ │ ├── FactoryDefaultPref.cpp
│ │ │ │ ├── FactoryDefaultPref.h
│ │ │ │ ├── LogStruct.cpp
│ │ │ │ ├── LogStruct.h
│ │ │ │ ├── NodeStruct.h
│ │ │ │ ├── NotificationSettingsStruct.cpp
│ │ │ │ ├── NotificationSettingsStruct.h
│ │ │ │ ├── NotificationStruct.h
│ │ │ │ ├── PinMode.h
│ │ │ │ ├── PortStatusStruct.h
│ │ │ │ ├── ProtocolStruct.h
│ │ │ │ ├── RTCStruct.h
│ │ │ │ ├── SchedulerTimers.h
│ │ │ │ ├── SecurityStruct.cpp
│ │ │ │ ├── SecurityStruct.h
│ │ │ │ ├── SettingsStruct.cpp
│ │ │ │ ├── SettingsStruct.h
│ │ │ │ ├── SettingsType.h
│ │ │ │ ├── StorageLayout.h
│ │ │ │ ├── SystemTimerStruct.h
│ │ │ │ ├── TimingStats.cpp
│ │ │ │ └── TimingStats.h
│ │ │ ├── Globals
│ │ │ │ ├── Cache.cpp
│ │ │ │ ├── Cache.h
│ │ │ │ ├── CRCValues.cpp
│ │ │ │ ├── CRCValues.h
│ │ │ │ ├── Device.cpp
│ │ │ │ ├── Device.h
│ │ │ │ ├── ESPEasyWiFiEvent.cpp
│ │ │ │ ├── ESPEasyWiFiEvent.h
│ │ │ │ ├── ExtraTaskSettings.cpp
│ │ │ │ ├── ExtraTaskSettings.h
│ │ │ │ ├── GlobalMapPortStatus.cpp
│ │ │ │ ├── GlobalMapPortStatus.h
│ │ │ │ ├── Logging.cpp
│ │ │ │ ├── Logging.h
│ │ │ │ ├── MQTT.cpp
│ │ │ │ ├── MQTT.h
│ │ │ │ ├── Nodes.cpp
│ │ │ │ ├── Nodes.h
│ │ │ │ ├── Plugins.cpp
│ │ │ │ ├── Plugins.h
│ │ │ │ ├── ResetFactDefaultPref.cpp
│ │ │ │ ├── ResetFactoryDefaultPref.h
│ │ │ │ ├── RTC.cpp
│ │ │ │ ├── RTC.h
│ │ │ │ ├── SecuritySettings.cpp
│ │ │ │ ├── SecuritySettings.h
│ │ │ │ ├── Services.cpp
│ │ │ │ ├── Services.h
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── Statistics.cpp
│ │ │ │ └── Statistics.h
│ │ │ └── Static
│ │ │ └── WebStaticData.h
│ │ ├── StringConverter.ino
│ │ ├── StringProvider.ino
│ │ ├── StringProviderTypes.h
│ │ ├── TimeESPeasy.ino
│ │ ├── TimeZoneESPeasy.ino
│ │ ├── WebServer_404.ino
│ │ ├── WebServer_AccessControl.ino
│ │ ├── WebServer_AdvancedConfigPage.ino
│ │ ├── WebServer_CacheControllerPages.ino
│ │ ├── WebServer_ConfigPage.ino
│ │ ├── WebServer_ControllerPage.ino
│ │ ├── WebServer_ControlPage.ino
│ │ ├── WebServer_CustomPage.ino
│ │ ├── WebServer_DevicesPage.ino
│ │ ├── WebServer_DownloadPage.ino
│ │ ├── WebServer_FactoryResetPage.ino
│ │ ├── WebServer_Favicon.ino
│ │ ├── WebServer_FileList.ino
│ │ ├── WebServer_fwddecl.h
│ │ ├── WebServer_HardwarePage.ino
│ │ ├── WebServer_HTML_wrappers.ino
│ │ ├── WebServer_I2C_Scanner.ino
│ │ ├── WebServer.ino
│ │ ├── WebServer_JSON.ino
│ │ ├── WebServer_LoadFromFS.ino
│ │ ├── WebServer_login.ino
│ │ ├── WebServer_Log.ino
│ │ ├── WebServer_Markup_Buttons.ino
│ │ ├── WebServer_Markup_Forms.ino
│ │ ├── WebServer_Markup.ino
│ │ ├── WebServer_NotificationPage.ino
│ │ ├── WebServer_PinStates.ino
│ │ ├── WebServer_RootPage.ino
│ │ ├── WebServer_Rules.h
│ │ ├── WebServer_Rules.ino
│ │ ├── WebServer_SettingsArchive.ino
│ │ ├── WebServer_SetupPage.ino
│ │ ├── WebServer_SysInfoPage.ino
│ │ ├── WebServer_SysVarPage.ino
│ │ ├── WebServer_TimingStats.ino
│ │ ├── WebServer_ToolsPage.ino
│ │ ├── WebServer_UploadPage.ino
│ │ └── WebServer_WiFiScanner.ino
│ ├── esp-link
│ │ ├── esp-link-v3.0.14-g963ffbb
│ │ │ ├── combined esp-link-3.0.14.bin
│ │ │ ├── esp-link-v3.0.14-g963ffbb
│ │ │ │ ├── avrflash
│ │ │ │ ├── blank.bin
│ │ │ │ ├── boot_v1.6.bin
│ │ │ │ ├── esp_init_data_default.bin
│ │ │ │ ├── user1.bin
│ │ │ │ ├── user2.bin
│ │ │ │ └── wiflash
│ │ │ └── esp-link-v3.0.14-g963ffbb.tar
│ │ └── esp-link-v3.0.14-g963ffbb.tgz
│ └── ESP Radio
│ ├── radio 1.6.bin
│ ├── _temp_by_dltool
│ │ └── downloadPanel1
│ │ └── radio 1.6.bin_rep
│ └── WebStations.txt
├── IDE
│ ├── ESPlorer
│ │ ├── ESPlorer.bat
│ │ ├── ESPlorer.jar
│ │ ├── ESPlorer.Log
│ │ ├── lib
│ │ │ ├── AbsoluteLayout.jar
│ │ │ ├── beansbinding-1.2.1.jar
│ │ │ ├── jssc.jar
│ │ │ └── rsyntaxtextarea-2.5.8.jar
│ │ ├── _lua
│ │ │ ├── test100.lua
│ │ │ ├── test200.lua
│ │ │ ├── test300.lua
│ │ │ └── time.lua
│ │ ├── _micropython
│ │ │ ├── gpio2.py
│ │ │ └── gpio.py
│ │ └── version.txt
│ └── ESPlorer.zip
└── readme.MD
Обновим или восстановим прошивку с интерпретатором AT команд:
esp_firmware-master/Firmware/AT-other/AI-THINKER/At_firmware_bin1.54$
esptool --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -ff 40m -fs 8m 0x00000 AiThinker_ESP8266_DIO__20160615_V1.5.4.bin
WARNING: Flash size arguments in megabits like '8m' are deprecated.
Please use the equivalent size '1MB'.
Megabit arguments may be removed in a future release.
esptool.py v2.1
Connecting........_____.
Detecting chip type... ESP8266
Chip is ESP8266
Enabling default SPI flash mode...
Configuring flash size...
Erasing flash...
Took 0.81s to erase flash block
Wrote 1048576 bytes at 0x00000000 in 165.6 seconds (50.7 kbit/s)...
Leaving...
Hard resetting...
Не забываем своевременно нажимать RESET и Prog (см. статью Esptool).
Проверим работоспособность в терминале CuteCom (см. статью CuteCom монитор порта). Сначала на скорости 74880 после нажатия кнопки RESET:
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79
2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
rf[112] : 03
rf[113] : 00
rf[114] : 01
SDK ver: 1.5.4(baaeaebb) compiled @ May 17 2016 19:23:54
phy ver: 972, pp ver: 10.1
Затем на скорости 11520 даём команду AT+GMR:
AT+GMR
AT version:1.1.0.0(May 11 2016 18:09:56)
SDK version:1.5.4(baaeaebb)
Ai-Thinker Technology Co. Ltd.
Jun 13 2016 11:29:20
OK