Aus RN-Wissen.de
Wechseln zu: Navigation, Suche


Der WebServer "MicroWebServ" ist vom Hersteller CS MicroSystems seit 27. Mai 2008 auf "end of life" gesetzt und wird nicht mehr unterstützt. Ein neues Produkt ist momentan nicht verfügbar.
CS MicroSystems vergibt jedoch kostenlose Registrierungsschlüssel für seine Altprodukte.

Versenden von Emails's direkt vom RN-Control aus

Funktionen des Boards

Der WebServer "MicroWebServ" (Download siehe unter Weblinks unten) ermöglicht das Versenden von Emails direkt vom RN-Control aus. Durch bestimmte Parameter im RN-Control-Source-Code wird die Email über die COM-Schnittstelle an den WEB-Server übergeben. Der WEB-Server leitet darauf hin sofort die Email an den im Board eingestellten Email-Server weiter. Hier die Parameter für den Board-Source-Code (siehe Help-Datei des WebServers):

E0 = MailServer

E1 = Send To

E1Cc = Carbon Copy to

E1BCc = Blind Carbon Copy

E2 = Mail From

E3 = Mail Subject

E4 = File Attachment

E5 = Message Text

Zu verstehen ist das am besten an einem Beispiel.

Hier nun ein Beispiel für das generelle versenden einer Email:

 $regfile = "m32def.dat"                                     ' Bestimmung des Prozessors
 $crystal = 16000000                                         ' Quarzfrequenz
 $baud = 9600                                                ' RS232-Uebertragungsrate
 $hwstack = 32
 $framesize = 32
 $swstack = 32
 Dim Status As Word
 Const Mailserver = "E0=eigener.emailserver.de"
 Const Mailto = "empfaenger@emailadresse.de"
 Const Mailfrom = "eigene@emailadresse.de"
 Print Mailserver;
 Print "&E1=" ; : Print Mailto;
 Print "&E2= " ; : Print Mailfrom;
 Print "&E3=RN-Control-Mitteilung";
 Print "&E5=Das ist eine Mitteilung des RN-Control-";
 End

Hier nun ein Beispiel, bei der eine Email versendet wird, nachdem die Taste 1 gedrückt wurde:

 Declare Sub Senden()
 Declare Function Tastenabfrage() As Byte
 Declare Sub Nichts()
 $regfile = "m32def.dat"                                     ' Bestimmung des Prozessors
 $crystal = 16000000                                         ' Quarzfrequenz
 $baud = 9600                                                ' RS232-Uebertragungsrate
 $hwstack = 32
 $framesize = 32
 $swstack = 32
 Dim Taste As Byte
 Dim Ton As Integer
 config ADC = Single , Prescaler = Auto
 Config Pina.7 = Input                                       ' Für die Tastenabfrage konfigurieren
 Porta.7 = 1                                                 ' Port für Tastenabfrage in einen definierten Zustand stellen
 Print "Programm ist gestartet"
 Do
     Taste = Tastenabfrage()                               ' Ist eine Taste gedrückt gedrückt worden?
     If Taste <> 0 Then
        Select Case Taste
           Case 1
            Print "Taste 1 wurde gedrückt"
            Gosub Senden                                   ' Wird Taste 1 gedrückz, dann versende eine Email
           Case 2
              Print "Taste 2 wurde gedrückt"
              Gosub Nichts                                 ' es soll keine Email versendet werden
           Case 3
              Print "Taste 3 wurde gedrückt"
              Gosub Nichts                                 ' es soll keine Email versendet werden
           Case 4
              Print "Taste 4 wurde gedrückt"
              Gosub Nichts                                 ' es soll keine Email versendet werden
           Case 5
              Print "Taste 5 wurde gedrückt"
              Gosub Nichts                                 ' es soll keine Email versendet werden
        End Select
     End If
  Loop
 End
 Function Tastenabfrage() As Byte
   Local Ws As Word
   Tastenabfrage = 0
   Ton = 600
   Start Adc
   Ws = Getadc(7)
   If Ws < 500 Then
     Select Case Ws
        Case 400 To 450
           Tastenabfrage = 1
           Ton = 550
        Case 330 To 380
           Tastenabfrage = 2
           Ton = 450
        Case 260 To 305
           Tastenabfrage = 3
           Ton = 450
        Case 180 To 220
           Tastenabfrage = 4
           Ton = 400
        Case 90 To 130
           Tastenabfrage = 5
           Ton = 350
        Case Else
           Print "Tastenabfrage anpassen ADC-Wert=" ; Ws
     End Select
   End If
 End Function
 Sub Senden()
   Dim Status As Word
   Const Mailserver = "E0=eigener.emailserver.de"               ' Emailseerver, über die die Email versendet werden soll
   Const Mailto = "empfaenger@emailadresse.de"              ' Adresse des Empfängers
   Const Mailfrom = "eigene@emailadresse.de"              ' Adresse des Absenders
   Print Mailserver;
   Print "&E1=" ; : Print Mailto;
   Print "&E2= " ; : Print Mailfrom;
   Print "&E3=RN-Control-Mitteilung";                     ' Subject der zu versendenen Email
   Print "&E5=Das ist beine Mitteilung des RN-Control";       ' Textinhalt der zu versendenen Email
 End Sub
 Sub Nichts()
  Print " Bla Bla Bla Nichts!"
 End Sub

Siehe auch

Weblinks