ESP32 receiver-webserver and an interactive webpage, data stored on a database (wamp or firebase)

Job Description:

I'm looking to have an ESP32 webserver developed in Arduino IDE, operating in STA mode (AP is my router) to store data either in a local database (WAMP server, localhost, mySQL) or a Firebase (google) database.

Some ESP32 senders, in STA mode as well, send their data to a single ESP32 receiver via ESP-Now protocol. Each sender will have 2 momentary buttons, let's say A and B. The ESP32 receiver acts as a webserver, so it hosts a webpage. On that webpage, there are some squares (simple square areas, divs in css or whatever). Each square corresponds to one sender. When u press momentarily the A button of a sender, this square becomes green. If u press A again nothing happens. If you press momentarily the B switch, then the green square becomes red. If you press again B, nothing happens. So, when the square is green and we press B, the square becomes red. When the square is red and we press A, the square becomes green. So the only data that each sender sends (through its buttons) to the receiver are 2 things:

1) its id number so as the receiver knows which sender sends the message

2) the actual message which will be just the word "GREEN" (if A is pressed on sender's side) or "RED" (if B is pressed on sender's side)

I want all data coming from all senders (their last state) to be stored in the memory of ESP32 receiver (perhaphs in array format) and from there to be stored in a database. So:

1) when the wamp server is disconnected, the senders to keep sending their data to the receiver which will store them into this array, and when the wamp server is back (connected) the last data/state to be stored on it.

(Meanwhile of a wamp server disconnection, I want the webpage to be working normally so we monitor the last state on the webpage, meaning the ESP32 webserver to be normally working as expected)

2) even when the webpage is closed*, and we have a change (from green to red or from red to green to one or more senders), when you re-open the webpage, to see the new (last) state of all senders.

[*That's the reason I want a server. Because, without a server, when the page is closed and we have any change from senders, when the webpage opens again, we loose whatever happened (any change).

I don't know if it is possible, without any server, with this array I am telling you, to manage what I want. You can tell me your ideas.

I am a bit confused, what is finally the best: the data to be retrieved from this array (so no need for wamp server) or this array to send the data to the database and retrieved from there from ESP32 receiver/webserver so as to monitor this data on the webpage.]

Also, at the same time, we must be able to change the state of the square via the webpage (hitting with the mouse the area of the square). So, for example if the state is already green and we hit the area, it becomes red. And then, if we press B on the sender, nothing happens (if possible time keeps counting, not starting from zero), instead if we press B, the square becomes green.

What I did up to now, so you don't need to do it, is the communication between senders and receiver via ESP-Now and of course the web hosting of the ESP32 receiver/webserver. It works very fine. So html, css, javascript are already done.

All this works very fine. I have what I want on the webpage. Moreover through javascript and cookies, when any square becomes red, time is counting and you can see in small letters inside the square for example "8m" meaning that 8 minutes have passed since the particular button was pressed, and even you close and re-open the webpage, the time keeps counting. This function is only applied to red color (I didn't want time counting when green)

3 things are missing:

1) A solution in the problem of a closed webpage

2) The hitting function so we can control the red or green squares through the screen

3) A little change in senders program (I used only one button for doing the same job as the 2 buttons do)

3 digits offers will be dismissed.

Skills: MySQL, PHP, Web Hosting

About the Client:
( 14 reviews ) Etterbeek, Belgium

Project ID: #36303587

Awarded to:


Hi, I can do this job. I have a very good solution for you. With my solution not only Arduino will continue to work when webpage is closed but also you'll not loose current state and counters if Arduino go off and rest More

€15 EUR in 14 days
(0 Reviews)

5 freelancers are bidding on average €39 for this job


Hello Sir, How are you ? As per your project specifications, I am well-versed in developing an ESP32 webserver operating in STA mode and using ESP-Now protocol to communicate with the senders. I have experience in sto More

€99 EUR in 2 days
(3 Reviews)

Hhi I am experienced in this and I can start right now but i have few doubts and questions lets have a quick chat and get it started waiting for your replyyy

€19 EUR in 7 days
(4 Reviews)

Hi Based on your requirements, I will suggest the following solution: For the closed webpage issue, you can use a local database in the ESP32 receiver itself to store the current state of each sender. This can be done More

€30 EUR in 7 days
(2 Reviews)