#include #include // Einfaches Echo-Programm - gibt eingelesene Zeichen wieder aus // Ausprobieren mit "telnet": // telnet> open 12345 // Einrichtung: // a) am Router (einfach; empfohlen) // * Ethernet-Shield mit Router verbinden // * Arduino erhaelt IP-Adresse ueber DHCP // b) am Computer mit Internet Sharing // * Ethernet-Shield mit Rechner verbinden // * Am Computer Internetverbindungsfreigabe // ("Internet Connection Sharing") aktivieren, // so dass der Internet-Anschluss (WLAN?) ueber den // Ethernet-Anschluss geteilt wird. // * Arduino erhaelt IP-Adresse ueber DHCP // c) am Computer direkt (schwer) // * Ethernet-Shield mit Rechner verbinden // * Den Ethernet-Anschluss am Computer wie folgt konfigurieren: // IP-Adresse: 192.168.0.1 // Subnetz-Maske: 255.255.255.0 // Gateway: keins // Router: keiner // * Arduino sollte ueber die im Programm codierte Adresse // ansprechbar sein // MAC-Adresse byte mac[] = { 0xAF, 0xFE, 0xAB, 0xBA, 0xDE, 0xAF }; // IP-Adresse IPAddress ip(192, 168, 0, 42); // Server EthernetServer server(12345); void setup() { // Serielle Schnittstelle zur Ausgabe der IP nutzen Serial.begin(9600); // Ethernet-Verbindung und Server starten Serial.println("IP-Adresse ueber DHCP anfordern..."); if (Ethernet.begin(mac) == 0) { Serial.println("DHCP-Anfrage fehlgeschlagen - manuelle Konfiguration"); Ethernet.begin(mac, ip); } server.begin(); Serial.print("Arduino hat die IP-Adresse "); Serial.println(Ethernet.localIP()); } void loop() { // Echo-Dienst EthernetClient client = server.available(); if (client) { // Zeichen stehen bereit char c = client.read(); // Zeichen auf serieller Monitor ausgeben Serial.print(c); // Zeichen auf Verbindung ausgeben char s[2]; s[0] = c; s[1] = '\0'; client.print(s); } }