-
HTTPS Requests
05/31/2020 at 13:39 • 0 commentsFetching or posting data to the internet is one of the core tasks of an IoT device. Doing so over HTTP is implemented quite well in the default ESP8266 Arduino libraries, but for HTTPS requests things are more difficult. In this post I will discuss the most common approaches used by the community, and develop my own method to do arbitrary HTTPS requests in a secure way. This method will not require any specific certificates or fingerprints to be manually coded in the application.
-
Configuration Manager
05/24/2020 at 14:25 • 0 commentsNo matter what function your ESP8266 might have, it is quite likely that you want to change some settings or parameters while the device is in use. Like for example the speed of a motor, or the color of a LED. The configuration manager presented here provides a method to easily define these tuneable parameters in a JSON file. The code to change parameters from the browser and store them into EEPROM memory is generated automatically.
-
WiFi Manager
05/16/2020 at 09:34 • 0 commentsA crucial component for the ESP8266 IoT framework is a WiFi manager. It is not difficult to connect an ESP8266 to a WiFi network with the standard Arduino libraries if you manually enter your credentials in your code. But of course that is not how we want to approach it here. The WiFi manager should allow the user to enter the right WiFi details in the browser, and try to connect to that network automatically.
-
Web Server
05/10/2020 at 14:25 • 0 commentsThe first component I will discuss is the web server which presents the web interface to configure WiFi and other settings from the browser. This web interface is developed in React, and communicates with the ESP8266 through an API. Webpack is used to merge the GUI content into a single gzipped file, which is automatically converted into a byte array and stored in the ESP8266 PROGMEM, avoiding the need for SPIFFS.
-
Framework Introduction
05/05/2020 at 17:10 • 0 commentsMost projects I do with the ESP8266 require an internet connection. If this would not be needed I would probably use something else like an Arduino for that project. Most of these Internet of Things (IoT) projects require a common set of functions to deal with for instance WiFi connections and HTTP(S) requests. For some of this I already have a few snippets of code, but these are neither robust nor elegant. Therefore I decided to develop a custom framework for the ESP8266. Here I will discuss its requirements.