Git Product home page Git Product logo

esp8266-iot-framework's Introduction

ESP8266 IoT Framework Status PlatformIO Registry

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.

esp8266-iot-framework's People

Contributors

maakbaas avatar factormystic avatar fernandogarcia avatar dependabot[bot] avatar tssva avatar jarrodbell avatar eisbaeeer avatar maxgerhardt avatar bmanifold avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.