Skip to content

Porting ESP8266WebServer to ESP32 (Issue #425) #430

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 89 commits into from

Conversation

salqadri
Copy link

Solving issue #425 by porting ESP8266WebServer to ESP32. Also ported most examples, except WebUpdate, SDWebServer and FSBrowser.

@salqadri salqadri changed the title Porting ESP8266WebServer to ESP32 (#425) Porting ESP8266WebServer to ESP32 (Issue #425) Jun 10, 2017
@me-no-dev
Copy link
Member

We are working on a different approach. It's pointless to support the same code on both places, so we will move libs like the WebServer to their separate repositories and make the code ESP8266 and ESP32 compatible.
I'll leave the PR open in case someone wants to run the WebServer while we are working on getting this resolved.

@yeralin
Copy link

yeralin commented Jun 26, 2017

@me-no-dev Please, notify when this will be done bc current SimpleWiFiServer implementation is crazy confusing 👎

@hallard
Copy link
Contributor

hallard commented Jul 29, 2017

@me-no-dev, are you talking about implementing the async version ?
I'm trying my first port to ESP32 and I'm facing the same problem with my code not using async.

APokorny and others added 9 commits July 31, 2017 22:46
…if#509)

The change intrdocues a local RAII helper to simplify maintaining begin/end scopes

Signed-off-by: Andreas Pokorny <andreas.pokorny@siemens.com>
* Add files via upload

Calls to writePattern() don't send the desired number of bytes when the pattern size doesn't divide evenly into the hardware FIFO size (e.g. sending 18-bit RGB data, 11 patterns take 63 bytes, so 1/64th of the data is never sent).

* Add files via upload

Remove white space changes.
send() can return a value > 0 but less than size indicating it was able to accept some of the data in buffer. The caller must try again after updating the buffer pointer and size remaining.
* Create new espino32 diretory for ESPino32 board

* Delete wrong create file

* Create pins_arduino.h for espino32

* Update boards.txt to support ThaiEasyElec ESPino32

* Re-configure board name
* EEPROM_library_ported_Partition_table_updated

* Cleanup & formal corrections

* Make formatting of file consistent.

Readability change, Concern about the SubType being 0x99.

* Code formatting cleanup

* Code formatting cleanup

* Code formatting cleanup

* Remove commented out code

* Restore dropped bracket

* Update EEPROM.cpp

* Format Corrections

* deletedExample

* Corrected example

* Deleted interrupts/nointerrupts

* Update EEPROM.cpp
* Create ISSUE_TEMPLATE.md

* Add IDF component as example
* Change disconnect function

Current implementation does not disconnect the WiFi. Use of `esp_wifi_disconnect()` does.

* Update WiFiSTA.cpp

put back the clear ssid + password
remove the duplicate `esp_wifi_set_config(WIFI_IF_STA, &conf);`
@me-no-dev
Copy link
Member

@hallard async is a complicated thing on ESP32 ;) you need to wait for me to port it.

me-no-dev and others added 7 commits August 1, 2017 18:16
- 100ms is too low to get server response
* uartEnd: Unlock mutex before detaching rx and tx

This should solve the device freezing issue when Serial.end() is called

* Unlock UART MUTEX only for detaching Rx and Tx

* Thanks to @me-no-dev for pointing it out that
   uart->dev->conf0.val can be inside mutex lock
@hallard
Copy link
Contributor

hallard commented Aug 5, 2017

@me-no-dev
thanks for the information, I though while getting things common, Web server for ESP32 and ESP8266 will be async, that was a wrong assumption, sorry for that.
Does this mean that ESP32 will also have WEBServer "classic" and "Async" ?
I'm now trying to migrate my project to ESP32 (need 2 real serials) but to be honest, with currently missing SPIFFS (official) and AsyncWebServer for now, I must postone all my PCB boards design with ESP32.
SPIFFS+AsyncWEB works so fine and so fast that it should be part of core and replace old WebServer (from my point of you) ;-)

toomasz and others added 3 commits August 17, 2017 16:12
…essif#561)

* DOCUMENTATION: Moved installation instructions to separate page

* Added Fedora to contents table
* Added Issue/Bug Report section to README
* Some minor improvements

* DOCUMENTATION: Rename directory doc to docs

* Also move ISSUE_TEMPLATE.md to docs directory

* DOCUMENTATION: Use current repo's files

* This makes it consistent instead  of having few local and few pointing to
  espressif/arduino-esp32 by all linking to local files

* DOCUMENTATION: Fix hyperlink to issue/bug template in contents

* DOCUMENTATION: contents: supress platform specific installation instruction
me-no-dev and others added 22 commits September 28, 2017 11:41
* Add example to update ESP32 via SD card

* Delete update.bin from sd upon finishing update

* remove precompiled binary from example

* Check whether update.bin is a file
* Addition of a i2cReset method and timeout handling for the case where the i2c hardware FSM (state machine) gets stuck in a busy state.

* Use newly added i2cReset function within the wire library.
This reverts commit c240674.
Use UTC instead of CDT for consistency
* Print error when serial number is invalid

* Move to the first check, change end by return
@euquiq
Copy link

euquiq commented Oct 31, 2017

Hi!
Hopefully I am posting this in the right place. I've been searching a bit on how to create a secure web server ...

I could only find a ESP32 TSL v1.2 Webserver for Espressif's ESP-IDF framework, but not for Arduino.

I am hoping this is the right place to ask you guys to consider adding secure web server functionality into this porting of esp2866webserver into esp32webserver, since (if I correctly understand) the ESP32 includes the necessary hardware for doing the trick.

Maybe it is already done, by some other method, but I could not find anything over the web about it.

Thanks,

Enrique

@beegee-tokyo
Copy link
Contributor

@euquiq
I am using WebServer-esp32 until a web server is available here. Not sure if it fulfills your requirements though.

@euquiq
Copy link

euquiq commented Nov 1, 2017

@beegee-tokyo Hi! Yeps, I am using a variant, similar or identical as that library. But I would love to get my ESP32's serving their webpages through port 443 in a secure / encrypted way. I suspect it should be easy enough, since there are demos featuring such task for the IDF platform. I am trying to understand how are they accomplishing it in order to try and replicate something like that in ARDUINO platform, but I suspect some stuff might be missing at this time on the arduino side.

@henricazottes
Copy link

@euquiq any progress on secured webserver ? I'm trying to achieve exactly the same but my research is not very successful :/

@copercini
Copy link
Contributor

Will close this PR because now the main repo is supporting webserver =)
https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer

@copercini copercini closed this Jun 27, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.