Wiznet makers

mayuri

Published January 19, 2023 ©

109 UCC

66 VAR

0 Contests

0 Followers

0 Following

Original Link

ESP8266_AT_WebServer

ESP8266_AT_WebServer.

COMPONENTS Hardware components

WIZnet - WizFi360-EVB-Pico

x 1


PROJECT DESCRIPTION

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:

  1. WiFi Client, STA and AP mode
  2. TCP Server and Client
  3. UDP Server and Client
  4. HTTP Server and Client
  5. HTTP GET and POST requests, provides argument parsing, handles one client at a time.
  6. UDP Multicast and Broadcast.

It is based on and modified from:

  1. Ivan Grokhotkov's ESP8266WebServer
  2. bportaluri's WiFiEsp library

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.
  1. 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

  1. ESP8266-AT-command shield
  2. ESP32-AT-command shield
  3. W600 and WIS600-01S AT-command shield
  4. WizFi360 AT-command shield

WIZFI360



Prerequisites

  1. Arduino IDE 1.8.19+ for Arduino. GitHub release
  2. Arduino AVR core 1.8.6+ for Arduino (Use Arduino Board Manager) for AVR boards. GitHub release
  3. Teensy core v1.57+ for Teensy 4.1. GitHub release
  4. Arduino SAM DUE core v1.6.12+ for SAM DUE ARM Cortex-M3 boards.
  5. Arduino SAMD core 1.8.13+ for SAMD ARM Cortex-M0+ boards. GitHub release
  6. Adafruit SAMD core 1.7.11+ for SAMD ARM Cortex-M0+ and M4 boards (Nano 33 IoT, etc.). GitHub release
  7. Seeeduino SAMD core 1.8.3+ for SAMD21/SAMD51 boards (XIAO M0, Wio Terminal, etc.). Latest release
  8. 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. GitHub release. Please remember to use latest Packages_Patches or getting compiler errors.
  9. Arduino Core for STM32 v2.4.0+ for STM32F/L/H/G/WB/MP1 boards. GitHub release
  10. 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.. GitHub release
  11. 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. GitHub release
  12. 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. GitHub release
  13. Functional-Vlpp library v1.0.2+ to use server's lambda function. To install. check arduino-library-badge
  14. Ai-Thinker AT Firmware v1.5.4 or AT Firmware v1.7.4.0 for ESP8266-AT shields.
  15. AT version_2.1.0.0_dev for ESP32-AT shields.
  16. AT version_1.1.4 for WIS600-01S and W600-AT WiFi shields
  17. AT version 3.2.0 for WizFi360 WiFi shields


Important Notes about AT Firmwares

1. Tested OK with ESP8266-AT shields

Ai-Thinker AT Firmware v1.5.4

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 Firmware v1.7.4.0

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

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 arduino-library-badge for more detailed instructions.

Manual Install

  1. Navigate to ESP8266_AT_WebServer page.
  2. Download the latest release ESP8266_AT_WebServer-master.zip.
  3. Extract the zip file to ESP8266_AT_WebServer-master directory
  4. Copy whole
  • ESP8266_AT_WebServer-master folder to Arduino libraries' directory such as ~/Arduino/libraries/.

VS Code & PlatformIO:

  1. Install VS Code
  2. Install PlatformIO
  3. Install ESP8266_AT_WebServer library by using Library Manager. Search for ESP8266_AT_WebServer in Platform.io Author's Libraries
  4. 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


 

Documents
Comments Write