ESP8266_AT_WebServer
ESP8266_AT_WebServer.
Features
This ESP8266_AT_WebServer library is a simple yet complete WebServer library for AVR, Teensy, SAM DUE, Arduino SAMD21, Adafruit SAMD21/SAMD51, Adafruit nRF52, STM32F/L/H/G/WB/MP1, etc. boards, using ESP8266/ESP32 AT-command WiFi modules/shields.
The functions are similar and compatible to those of ESP32 WebServer
and ESP8266WebServer
libraries to make life much easier to port sketches from ESP8266/ESP32.
The library provides supports to:
- WiFi Client, STA and AP mode
- TCP Server and Client
- UDP Server and Client
- HTTP Server and Client
- HTTP GET and POST requests, provides argument parsing, handles one client at a time.
- UDP Multicast and Broadcast.
It is based on and modified from:
The ESP8266_AT_Web_Server class found in ESP8266_AT_Web_Server.h
header, is a simple web server that knows how to handle HTTP requests such as GET and POST and can only support one simultaneous client.
Currently Supported Boards
nRF52 boards, such as AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox, etc.
SAM DUE
SAMD21
- Arduino SAMD21: ZERO, MKRs, NANO_33_IOT, etc.
- Adafruit SAMD21 (M0): ItsyBitsy M0, Feather M0, Feather M0 Express, Metro M0 Express, Circuit Playground Express, Trinket M0, PIRkey, Hallowing M0, Crickit M0, etc.
- Seeeduino: LoRaWAN, Zero, Femto M0, XIAO M0, Wio GPS Board, etc.
- SAMD51
- Adafruit SAMD51 (M4): Metro M4, Grand Central M4, ItsyBitsy M4, Feather M4 Express, Trellis M4, Metro M4 AirLift Lite, MONSTER M4SK Express, Hallowing M4, etc.
- Seeeduino: Wio Terminal, Grove UI Wireless
Teensy (4.1, 4.0, 3.6, 3.5, 3,2, 3.1, 3.0, LC)
STM32F/L/H/G/WB/MP1 boards (with 64+K Flash)
- Nucleo-144
- Nucleo-64
- Discovery
- Generic STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7 (with 64+K Flash): x8 and up
- STM32L0, STM32L1, STM32L4, STM32L5
- STM32G0, STM32G4
- STM32H7
- STM32WB
- STM32MP1
- LoRa boards
- 3-D printer boards
- Generic Flight Controllers
- Midatronics boards
SIPEED_MAIX_DUINO boards
RP2040-based boards, such as Nano RP2040 Connect, using Arduino mbed OS for Nano boards.
RP2040-based boards, such as RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040, using Arduino-mbed RP2040 core or Earle Philhower's arduino-pico core.
WIZNET_WIZFI360_EVB_PICO using Earle Philhower's arduino-pico core
WIZNET_WIZFI360_EVB_PICO
Currently Supported AT-command shields
ESP8266-AT-command
shieldESP32-AT-command
shieldW600
andWIS600-01S
AT-command shieldWizFi360
AT-command shield
WIZFI360
Prerequisites
Arduino IDE 1.8.19+
for Arduino.Arduino AVR core 1.8.6+
for Arduino (Use Arduino Board Manager) for AVR boards.Teensy core v1.57+
for Teensy 4.1.Arduino SAM DUE core v1.6.12+
for SAM DUE ARM Cortex-M3 boards.Arduino SAMD core 1.8.13+
for SAMD ARM Cortex-M0+ boards.Adafruit SAMD core 1.7.11+
for SAMD ARM Cortex-M0+ and M4 boards (Nano 33 IoT, etc.).Seeeduino SAMD core 1.8.3+
for SAMD21/SAMD51 boards (XIAO M0, Wio Terminal, etc.).Adafruit nRF52 v1.3.0+
for nRF52 boards such as Adafruit NRF52840_FEATHER, NRF52832_FEATHER, NRF52840_FEATHER_SENSE, NRF52840_ITSYBITSY, NRF52840_CIRCUITPLAY, NRF52840_CLUE, NRF52840_METRO, NRF52840_PCA10056, PARTICLE_XENON, NINA_B302_ublox, etc. . Please remember to use latestPackages_Patches
or getting compiler errors.Arduino Core for STM32 v2.4.0+
for STM32F/L/H/G/WB/MP1 boards.Arduino mbed_rp2040 core 3.5.4+
for Arduino (Use Arduino Board Manager) RP2040-based boards, such as Arduino Nano RP2040 Connect, RASPBERRY_PI_PICO, etc..Earle Philhower's arduino-pico core v2.7.1+
for RP2040-based boards such as RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040, etc.Sipeed Maixduino core v0.3.11+
for K210-RISC-V-based boards such as Maixduino AI Development Kit K210 RISC-V AI + IoT ESP32, Sipeed Maix Go, Sipeed Maix Bit, etc.Functional-Vlpp library v1.0.2+
to use server's lambda function. To install. checkAi-Thinker AT Firmware v1.5.4
orAT Firmware v1.7.4.0
for ESP8266-AT shields.AT version_2.1.0.0_dev
for ESP32-AT shields.AT version_1.1.4
forWIS600-01S
andW600-AT
WiFi shieldsAT version 3.2.0
forWizFi360
WiFi shields
Important Notes about AT Firmwares
1. Tested OK with ESP8266-AT shields
AT version:1.1.0.0(May 11 2016 18:09:56) SDK version:1.5.4(baaeaebb) Ai-Thinker Technology Co. Ltd. Jun 13 2016 11:29:20
AT version:1.7.4.0(May 11 2020 19:13:04) SDK version:3.0.4(9532ceb) compile time:May 27 2020 10:12:17 Bin version(Wroom 02):1.7.4
WIS600-01S
and W600
using either ESP8266 or ESP32-AT commands and stock firmware
AT version:1.1.4(Dec 05 2018 11:06:45) SDK version:3.0.0 Dec 05 2018 11:06:45
2. Tested OK with ESP32-AT shields
AT version:2.1.0.0-dev(4f6b92c - Jun 10 2020 10:36:54) SDK version:v4.0.1-193-ge7ac221b4 compile time(b85a8df):Jun 18 2020 14:00:59 Bin version:2.0.0(WROOM-32)
See instructions at AT Command Core and ESP_AT_Get_Started
3. Where to upload AT-Firmware
Upload AT Firmware v1.7.4.0
bin files to correct locations as follows:
# BOOT MODE
### Flash size 8Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0xfc000
blank.bin 0x7e000 & 0xfe000
### Flash size 16Mbit-C1: 1024KB+1024KB
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x1fc000
blank.bin 0xfe000 & 0x1fe000
4. Important Notes
Test before using different AT-Firmware Version at your own risks. Just use any simple example to verify if the AT-firmware is OK.
Compatible AT-Firmare version will be updated. Check for all supported AT Firmwares and download them from AT_Firmwares.
Support to ESP32-AT-command shields has been added to permit using new library ESP_AT_Lib to replace Blynk's BlynkESP8266_Lib. The same ESP_AT_Lib can also be use for ESP8266-AT shields.
Installation
Use Arduino Library Manager
The best and easiest way is to use Arduino Library Manager
. Search for ESP8266_AT_Web_Server
, then select / install the latest version. You can also use this link for more detailed instructions.
Manual Install
- Navigate to ESP8266_AT_WebServer page.
- Download the latest release
ESP8266_AT_WebServer-master.zip
. - Extract the zip file to
ESP8266_AT_WebServer-master
directory - Copy whole
ESP8266_AT_WebServer-master
folder to Arduino libraries' directory such as~/Arduino/libraries/
.
VS Code & PlatformIO:
- Install VS Code
- Install PlatformIO
- Install ESP8266_AT_WebServer library by using Library Manager. Search for ESP8266_AT_WebServer in Platform.io Author's Libraries
- Use included platformio.ini file from examples to ensure that all dependent libraries will installed automatically. Please visit documentation for the other options and examples at Project Configuration File