不支持 ESP32,因依赖 ESP8266 Arduino 库中的 BearSSL;需用 PlatformIO 构建,构建时依赖代码生成流程;新手应先按安装指南配置 PlatformIO 环境
esp8266-iot-framework
maakbaasGPL-3.0活跃维护面向 ESP8266 的物联网开发框架,内置 HTTPS 请求、React 网页界面、WiFi 配网、实时仪表盘、配置与文件管理及 OTA 升级,省去从零搭建基础模块。
Framework for IoT projects implementing HTTPS requests, a React web interface, WiFi manager, live dashboard, configuration manager, file manager and OTA updates.
在 platformio.ini 中添加:lib_deps = ESP8266 IoT Framework面向 ESP8266 开发板,基于 ESP8266 Arduino 库;README 未说明具体型号、内存或 Flash 要求
ESP8266 项目的开箱即用起点,自带 HTTPS、React 网页、WiFi 配网和 OTA 升级
面向 ESP8266 的物联网开发框架,内置 HTTPS 请求、React 网页界面、WiFi 配网、实时仪表盘、配置与文件管理及 OTA 升级,省去从零搭建基础模块。
核心能力
- 构建时用 JSON 生成配置结构体和实时仪表盘
- 把 React 网页界面编译进 PROGMEM 固件
- 内置完整根证书库,可对任意 URL 发 HTTPS 请求
- 提供 WiFi 管理器、配置管理器和文件管理器
- 支持 OTA 固件在线升级,无需 SPIFFS/LittleFS 存储
容易踩的坑
- v1.12.0最新正式版2024-02-08 · 2024-02-08 14:44 UTC
Features
- Implement WiFi auto reconnect (PR #161)
Fixes
- Certificate store update
- Fix for Python 3.12 (fixes #168)
- Fix library dependencies (fixes #170)
- v1.11.12022-11-15 · 2022-11-15 22:27 UTC
查看更新说明
Fixes
- Fix for URL encoding (fixes #155)
- Compatibility with newer Node.js versions (fixes #158)
- v1.11.02022-09-04 · 2022-09-04 19:28 UTC
查看更新说明
Features
- Added option for password fields (Implements #141)
- Added configurable separator, lables and headers to HTML (Implements #147 and #148)
- Added French language (PR #153)
- Added WiFi manager callback functions (PR #150)
Fixes
- Documentation updates
- Certificate store update
- v1.10.02021-12-29 · 2021-12-29 09:13 UTC
查看更新说明
Features
- Added option for a slider to dashboard and config pages (Implements #134)
Fixes
- Documentation updates
- Fixed an issue where clicking forget would not actually forget the WiFi details (fixes #136)
- Fixed an issue where the option labels could not be omitted (fixes #100)
- Fixed an issue where npm commands were not always executed (PR #132)
- v1.9.02021-11-06 · 2021-11-06 13:49 UTC
查看更新说明
Features
- Added optional labels for dropdown menu items in the dashboard and configuration manager (PR #120)
- Create new requestHandler method to override the web server behavior (PR #119)
- Dependencies are installed automatically when the node_modules folder does not yet exist (PR #116)
- Added Brazilian Portugese language (PR #117)
Fixes
- Documentation updates
- Fixed an issue where the WiFi timeout would not be honored if the network was not available (fixes #122)
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
ESP8266 IoT Framework 
[!IMPORTANT]
Archive notice
As of now (February 2024) this code is still functional and has reached a high level of maturity thanks to all your input in more than 100 closed issues and 50 pull requests. I have archived this repository due to a shift in priorities. Thanks for using this project, and keep building and making!
The ESP8266 IoT Framework is a set of modules to be used as a starting point in new ESP8266 projects, implementing HTTPS requests, a React web interface, WiFi manager, configuration manager, live dashboard and OTA updates.
The unique advantage of this framework is that code generation at build time is used to provide different benefits. Code generation is used to dynamically generate a configuration struct and a live dashboard from JSON files, to incorporate the web interface into PROGMEM in the firmware and to bundle a full root certificate store in PROGMEM that allows the ESP8266 to do secure HTTPS requests to arbitrary URLs.
Documentation
- Introduction
- Getting Started
- Installation Guide
- Web Server
- WiFi Manager
- Dashboard
- Configuration Manager
- File Manager
- HTTPS Requests
- OTA Updater
Details beyond the documentation can be found at maakbaas.com.
Quick start
If you are new to PlatformIO, start with the installation guide. Otherwise, simply start a new project for your ESP8266, and add the following line to your platformio.ini file:
lib_deps = ESP8266 IoT Framework
Take one of the examples as a starting point to develop your application.
Screenshots

Introduction
The framework consists of five main parts. A web server including the interface it's serving, a WiFi manager, a configuration manager and classes for HTTP requests and OTA updates. The architecture of the framework is shown in the following diagram:
Architecture of the framework shown in blue
The basic principles used in developing this framework are:
- The framework is built upon the ESP8266 Arduino libraries
- The framework does not include any functionality to control external hardware.
- The framework is fully self-contained for easy deployment. SPIFFS/LittleFS storage is not needed.
- There is a strict split between the ESP8266 application and the web interface through an API.
In short, the framework aims to be unobtrusive, easy to deploy, with a modern web interface that's easy to modify and expand for different projects :).
Note: The ESP32 is not supported by this framework right now, due to the reliance on BearSSL. BearSSL is part of the ESP8266 Arduino libraries, but not part of the ESP32 Arduino libraries. Also, many functionalities of this framework are supported by ESP-IDF for the ESP32. Therefore my recommendation would be to use ESP-IDF and I don't see enough added value in porting this framework. See also here: https://github.com/maakbaas/esp8266-iot-framework/issues/142#issuecomment-1315662434