Is it possible to use ESP32 Bluetooth as a web server, with a phone/tablet/etc. as client? I have this all working now using WiFi with the ESPAsyncWebServer, but it would be nice if I could do the same thing using Bluetooth instead of WiFi, but it's not clear to me that is even possible.
I'm guessing this is not practical, but I have to ask...
This makes no sense. A web server communicates over TCP/IP which is the most commonly used protocol over WiFi (which provides the Ethernet layer of a network). As TCP/IP is not a defined protocol over Bluetooth the only way to implement this is by programming the complete stack proprietary on both sides. This isn't impossible but rather crazy if no requirement urges you to do so.
Why do you think you need that? Why not simply using WiFi? We might be able to suggest some solutions if you tell us what you're trying to achieve.
It does make sense, as some people are not tech savvy, and Bluetooth is easier to setup, re-connect, etc. And when you add in the MANY peculiarities built into the way some devices handle WiFi networking, it could simplify things for the user. I have a perfectly functional app that has a browser-based UI. It works great, except, due to the way some phones and tablet work, it does not always reliably automatically connect to the "host" device when within range. The host device is mounted in a car, and it would be nice if the phone could simply establish a Bluetooth connection to the device when I get in the car, just as it does for the hands-free phone. I have no interest in creating a whole Bluetooth UI, but if there was some way to re-use the browser UI OVER Bluetooth, that would be a plus. If the answer is "no", which was my assumption, then so be it. I'm certainly not interested in being the first to make it work.
It does make sense, as some people are not tech savvy, and Bluetooth is easier to setup, re-connect, etc.
This doesn't match my experience. Today connecting to a WiFi network and letting the mobile device automatically reconnect if in range is easier than pairing a bluetooth device at least using my devices.
As there is a Bluetooth profile to use a bluetooth cellular phone to connect to the Internet (was used in older phones) there is a possibility that you can simulate a GSM modem and pretend to have such a connectivity. Then a notebook may be able to connect and use the browser to access a Web GUI. I never checked it but I doubt that a smartphone implements that profile too.
There is a reason why today a WiFi hotspot (tethering) is used instead of a Bluetooth connection to allow notebooks to access the Internet by the phone. Connecting to a WiFi hotspot is much easier than setting up an equivalent connection over Bluetooth.
If you want to make the connection to your WiFi device as easy as possible, just don't use a password which eliminates the need for the user to enter that password on the first connection. It depends on security considerations if that is viable to you.
As I said, the problem has more to do with the way many phones deal with WiFi connections. If there are multiple networks available, the phone will decide for itself which one to connect to. So, it is very often necessary to manually connect to the network. If that connection is for any reason lost, then the phone will again connect to whatever network IT wants to, rather than the one I want it to connect to. Net result is maintaining the connection in the presence of other networks is sometimes a PITA. WIth Bluetooth, it is less likely there will even be another device nearly.
Even worse, the phones I've tested with so far are rather stupid about the way they try to locate URLs. If I have a celleular network connection AND a WiFi connection with no Internet (my device), and you open a browser and type an IP address into the URL bar, the stupid phone will look for that IP on the Internet, and NOT send the request to the WiFi connection. Often, the only way to make it do what I want is to turn mobile data OFF. That is not a problem I can fix.
But it's all moot, since there appears to be no simple way to do what I want. The only option I can see would be to write a WebView app to replace the existing HTML/CSS/Javascript browser UI, and I have no interest AT ALL in going there, as my deice needs to be able to communicate with Android, iPhone, Windows PCs, Apple PCs, tablets, etc.
I have no interest in creating a whole Bluetooth UI, but if there was some way to re-use the browser UI OVER Bluetooth, that would be a plus.
There isn't, let's keep things simple. You would have to create an App to fetch and process the data over bluetooth. There might be some example apps available that process HTML, but generally it will be easier to create a UI within the App. There is no way to get your browser to connect over BT. It is possible to transfer a webpage, if there is a BT request of some kind of course.
i'm working on an application that has an OLED and menu buttons for adjusting options. but it is tedious to edit strings and numeric values using 4 buttons and a small display.
we discussed, and i implemented a http server that generated pages with fields for editing. the trick is to be able to auto-generate the html as the number of options changes during development without creating a custom page
we found that using the serial interface was less tedious, it could prompt with an option and either an enter (\n) was found and the existing option unchanged, or a string was entered to change the option. it would use the same table as the http interface, but a command line interface is obviously less complicated
with a bluetooth serial application the same code that used the IDE's serial interface would work using the serial interface for the bluetooth device.
so while we could access the http interface using a smartphone and WiFi, it seems easier with a smartphone and bluetooth.
however, we will likely use an http page to generate plots using svg to display performance data of out device