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.

v1.12.0发布于 2024-02-08 14:44 UTC434star113fork同步于 2026-11-08 15:02 UTC

怎么上手

由 README 提炼,执行前请确认
在 platformio.ini 中添加:lib_deps = ESP8266 IoT Framework
硬件要求按 README 说明

面向 ESP8266 开发板,基于 ESP8266 Arduino 库;README 未说明具体型号、内存或 Flash 要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

ESP8266 项目的开箱即用起点,自带 HTTPS、React 网页、WiFi 配网和 OTA 升级

面向 ESP8266 的物联网开发框架,内置 HTTPS 请求、React 网页界面、WiFi 配网、实时仪表盘、配置与文件管理及 OTA 升级,省去从零搭建基础模块。

核心能力

  • 构建时用 JSON 生成配置结构体和实时仪表盘
  • 把 React 网页界面编译进 PROGMEM 固件
  • 内置完整根证书库,可对任意 URL 发 HTTPS 请求
  • 提供 WiFi 管理器、配置管理器和文件管理器
  • 支持 OTA 固件在线升级,无需 SPIFFS/LittleFS 存储

容易踩的坑

不支持 ESP32,因依赖 ESP8266 Arduino 库中的 BearSSL;需用 PlatformIO 构建,构建时依赖代码生成流程;新手应先按安装指南配置 PlatformIO 环境

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.12.0
  1. 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)
  2. 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)
  3. 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
  4. 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)
  5. 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)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ESP8266 IoT Framework PlatformIO Registry

    [!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

    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

    Dashboard

    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 Architecture of the framework shown in blue

    The basic principles used in developing this framework are:

    1. The framework is built upon the ESP8266 Arduino libraries
    2. The framework does not include any functionality to control external hardware.
    3. The framework is fully self-contained for easy deployment. SPIFFS/LittleFS storage is not needed.
    4. 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