[Solved] HTTPServer - How to access the core via web browser?

I want the core to act like a web server to show text when access via webrowser
with this command >>>(client.println(“Sorry”):wink: it should show “sorry” in browser right?
but when I type the core’s IP in browser. It said “This webpage is not available”

Thank you for reading.

TCPServer server = TCPServer(80);
    TCPClient client;
    
    void setup()
    {
      // start listening for clients
      server.begin();
    
      // Make sure your Serial Terminal app is closed before powering your Core
      Serial.begin(9600);
      // Now open your Serial Terminal, and hit any key to continue!
      while(!Serial.available()) SPARK_WLAN_Loop();
    
      Serial.println(WiFi.localIP());
      Serial.println(WiFi.subnetMask());
      Serial.println(WiFi.gatewayIP());
      Serial.println(WiFi.SSID());
    }
    
    void loop()
    {
      if (client.connected()) {
        // echo all available bytes back to the client
        while (client.available()) {
          server.write(client.read());
          server.write("Hello world!");
          client.println("Sorry"); //<<<<<<<<<<<<<<should show this
        }
      } else {
        // if no client is yet connected, check for a new connection
        client = server.available();
      }
    }

here is the code I use in arduino and ethernet sheild and it’s work fine

#include <SPI.h>
#include <Ethernet.h>

//Enter a new MAC address from your computer MAC plus one.
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
EthernetServer server(80); // Create new server object at selected port

void setup() {

  Serial.begin(9600);
  Serial.println("Requesting ip address ...");
  Ethernet.begin(mac,ip,gateway,subnet);
  Serial.print("My IP address: ");
  Serial.print(Ethernet.localIP());
  server.begin(); // begin listening
}

void loop() {
  EthernetClient client = server.available(); // Get connection
  if(server.available()){ // check if there are connection
    Serial.println("new client connection");
    while (client.connected()) { // check if the client still alive
      if (client.available()) { // check if the connection are still alive
        char c = client.read(); // read data from Ethernet buffer
        if(c=='='){ p = client.read(); }
        Serial.write(c);
        if(c == '\n'){ // check if there are terminate character
          client.println("sorry");
          break;
        }
      }
    }
    client.stop(); // disconnect from client
    Serial.println("client disconnected");
  }
  delay(1000);
}///// credit P'O ITE

Good lord this is an annoying problem. I was finally able to get it working: https://gist.github.com/harrisonhjones/354908d4aa7479b59e6d

It’s mostly adapted from the Arduino WebServer example

2 Likes

I love you sir. Really love you

1 Like

Anyway you can pull a string from an html form that a user enters using this method? I want to be able to have a user enter in a string and submit that string via a html form and then use that string on the core.

Posted question here