Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Was brauch ich für eine Homepage (XPORT) Kategorie: Verschiedenes (von Mark - 3.05.2007 22:26)
Als Antwort auf Re: Was brauch ich für eine Homepage (XPORT) von Josef - 3.05.2007 14:14

Hallo Ju,

ist eigentlich relativ einfach. Ich weiÃ? allerdings nicht mehr genau was ich gemacht habe und warum,
aber es funzt seit einem halben Jahr.


//-----------------------Serverkommunikation---------------------------------
thread xport
{
 byte fifo;
 hwcom.setbuf(fifo,128);
 hwcom.ret();
 int i, minute;

 loop
 {
  wait system.minute()%2==0;
  minute=system.minute();
  for i=0...1
   {
    string s, send_String;
    hwcom.flush();
    hwcom.put(0x0D);  //startbedingung für den xport ? bin mir nicht mehr sicher
    hwcom.put(0x0A);  //startbedingung für den xport ? bin mir nicht mehr sicher
    hwcom.print("      ");
    hwcom.print("!");
    hwcom.print("Messwerte");
    hwcom.put(0x3b);
    wait hwcom.ready();
    // Verbindung zum Server herstellen
    hwcom.num(system.year());
    hwcom.put(0x2d);
    hwcom.num(system.month());
    hwcom.put(0x2d);
    hwcom.num(system.day());
    hwcom.put(0x20);
    wait hwcom.ready();
    hwcom.num(system.hour());
    hwcom.put(0x3a);
    hwcom.num(system.minute());
    hwcom.put(0x3a);
    hwcom.num(system.second());
    hwcom.put(0x3b);
    wait hwcom.ready();
    ...
    u.s.w.
    ...
    hwcom.num(terratempboden1);
    hwcom.put(0x3b);
    hwcom.num(terratempboden2);
    hwcom.put(0x3b);
    hwcom.num(terraluft);
    wait hwcom.ready();
    sleep 1000;
   }
  sleep 5000;
  wait minute!=system.minute();
 }
}

//-----------------------Serverkommunikation Ende----------------------------



und auf dem Webserver (Linux) läuft ein Perl-Script:
(auch das ist nicht "sauber" programmiert, funzt aber)


#!/usr/bin/perl

use strict;
use Socket;
use IO::Handle;
use constant MY_ECHO_PORT =>10001;
use DBI;


my ($bytes_out,$bytes_in) = (0,0);

my $string;
my @array;

my $port =shift || MY_ECHO_PORT;
my $protocol = getprotobyname('tcp');

my $dbname="name der Datenbank";
my $username="Benutzername für die Datenbank";
my $pw="Passwort";

my $data1 = "DBI:mysql:$dbname";
my $data2 = DBI->connect($data1, $username, $pw);

my $zwischenwert;
my $ipadresse;

$SIG{'INT'} = sub
 {
  print STDERR "$bytes_in Bytes empfangenn";
  exit 0;
 };

socket(SOCK, AF_INET, SOCK_STREAM, $protocol) or
   die "socket() fehlgeschlagen: $!";
setsockopt(SOCK, SOL_SOCKET, SO_REUSEADDR,1) or
   die "Kann SO_REUSEADDR nicht setztem: $!";

my $my_addr = sockaddr_in($port,INADDR_ANY);
bind(SOCK,$my_addr) or
  die "bind() fehlgeschlagen: $!";

listen(SOCK,SOMAXCONN) or
  die "listen() fehlgeschlagen: $!";

#  warn "Warte auf ankommende Verbindung auf Port $port...n";

while (1)
 {
  next unless
   my $remote_addr = accept(SESSION,SOCK);
   my ($port,$hisaddr) = sockaddr_in($remote_addr);
#  warn "Verbindung von [",inet_ntoa($hisaddr),",$port]n";

   SESSION->autoflush(1);
   while ()
    {
     open (FH,">empfang.txt") or die "Kann Datei nicht oeffnen: $!";
     $bytes_in += length($_);
     @array = split /!/,$_;
     $zwischenwert = $array[1];
     print FH $zwischenwert;
     print FH inet_ntoa($hisaddr);
     $ipadresse = inet_ntoa($hisaddr);
     close FH;
     chomp;

    }
#   warn "Verbindung von [",inet_ntoa($hisaddr),",$port] beendet.n";
    close SESSION;
    @array = split /;/,$zwischenwert;
    my $datum_zeit = $array[1];

    my $sql = "INSERT INTO terrarium_daten (Datum_Zeit, Temp_Boden_1, Temp_Boden_2,
                     Temp_Luft, Temp_Wasser, Feuchte, Temp_Spot, Helligkeit, IP_Adresse)
       VALUES ('$datum_zeit', '$array[2]', '$array[3]', '$array[4]', '$array[6]', '$array[5]', '$array[7]',
                     '$array[8]', '$ipadresse')";

    my $abfr1=$data2->prepare($sql);
    $abfr1->execute;

   
    unlink('empfang.txt');


  };
 close SOCK;

GruÃ? Mark



    Antwort schreiben


Antworten:

Re: Was brauch ich für eine Homepage (XPORT) (von ju - 4.05.2007 11:49)
    Re: Was brauch ich für eine Homepage (XPORT) (von JackFrost - 19.11.2007 18:39)