ESP32 Software

Introduction

Currently PlatformIO is the default development environment for Peripheral Stations.

If you do not know which Platform IO firmware to use, then ESPHome is recommended as a general purpose firmware with good integration to the Device Node in your Private Cyberspace.

Other supported firmwares are listed here:

ESPHome

ESPHome was designed with Home Assistant (Device Node) in mind, so it has better integration than other firmwares with it.

1. Source Code

2. Exploits

ESPHome Alternatives

Tasmota, ESPeasy, ESP-Link and ESPurna are great firmwares and are SUPPORTED, so there is generally NO NEED to migrate to ESPHome.

Depending on your application, they all have some advantages and disadvantages over ESPHome and each other.

However, for those who wants to move to ESPHome when their application allows, we have also included some information on migration from them to ESPHome.

1. Tasmota

Great for web cam.

2. ESPeasy

Great for web based control.

3. ESPurna

Great for remote on-off switch control.

4. ESPLink

Great for serial terminal access.

5. openHASP

Great for touch displays with use of LVGL.

https://www.openhasp.com/

ESPHome ESP-Now

ESP-Now is a protocol defined by Espressif.

ESPHome HTTP

Some examples of using esphome to make http requests

1. HTTP GET

2. HTTP POST

3. HTTP PUT

http get and http put

globals:
  - id: nanoState
    type: bool

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    id: button_1
    on_press:
      then:
        - lambda: |-
            HTTPClient http;
            http.begin("http://192.168.1.74:16021/api/v1/myauthtoken/state/on");
            http.GET();
            id(nanoState) = http.getString()[9] == 't';
        - http_request.send:
            method: PUT
            url: http://192.168.1.74:16021/api/v1/myauthtoken/state
            headers:
              Content-Type: application/json
            json: |- 
              root.createNestedObject("on");
              root["on"]["value"] = !id(nanoState);
            verify_ssl: false

source: Parse http_request.get - #9 by CFreitas - ESPHome - Home Assistant Community

LVGL

LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and a low memory footprint.