1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-01-08 23:46:08 +01:00
Arduino/libraries/Ethernet/examples/TelnetClient/TelnetClient.ino

95 lines
2.3 KiB
Arduino
Raw Normal View History

/*
Telnet client
2014-10-17 12:20:30 +02:00
This sketch connects to a a telnet server (http://www.google.com)
2014-10-17 12:20:30 +02:00
using an Arduino Wiznet Ethernet shield. You'll need a telnet server
to test this with.
2014-10-17 12:20:30 +02:00
Processing's ChatServer example (part of the network library) works well,
running on port 10002. It can be found as part of the examples
2014-10-17 12:20:30 +02:00
in the Processing application, available at
http://processing.org/
2014-10-17 12:20:30 +02:00
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
2014-10-17 12:20:30 +02:00
created 14 Sep 2010
modified 9 Apr 2012
by Tom Igoe
2014-10-17 12:20:30 +02:00
*/
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
2014-10-17 12:20:30 +02:00
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177);
// Enter the IP address of the server you're connecting to:
2014-10-17 12:20:30 +02:00
IPAddress server(1, 1, 1, 1);
// Initialize the Ethernet client library
2014-10-17 12:20:30 +02:00
// with the IP address and port of the server
// that you want to connect to (port 23 is default for telnet;
// if you're using Processing's ChatServer, use port 10002):
EthernetClient client;
void setup() {
// start the Ethernet connection:
Ethernet.begin(mac, ip);
2014-10-17 12:20:30 +02:00
// Open serial communications and wait for port to open:
Serial.begin(9600);
2014-10-17 12:20:30 +02:00
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
// if you get a connection, report back via serial:
if (client.connect(server, 10002)) {
Serial.println("connected");
2014-10-17 12:20:30 +02:00
}
else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
}
void loop()
{
2014-10-17 12:20:30 +02:00
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// as long as there are bytes in the serial queue,
// read them and send them out the socket if it's open:
while (Serial.available() > 0) {
char inChar = Serial.read();
if (client.connected()) {
2014-10-17 12:20:30 +02:00
client.print(inChar);
}
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
// do nothing:
2014-10-17 12:20:30 +02:00
while (true);
}
}