constfloatwheelTotalCircumeferenceMeters=1.60f;// measuring how much the vehicle advances for one turn of the wheel is more precise than calculating from the wheel diameter
WiFi.setHostname("vmon");// this doesn't work when connecting to a mobile android hotspot (it can't resolve the hostname), but it should work with most routers allowing to access the app on https://vmon
WiFi.mode(WIFI_AP_STA);
WiFi.mode(WIFI_AP_STA);
// Create the WiFi Access Point
// Create the WiFi Access Point
@ -205,6 +209,9 @@ void setup()
// Also connect as a station (if the configured remote access point is in range)
// Also connect as a station (if the configured remote access point is in range)
connectWifi();
connectWifi();
Serial.print("hostname: ");
Serial.println(WiFi.getHostname());
OTA.begin();
OTA.begin();
#if ENABLE_GPS_COORDINATES
#if ENABLE_GPS_COORDINATES
@ -236,6 +243,18 @@ void handle_wifi_connection()
DebugLog.print(WiFi.SSID().c_str());
DebugLog.print(WiFi.SSID().c_str());
DebugLog.print("), ip=");
DebugLog.print("), ip=");
DebugLog.println(WiFi.localIP());
DebugLog.println(WiFi.localIP());
// mDNS can help in case the router does not correctly handle local DNS after assigning an IP address via DHCP
// It works by broadcasting a request for a host name on the local network, and the device directly sends its IP address in response
// Unfortunately, some systems do not support mDNS (e.g. Android), so they won't use it at all.
// To access through mDNS, remember to add the ".local" suffix to the host name (for example if host name is "vmon", access it at URL "https://vmon.local")
Serial.print("Starting mDNS server with hostname \"");