In einem anderen Thread habe ich ja etwas mitgeholfen, den Arduino Ethernet mit einem MKII zu programmieren. Weil die Hardware nun so schön ausgebreitet auf dem Schreibtisch lag, begann ich mit ein paar kleinen Experimenten. Da kam mir die Idee, einen autonomen Email-Checker zu basteln.
Das verwendete Post Office Protocol (POP3) ist denkbar einfach gehalten, anhand des Wikipedia-Artikels (>> Klick <<) habe ich folgenden Probesketch zusammengeschustert:
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // my mac address
byte ip[] = { 192,168,2,111 }; // IP address of Arduino
byte server[] = { 195, 4, 92, 211 }; // IP address of pop3.freenet.de
Client client (server, 110); // default POP port is 110
void setup() {
Serial.begin(9600);
Ethernet.begin (mac, ip);
delay (2000);
Serial.println ("connecting...");
if (client.connect ()) {
Serial.println ("connected!");
client.println ("user xxxxxx"); // xxxxxx is my username
client.println ("pass yyyyyy"); // yyyyyy is my password
client.println ("stat");
delay (100);
while (client.available()) {
char c = client.read ();
Serial.print (c);
}
}
else {
Serial.println ("connection failed!");
client.stop ();
}
}
void loop() {
}
Quick 'n dirty, ich bekomme folgende Antwort:
+OK <19173.1317481977@mx.freenet.de>
+OK user ok
+OK 1 messages (6733 octets).
+OK 1 6733
Demnach ist eine Mail im Postfach, die 6733 Zeichen lang ist.
Für alle die es nicht wissen: Die Serveradresse des Mailservers findet man in den Konteneinstellungen seines Mailprogrammes, die entsprechende IP kann man schnell mit Boardmitteln herausbekommen. Dazu unter Windows einfach die Seite anpingen (mit Kommando ping in der Eingabeaufforderung), dann wird die IP mit dargestellt.
Jetzt könnte man weiterspinnen. Mehrere Konten abfragen, Signalisierung neuer Mails mittels LEDs, Anzeige auf einem LCD, Speicherung auf SD-Karte, Einbau in ein schönes Gehäuse, vielleicht in dieser Art: >> Amazon-Link <<. Mal sehen, was mir und euch noch dazu einfällt...