esp32gpiocontrol

ESP32 firmware providing a REST API for controlling the GPIO interface and higher functions


Please refer to the usual ESP32/Arduino language reference for usual functions documentation.

A tiny framework for ESP32 connected objects

This software package provides a minimal set of functionalities to develop a connected object using a ESP32 micro-controller.

In a nutshell:

  • The object has a GPIO interface with digital and analog inputs and outputs and the capability to measure times, or connect to additional control board to drive, e.g., servomotors.
  • It is connected to the (human or machine) user via a WiFi interface, as a web service, i.e., is driven using URL.
  • It is programmed via an USB interface connected on a computer with an Arduino IDE development tool.

In order to ease such connected object development, we propose here:

  • The EPS32 IDE environment and the esp32gpiocontrol software as documented here.
  • The how-to documentation to develop specific connected objects.
  • A GPIO control package also interesting as a development example, including the HTML interface for end user documented here:

HTML web interface

Package repository

Installation

This is a Node.js module, installed using the npmcommand line tools.

npm install git+https://gitlab.inria.fr/line/aide-group/esp32gpiocontrol.git

Usage

  • Refer to install_esp32, for the installation.
  • Refer to usage_gpio, for the GPIO web service usage.
  • Refer to usage_more, to get help implementing new functionalities.

npm script usage

npm install  : installs all package dependencies.
npm run build: builds the different doc and test files.
npm test     : runs functional and non-regression tests.
npm clean    : cleans installation files.
npm run sync : syncs the files with the git repository.

Dependencies

None

Dev Dependencies

  • aidebuild: Builds multi-language compilation packages and related documentation.

Author(s)