I want to connect an ESP32 (NodeMCU-32S board, programmed in the Arduino IDE) to an open WiFi network.
The WiFi network that I want to connect to does not require a username or password, but the hotspot that appears when you first connect requires that you to click an "ACCEPT" button to indicate that you have read the terms and conditions before it will connect.
Is there a way to make the ESP32 programmatically "click" that "ACCEPT" button?
(PS: I've already asked this same question on the ESP32 forum and the WiFiManager forum but have not received a single reply in over a month. That really surprises me...there MUST be a way to do this!)
You need to find out what the protocol is and then read the data and send data back. There are no buttons, there are just bits.
ACCEPT" button to indicate that you have read the terms and conditions before it will connect.
That is impossible. How does the network tell you that you need to ACCEPT something before you connect? You are already connected, but the network will answer any request you make with the webpage that you need to accept something. If you don’t you get kicked out.
It’s likely just some HTTP requests. There are plenty of examples for the WiFi library. Get yourself a board and start experimenting. If you have any specific question with some code, I am sure people will be happy to help.
Right now, you do not give them enough information they can analyze e.g. some source code, messages, prints from the serial monitor.
You might study the html page source of the part that has the accept button. If you are lucky you may see what is being sent back to the server so you can duplicate that in your code. You might also setup a simple web server to capture incoming request, and modify the IP addressing the "accept" html page code to your Arduino server. Then if you have the accept button in your test web page, click it and see what the Arduino server captures. Note that modern web pages are not all that easy to sift thru for stuff.