Enviar dados entre dois NodeMcu ESP8266

Boas,

Tenho um projecto em que envio a posição de GPS de Arduino para outro (nano para micro), através de 2 Bluetooth (HC-05).

EMISSOR:

//Arduino Nano (compatible)
//ATmega328

#include <TinyGPS.h>
#include <SoftwareSerial.h>

SoftwareSerial bt_port(2, 3);

TinyGPS gps;
long lat, lon;

void setup() {
  Serial.begin(9600);
  bt_port.begin(38400);
}

void loop() {
  if (Serial.available()) {
    if (gps.encode(Serial.read())) {
      gps.get_position(&lat, &lon);

      Serial.println("EMISSOR:");
      Serial.print("     lat: "); Serial.println(lat);
      Serial.print("     lon: "); Serial.println(lon);

      bt_port.println(lat);
      bt_port.print ('/');
      bt_port.println(lon);

      delay(2000);
    }
  }
}

RECEPTOR:

...

if (Serial.available() > 0) {

    currentMillis = millis();

    String emiLat = Serial.readStringUntil('/');
    float emiLatitude = emiLat.toFloat();
    String emiLon = Serial.readStringUntil('\0');
    float emiLongitude = emiLon.toFloat();

...

Estou a tentar alterar o projecto para comunicar entre dois NodeMcu ESP8266

EMISSOR:

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>v
#include <TinyGPS.h>

const char *ssid = "testeteste";
const char *password = "vamosver";

//int milisInterval = 2000;

ESP8266WebServer server(80);

TinyGPS gps;
long lat, lon;

void handleRoot() {
  
String html ="<!DOCTYPE html> <html> <body> <h1>Latitude</h1> <head><meta http-equiv=\"refresh\" content=\"1\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"></head> <div id=\"light\">";
html += lat;
html +="</div><h1>Longitude</h1><div id=\"random\">";
html += lon;
html +="</div> </body> </html>";
  server.send(200, "text/html", html);
}

void setup() {
  Serial.begin(9600);

  Serial.println();
  Serial.print("Configuring access point...");
  WiFi.softAP(ssid, password);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  if (Serial.available()) {
    if (gps.encode(Serial.read())) {
      gps.get_position(&lat, &lon);

      Serial.println("EMISSOR:");
      Serial.print("     lat: "); Serial.println(lat);
      Serial.print("     lon: "); Serial.println(lon);

//      bt_port.println(lat);
//      bt_port.print ('/');
//      bt_port.println(lon);

      delay(2000);
    }
  }

  server.handleClient();
}

Portanto, consigo obter as coordenadas tanto no “Serial Monitor”, como na página web criada pelo emissor.
Está a falhar-me o entendimento de como posso receber da mesma maneira no NodeMcu RECEPTOR…

Agradeço desde já, toda a ajuda é relevante e bem-vinda.

No lado do receptor tens de criar um cliente... já experimentaste isso?

Já pensaste em programar o ESP8266 directamente sem precisares do ARduino?