Cheapest modem that works with ESP8266 wifi

I'm trying to get one of the wifi examples to work and I'm getting a message that says "doesn't connect". I'm not sure about the password or the port because I have an old Dlink DIR-615 and can't find where to set the password or the port. I guess I need to buy something that works or update the firmware. Is there anything else I can do? I have other ESP8266 chips. Maybe I could configure one as a server? Another question: in the code where they have 'host', what is that? I put the ip address of the modem.

/*
    This sketch establishes a TCP connection to a "quote of the day" service.
    It sends a "hello" message, and then prints received data.
*/

#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "my ssid"
#define STAPSK "my password"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

const char* host = "192.168.88.2";
const uint16_t port = 17;

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

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  /* Explicitly set the ESP8266 to be a WiFi-client, otherwise, it by default,
     would try to act as both a client and an access-point and could cause
     network-issues with your other WiFi-devices on your WiFi-network. */
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  static bool wait = false;

  Serial.print("connecting to ");
  Serial.print(host);
  Serial.print(':');
  Serial.println(port);

  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  if (!client.connect(host, port)) {
    Serial.println("connection failed");
    delay(5000);
    return;
  }

  // This will send a string to the server
  Serial.println("sending data to server");
  if (client.connected()) { client.println("hello from ESP8266"); }

  // wait for data to be available
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout > 5000) {
      Serial.println(">>> Client Timeout !");
      client.stop();
      delay(60000);
      return;
    }
  }

  // Read all the lines of the reply from server and print them to Serial
  Serial.println("receiving from remote server");
  // not testing 'client.connected()' since we do not need to send data here
  while (client.available()) {
    char ch = static_cast<char>(client.read());
    Serial.print(ch);
  }

  // Close the connection
  Serial.println();
  Serial.println("closing connection");
  client.stop();

  if (wait) {
    delay(300000);  // execute once every 5 minutes, don't flood remote service
  }
  wait = true;
}

"quote of the day" service supposed to be your host.

Your wifi credentials you put here on these two lines:

May I suggest good tutorials for Esp8266:

Can you connect or see the DLink from your Phone.

Yeah, I can get internet fine.

My goal is to modify it to be "this day in history"

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.