Forum: Mikrocontroller und Digitale Elektronik Automatischer e-Mailversand bei Flankenwechsel an I/O-Port


von Anna-zaira E. (nanalisa)


Lesenswert?

Hallo!

Wie kann ich erreichen, dass von meinem Netzwerk aus unter bestimmten 
Bedingungen AUTOMATISCH eine e-Mail versendet wird?

Diese Bedingung könnte bspw. ein HIGH auf einem I/O-Port eines 
Mikrocontrollers sein.

Die e-Mail sollte von einem eigenen Server aus versendet werden, damit 
nicht immer ein kompletter PC mitlaufen muss.

Wie würdet Ihr das anstellen?

Ich stelle mir vor, dass ein µC mit einem Port eben an diesem o. g. 
Signal liegt, und sobald das auf HIGH springt, gibt der eine Nachricht 
an einen Webserver (die gibt es doch auch schon in Chipform?), der dann 
stante pede die Nachricht rausjagt.

Alles was ich finde, kann immer auch alles mögliche andere... 
FTP,HTTP,POP3, Kaffeekochen, Bügeln... das brauche ich aber alles nicht, 
sondern wirklich nur diese minifutzelkleine Applikation.

Her mit Euren Ideen, ich bin schon ganz gespannt!!

:-)

von Karl H. (kbuchegg)


Lesenswert?

Anna-zaira Engeln schrieb:

> Wie kann ich erreichen, dass von meinem Netzwerk aus unter bestimmten
> Bedingungen AUTOMATISCH eine e-Mail versendet wird?

Erst mal deine Gedanken ordnen.

> Ich stelle mir vor, dass ein µC mit einem Port eben an diesem o. g.
> Signal liegt, und sobald das auf HIGH springt, gibt der eine Nachricht
> an einen Webserver

Wieso Webserver?
Ich denke du willst eine EMail verschicken!
Deine Auswerteschaltung muss daher Kontakt mit einem SMTP Server 
aufnehmen.

> (die gibt es doch auch schon in Chipform?)

Wär mir neu

>, der dann
> stante pede die Nachricht rausjagt.

> Alles was ich finde, kann immer auch alles mögliche andere...
> FTP,HTTP,POP3, Kaffeekochen, Bügeln... das brauche ich aber alles nicht,
> sondern wirklich nur diese minifutzelkleine Applikation.

Manchmal ist es einfacher und auch billiger, diese Funktionalität 
einfach mitzukaufen :-)

> Her mit Euren Ideen, ich bin schon ganz gespannt!!

Ein µC Board, welches eine Ethernet Schnittstelle hat. Darauf ein TCP/IP 
Stack.
SMTP ist nichts anderes als die Übertragung eines Textes an einen 
bestimmten Port der Gegenstelle (wo natürlich der SMTP Server lauschen 
muss)

von Karl H. (kbuchegg)


Lesenswert?


von Anna-zaira E. (nanalisa)


Lesenswert?

Karl heinz Buchegger schrieb:
> Erst mal deine Gedanken ordnen.

Ja, gut. Danke.

> Wieso Webserver?
> Ich denke du willst eine EMail verschicken!
> Deine Auswerteschaltung muss daher Kontakt mit einem SMTP Server
> aufnehmen.

Ja, genau. Achso. Eben, mache ich das nicht mit einem Webserver?

>> (die gibt es doch auch schon in Chipform?)
>
> Wär mir neu

Was ist dann bspw. der ENC28J60? Was verstehe ich falsch?


>> Her mit Euren Ideen, ich bin schon ganz gespannt!!
>
> Ein µC Board, welches eine Ethernet Schnittstelle hat. Darauf ein TCP/IP
> Stack.
> SMTP ist nichts anderes als die Übertragung eines Textes an einen
> bestimmten Port der Gegenstelle (wo natürlich der SMTP Server lauschen
> muss)

Hm. Hast Du da ein Beispiel? Woher kriege ich soetwas?

Danke schon mal!!!

von Karl H. (kbuchegg)


Lesenswert?

Anna-zaira Engeln schrieb:

> Ja, genau. Achso. Eben, mache ich das nicht mit einem Webserver?

Genau aus dem Grund heißt der Web-Server.
Weil er EMails verschickt :-)

Das "Internet" ist eine Basis auf der Dienstleistungen angeboten werden.
Da gibt es
* News
* Emails
* Gopher
* und auch das World Wide Web

Lieschen Müller da draussen denkt, das das Web gleichzusetzen ist mit 
'dem Internet'. Dem ist aber nicht so.
Das Intenet ist die Transportplatform, die unterschiedliche Dienste 
abwickeln kann. So wie das Telephonnetz auch Gespräche und Fax 
transportieren kann. 2 unterschiedliche Dienst - derselbe 
Transportmechanismus.

> Was ist dann bspw. der ENC28J60? Was verstehe ich falsch?

Das ist ein Ethernet Treiber. Der kümmert sich um die Transportschicht. 
Welche Daten da an wen gehen, ist dem schnurzegel. Sozusagen die 
elektrische Anbindung an die Telephonsteckdose.

Ist wohl doch besser du kaufst so etwas fertig oder suchst dir jemanden, 
der Ahnung hat.

von Reinhard S. (rezz)


Lesenswert?

Anna-zaira Engeln schrieb:
> Karl heinz Buchegger schrieb:
>> Erst mal deine Gedanken ordnen.
>
> Ja, gut. Danke.
>
>> Wieso Webserver?
>> Ich denke du willst eine EMail verschicken!
>> Deine Auswerteschaltung muss daher Kontakt mit einem SMTP Server
>> aufnehmen.
>
> Ja, genau. Achso. Eben, mache ich das nicht mit einem Webserver?

Nein, ein Webserver stellt Daten bereit.

>
>>> (die gibt es doch auch schon in Chipform?)
>>
>> Wär mir neu
>
> Was ist dann bspw. der ENC28J60? Was verstehe ich falsch?

Der ENC ist einfach dazu da eine Anbindung an ein Netzwerk herzustellen.
Welche Daten darüberlaufen, ob nun e-Mail, Web oder sonstiges ist
dem vollkommen egal.


>>> Her mit Euren Ideen, ich bin schon ganz gespannt!!
>>
>> Ein µC Board, welches eine Ethernet Schnittstelle hat. Darauf ein TCP/IP
>> Stack.
>> SMTP ist nichts anderes als die Übertragung eines Textes an einen
>> bestimmten Port der Gegenstelle (wo natürlich der SMTP Server lauschen
>> muss)
>
> Hm. Hast Du da ein Beispiel? Woher kriege ich soetwas?

AVR-Net-IO (pollin) + passende Software (radig? ethersex?) von der 
jeweiligen Homepage.

von P. S. (Gast)


Lesenswert?

Anna-zaira Engeln schrieb:
> Karl heinz Buchegger schrieb:

>> SMTP ist nichts anderes als die Übertragung eines Textes an einen
>> bestimmten Port der Gegenstelle (wo natürlich der SMTP Server lauschen
>> muss)
> Hm. Hast Du da ein Beispiel? Woher kriege ich soetwas?

Ein wenig mehr als "einfach einen Text uebertragen" ist es schon, auch 
wenn es ein triviales Ascii-Protokoll ist:

http://www.ietf.org/rfc/rfc0821.txt

Es gibt auch neuere Versionen davon, das duerfte dich aber nicht weiter 
stoeren...

von Anna-zaira E. (nanalisa)


Lesenswert?

Karl heinz Buchegger schrieb:
> Ist wohl doch besser du kaufst so etwas fertig oder suchst dir jemanden,
> der Ahnung hat.

Nö, blöde Antwort, ehrlich.

Mein Gehirn ist durchaus erweiterbar und lernfähig. Wenn man alles schon 
vorher weiß, isses doch langweilig.

von Anna-zaira E. (nanalisa)


Lesenswert?

Reinhard S. schrieb:
>> Ja, genau. Achso. Eben, mache ich das nicht mit einem Webserver?
> Nein, ein Webserver stellt Daten bereit.

Achso.

> Der ENC ist einfach dazu da eine Anbindung an ein Netzwerk herzustellen.
> Welche Daten darüberlaufen, ob nun e-Mail, Web oder sonstiges ist
> dem vollkommen egal.

Der ENC treibt also die Daten auf den Webserver?

>
>
>>>> Her mit Euren Ideen, ich bin schon ganz gespannt!!
>>>
>
> AVR-Net-IO (pollin) + passende Software (radig? ethersex?) von der
> jeweiligen Homepage.

Das gucke ich mir mal an. Danke.

von Karl H. (kbuchegg)


Lesenswert?

Anna-zaira Engeln schrieb:
> Karl heinz Buchegger schrieb:
>> Ist wohl doch besser du kaufst so etwas fertig oder suchst dir jemanden,
>> der Ahnung hat.
>
> Nö, blöde Antwort, ehrlich.

Ist ja keine Schande.
Niemand kann alles wissen.
Deshalb gibt es auch Leute die sich Spezialisten nennen.

> Mein Gehirn ist durchaus erweiterbar und lernfähig. Wenn man alles schon
> vorher weiß, isses doch langweilig.

Du weißt aber soviel nicht, dass dieses Projekt schon von vorneherein 
gescheitert ist, noch ehe du angefangen hast.
Es sei denn du hast für deine Lernkurve 1 1/2 Jahre Zeit.
Dann bist du mit dabei.

(Auch das ist keine Schande. Viele Leute glauben dass Computer 
programmieren ganz einfach ist. Sie sehen schliesslich jeden Tag im Film 
und im Fernsehen, dass das ganz simpel ist. Die Wahrheit könnte nicht 
weiter davon entfernt sein. Computer programmieren ist alles andere als 
simpel.)

von Daniel_s (Gast)


Lesenswert?

Oder ein "ordentliches Oszi" kaufen :-) z.B. Yokogawa DLM2000 Serie. Die 
können das

von Anna-zaira E. (nanalisa)


Lesenswert?

Karl heinz Buchegger schrieb:

> Viele Leute glauben dass Computer
> programmieren ganz einfach ist. Sie sehen schliesslich jeden Tag im Film
> und im Fernsehen, dass das ganz simpel ist. Die Wahrheit könnte nicht
> weiter davon entfernt sein. Computer programmieren ist alles andere als
> simpel.)

Und jetzt hast Du Dich täuschen lassen... es ist weder meine erste 
µC-Programmierung, noch meine erste Netzwerkanwendung, nur eben die 
erste Kombination der beiden.

Danke für Deine Hilfe.

von Anna-zaira E. (nanalisa)


Lesenswert?

Daniel_s schrieb:
> Oder ein "ordentliches Oszi" kaufen :-) z.B. Yokogawa DLM2000 Serie. Die
> können das

Was können die?!

von Karl H. (kbuchegg)


Lesenswert?

Anna-zaira Engeln schrieb:

>
> Und jetzt hast Du Dich täuschen lassen... es ist weder meine erste
> µC-Programmierung, noch meine erste Netzwerkanwendung, nur eben die
> erste Kombination der beiden.

Mit Verlaub und allem gebührenden Respekt:
Das glaub ich dir nicht.

Nicht bei den Fragen, die du jetzt gestellt hast.

(Und nein: HTML werte ich nicht als Computer programmieren. Das ist aber 
meine persönliche Wertung)

von Micha C. (Gast)


Lesenswert?

Hallo,

auf die Schnelle würde ich sowas mit einem OpenWrt-Router 
(http://www.openwrt.org) und einem Octopus 
(http://shop.embedded-projects.net/product_info.php?ref=2&info=p10) 
lösen.

Ein typischer WLAN-Router (5 W Verbrauch), der von OpenWrt unterstützt 
wird, kostet max. 100 Euro, das USB-Teil nochmal 40 Euro. Auf dem Router 
läuft ein Linux mit einem vollständigen TCP/IP-Stack, so dass man neben 
E-Mails auch Webseiten oder anderes bereitstellen kann.


Gruss

    Micha

PS: Viel Bastelaufwand fällt nicht an, dafür ist es eventuell nicht ganz 
preisgünstig.

von STK500-Besitzer (Gast)


Lesenswert?

Kann die AVR-NetIO-Firmware von Ulrich Radig sowas nicht sogar?

Es gibt aber schon ein "fertiges" Produkt, das Email-Versand auf externe 
Ereignisse hin ausführt:
Der Xport von Lantronix.

von P. S. (Gast)


Lesenswert?

Bloed ist nicht, wenig zu wissen. Bloed ist, das eigene Wissen nicht 
einschaetzen zu koennen.

von STK500-Besitzer (Gast)


Lesenswert?

>(Und nein: HTML werte ich nicht als Computer programmieren. Das ist aber
>meine persönliche Wertung)

Ein Programm erfordert, dass es Schleifen und Abfragen enthalten kann. 
Das ist bei HTML nicht der Fall.
HTML ist ja auch nur eine Beschreibung, die ein geeignetes 
Anzeigeprogramm interpretieren muss...

von Oliver (Gast)


Lesenswert?

> Oder ein "ordentliches Oszi" kaufen :-) z.B. Yokogawa DLM2000 Serie. Die
> können das

>Was können die?!

Eine email versenden, wenn ein Signal von low auf high geht, also genau 
das, was du suchst.

Kostet nur eine handvoll Dollar (mehr) :-)

Oliver

von Anna-zaira E. (nanalisa)


Lesenswert?

uiuiui...
Können wir dann jetzt mal bitte zum Thema zurück? Wer keine Lust hat, 
kann ja gehen.

Das XPORT-Ding ist mir nämlich vorhin auch schon mal bei der Suche unter 
die Finger gekommen.

Hat da schon mal jemand mit gearbeitet?

Wie sind die Erfahrungen?

von Anna-zaira E. (nanalisa)


Lesenswert?

Oliver schrieb:
> Eine email versenden, wenn ein Signal von low auf high geht, also genau
> das, was du suchst.

Wie hübsch, nicht schlecht.

Aber schließlich möchte ich ja basteln...

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Anna-zaira Engeln schrieb:
> uiuiui...
> Können wir dann jetzt mal bitte zum Thema zurück? Wer keine Lust hat,
> kann ja gehen.
>
> Das XPORT-Ding ist mir nämlich vorhin auch schon mal bei der Suche unter
> die Finger gekommen.
>
> Hat da schon mal jemand mit gearbeitet?

Das ist im Grunde genommen nur ein TCP auf RS232-Umsetzter mit ein wenig 
Speicher für Minimalwebseiten sowie einige IO-ports. Eventuell auch 
rudimentär Skriptfähig.

Damit kann man keine Email verschicken.

Du benötigst:
- Irgend ein Prozessorboard mit Ethernet-Anschluss.
- Einen TCP/IP-Stack.
- Ein Email-Account bei irgendeinem Provider der SMTP erlaubt.
- Ein Programm, welches eine TCP-Verbindung zu einem anderen Server 
(Port 25) aufbauen kann.
- Ein Programm, welches die Meldungen des Servers analysiert und im 
richtigen Moment vorgefertigte Textblöcke über die TCP-Verbindung 
sendet.
- Ein Programm, welches dein Eingangssigna überwacht und im Bedarfsfall 
die Datensendung auslöst.

"Programm" kannst Du dabei auch durch "Prozedur" ersetzen.

Wenn Du ohne große Programmierung und Zeitaufwand ans Ziel kommen 
möchtest, leg Dir einen von OpenWrt unterstützten Router zu (kostet im 
günstigsten Fall unter 10€).
Da kommt dann ein OpenWrt-Linux drauf. Dazu noch ein kleines Shellskript 
und das Programm "ssmtp".

Damit bist Du dann auch recht frei für schnelle Änderungen.

Oder Du baust alles in ein AVR/PIC/xxx.

von Karl H. (kbuchegg)


Lesenswert?

Christian H. schrieb:

>> Hat da schon mal jemand mit gearbeitet?
>
> Das ist im Grunde genommen nur ein TCP auf RS232-Umsetzter mit ein wenig
> Speicher für Minimalwebseiten sowie einige IO-ports. Eventuell auch
> rudimentär Skriptfähig.
>
> Damit kann man keine Email verschicken.

Auf der Produktübersicht bei Lantronix ist da schon so etwas erwähnt. 
Ich bin aber aus der Übersicht auch nicht ganz schlau geworden und habe 
die PDF-Doku nicht weiter studiert, wie die Sache wirklich ist.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Ok, ich verbessere mich. Ich war wohl von falschen (bzw alten) 
Informationen ausgegangen.

Habe gerade mal die Dokus zm XPort und XPort-Pro überflogen. Die können 
Emails bei Auftreten eines Triggers versenden. Kann man also einsetzen.

von R. F. (rfr)


Lesenswert?

Tach!!

du gehst mal in den Shop auf dieser Homepage uns siehst dir fertige 
Controller mit Ethernet an. Auf denen kann man einen TCP/IP Stack 
implementieren. Wie das geht, steht in den Artikeln zu den Boards und zu 
zB Ethernut.

Dann brauchst du ein Programm, welches das Sendeereignis erkennt und die 
email vorbereitet, und dann diese per TCP/IP-Stack versendet.

Thats all.

Wenn du Erfahrungen gesammelt hast, kannst du auch fertige Controller 
von Atmel verwenden, ich glaube, da gibt es auch welche mit Ethernet. 
Hier wirst aber ums Löten nicht herum kommen.

Gruss

Robert

von Karl H. (kbuchegg)


Lesenswert?

... und das Programm kann man sich auf einem PC schon mal vorbereiten. 
Die Abfrage des Ereignisses ersetzt man durch einen GUI Button oder was 
sonst so vorhanden ist.
Das Verbinden mit dem SMTP Server, das Zusammenstellen der Mail und das 
Versenden sind auf einem PC auch nicht wesentlich anders. Und die 
Fehlererkennung und Reaktion darauf auch nicht.
Kann man alles auf einem PC vorbereiten, bis die Hardware da ist und der 
TCP/IP Stack die ersten Lebenszeichen von sich gibt.

von Anna-zaira E. (nanalisa)


Lesenswert?

Anna-zaira Engeln schrieb:
> Reinhard S. schrieb:
>> AVR-Net-IO (pollin) + passende Software (radig? ethersex?) von der
>> jeweiligen Homepage.
>
> Das gucke ich mir mal an. Danke.

So, nachdem ich da jetzt mal ordentlich rumgestöbert habe, bin ich zu 
dem Schluss gekommen, dass ich es genau mit diesem Board mal probieren 
will.  Ethersex bietet mir die SMTP-Schnittstelle dazu.

Da gibt es ein paar hübsche Beispielprojekte im Web, da läuft einem das 
Wasser im Mund zusammen... mein Ferntraum von einer Haussteuerung 
(fangen wir mal klein mit dem Aquarium und Gewächshaus an) rückt damit 
auch näher...

!!! DANKE !!!

von Chris M. (shortie)


Lesenswert?

ohohoh

if ((watertemp > 100)) && (fishcondition == 0)) {  // 0 = fertig gegart
   send_email("Essen fertig");
}

Sorry aber das mußte jetzte sein. :-)

von Oliver (Gast)


Lesenswert?

if ((Aquariumtemp > 100)) && (fishcondition == 0)) {  // 0 = fertig 
gegart
   send_email("Uups");
}

Selbstgebastelter Hausbus ;-) Sorry aber das mußte jetzte sein. :-)

Oliver

von Karl H. (kbuchegg)


Lesenswert?

Der Idle Task

  unsigned long sheeps = 0;
  while( nothing_better_to_do() ) {
    sprintf( text, "sheeps so far: %ul\n", ++sheeps )
    send_email( text );
  }

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.