INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ethernet-Wetter-Cam
13.06.2015, 14:31 (Dieser Beitrag wurde zuletzt bearbeitet: 13.06.2015 17:28 von 4711engel.)
Beitrag #1
Ethernet-Wetter-Cam
Hallo,
ich hasbe meine letzten beiden Projekte:[php]
- Sensoren auslesen und über Ethernet im Browser anzeigen
- Ethernet-Camera

auf einem MEGA kombiniert. Ziel ist es, zum einen über das Internet ein Foto von der Wettersituation zu machen und darunter die aktuellen Daten der verschiedenen Sensoren (Temp, Feuchte, Druck, Helligkeit) anzuzeigen.
Grundsätzlich funktioniert dieses schon soweit gut.
Ich habe nur noch ein Problem: Die Sensordaten kann ich aktuell nur im srial monitor auslesen. Nicht über die Webpage im Browser. Das ist wohl nur ein HTML-Problem.
Vielleicht kennt sich einer/eine im Forum mit HTML aus und kann mirhelfen.http://www.arduinoforum.de/images/smilies/huh.gif

    Sceenshot der Webpage und serial monitor

*******************************************************

Ich poste mal die aktuelle index.htm und den arduino-sketch:

Code:
/*--------------------------------------------------------------
          Arduino Ethernet Camera
Take a picture using the adafruit_vc0706 , save it on SD-Card
and print it over ethernet on a internet browser
                  Ulrich Engel
  CoAuthor:       W.A. Smith, http://startingelectronics.org
--------------------------------------------------------------*/

#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#include <Adafruit_VC0706.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_BMP085.h>
#include "DHT22.h"


int eingang= A0;   //Photosensor-Eingang
int s = 0;

// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ   20
#define chipSelect 4

#define DHTPIN 3     // data pin 3
#define DHTTYPE DHT22   // DHT22  (AM2302)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor your DHTPIN
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT22 mySensor(DHTPIN);

Adafruit_BMP085 bmp;  //Druck-Sensor

// Connect pin SDA of the sensor to 20
// Connect pin SCL of the sensor to 21
// Connect pin Gnd of the sensor to GROUND
// Connect pin VIN of the sensor to +5V

// MAC address from Ethernet shield sticker under board
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x1E, 0x28};
IPAddress ip(192, 168, 178, 45); // IP address, may need to change depending on network
byte gateway[] = { 192, 168, 178, 1 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(80);  // create a server at port 80
File webFile;
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0;              // index into HTTP_req buffer



Adafruit_VC0706 cam = Adafruit_VC0706(&Serial1);   // connect RX(Blau) to pin 18 and TX(weiss) to pin19

//*************************** void setup ********************************

void setup()
{
    // disable Ethernet chip
    pinMode(10, OUTPUT);
    digitalWrite(10, HIGH);
    
// Open serial communications and wait for port to open:
Serial.begin(9600);
  Wire.begin();

  if (!bmp.begin()) {
     Serial.println("Could not find a valid BMP085 sensor, check wiring!");
     while (1) {}
  }

// start the Ethernet connection and the server:
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();

  Serial.println(Ethernet.localIP());  

    
    // initialize SD card
    Serial.println(F("Ini SD"));
    if (!SD.begin(4)) {
        Serial.println(F("SD failed!"));
        return;    // init failed
    }

    // check for index.htm file
    if (!SD.exists("index.htm")) {
        Serial.println(F("ERROR - Can't find index.htm file!"));
        return;  // can't find index file
    }
    Serial.println(F("index.htm found"));
    
}

// **************  void loop  ***********************

void loop()
{
    //Photosensor
  int wert =analogRead(eingang);
  s = map(wert, 0, 1023, 0, 19);
  
  // Measure the Druck
  float P = bmp.readPressure()/100+2;

    Serial.print("Luftdruck:    ");
    Serial.print(P);
    Serial.println(" hPa");

  // Reading temperature or humidity
  mySensor.readData();
  float h = mySensor.getHumidity();
  float t = mySensor.getTemperatureC();

  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
    Serial.print("Feuchte:    ");
    Serial.print(h);
    Serial.println(" %");
    Serial.print("Temperatur: ");
    Serial.print(t);
    Serial.println(" C");
    Serial.print("Helligkeit 1....20: ");
    Serial.println(s);
    Serial.println(" ");
    delay(1000);
  }
  
  
  
  EthernetClient client = server.available();  // try to get client

    if (client) {  // got client?
        boolean currentLineIsBlank = true;
        while (client.connected()) {
            if (client.available()) {   // client data available to read
                char c = client.read(); // read 1 byte (character) from client
                // buffer first part of HTTP request in HTTP_req array (string)
                // leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)

               if (req_index < (REQ_BUF_SZ - 1)) {
                    HTTP_req[req_index] = c;          // save HTTP request character
                    req_index++;
                }

                // print HTTP request character to serial monitor
                Serial.print(c);
                // last line of client request is blank and ends with \n
                // respond to client only after last line received
                if (c == '\n' && currentLineIsBlank) {
                    // open requested web page file
                    if (StrContains(HTTP_req, "GET / ")
                                 || StrContains(HTTP_req, "GET /index.htm")) {
    Serial.println(freeRam());  // Speicherbedarf ermitteln
                        client.println("HTTP/1.1 200 OK");
                        client.println("Content-Type: text/html");
                        client.println("Connnection: close");
                        client.println();
                        webFile = SD.open("index.htm");        // open web page file
                    }

                    if (StrContains(HTTP_req, "GET /IMAGE.JPG")) {
                        webFile = SD.open("IMAGE.JPG");
                        if (webFile) {
                            client.println("HTTP/1.1 200 OK");
                            client.println();
                        }
                    }
                
          
               if (StrContains(HTTP_req, "GET /TakingPicture")) {
                              client.println("HTTP/1.1 200 OK");
                              client.println("Content-Type: text/html");
                             client.println("Connnection: close");
                             client.println();  
                        
                          Serial.println(F("Button -pressed!"));                        
                        
                            
                          Serial.println(F("VC0706 test"));
                        
                        
                              // Try to locate the camera
                             if (cam.begin()) {
                                 Serial.println(F("Camera Found:"));
                              } else {
                                 Serial.println(F("No camera found?"));
                                 return;
                               }

                               // Existing image remove
                                SD.remove("IMAGE.JPG");

                               // Set the picture size - you can choose one of 640x480, 320x240 or 160x120
                                  //cam.setImageSize(VC0706_640x480);        // biggest
                                  cam.setImageSize(VC0706_320x240);        // medium
                                  //cam.setImageSize(VC0706_160x120);          // small

                                  Serial.println(F("Snap in 3 secs..."));
                                    delay(3000);

                                   if (! cam.takePicture())
                                       Serial.println(F("Failed to snap!"));
                                    else
                                       Serial.println(F("Picture taken!"));
  
                                    // Create an image with the name IMAGE.JPG
                                       char filename[10];
                                       strcpy(filename, "IMAGE.JPG");
                                    // Open the file for writing
                                       File imgFile = SD.open(filename, FILE_WRITE);

                                    // Get the size of the image (frame) taken  
                                       uint16_t jpglen = cam.frameLength();
                                        Serial.print("Storing ");
                                        Serial.print(jpglen, DEC);
                                        Serial.print(" byte image.");

                                       int32_t time = millis();
  
                                       pinMode(4, OUTPUT);
                                       // Read all the data up to # bytes!
                                       byte wCount = 0; // For counting # of writes
                                     while (jpglen > 0) {
                                       // read 32 bytes at a time;
                                       uint8_t *buffer;
                                       uint8_t bytesToRead = min(32, jpglen); // change 32 to 64 for a speedup but may not work with all setups!
                                       buffer = cam.readPicture(bytesToRead);
                                       imgFile.write(buffer, bytesToRead);
                                       jpglen -= bytesToRead;
                                      }
                                       imgFile.close();
                                       time = millis() - time;
                                       Serial.println("done!");
                                       Serial.print(time); Serial.println(" ms elapsed");

                                      webFile = SD.open("index.htm");       // open web page file
                                
                                   }  // end taking picture
          
                    if (webFile) {
                        while(webFile.available()) {
                            client.write(webFile.read()); // send web page to client
                        }
                        webFile.close();
                    }
                    
                    // reset buffer index and all buffer elements to 0
                    req_index = 0;
                    StrClear(HTTP_req, REQ_BUF_SZ);
                    break;
                }
                // every line of text received from the client ends with \r\n
                if (c == '\n') {
                    // last character on line of received text
                    // starting new line with next character read
                    currentLineIsBlank = true;
                }
                else if (c != '\r') {
                    // a text character was received from client
                    currentLineIsBlank = false;
                }
            } // end if (client.available())
        } // end while (client.connected())
        delay(1);      // give the web browser time to receive the data
        client.stop(); // close the connection
    } // end if (client)
}

/**********************StrClear *********************/

// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
    for (int i = 0; i < length; i++) {
        str[i] = 0;
    }
}
/**********************StrContains *********************/
// searches for the string sfind in the string str
// returns 1 if string found
// returns 0 if string not found
char StrContains(char *str, char *sfind)
{
    char found = 0;
    char index = 0;
    char len;

    len = strlen(str);
    
    if (strlen(sfind) > len) {
        return 0;
    }
    while (index < len) {
        if (str[index] == sfind[found]) {
            found++;
            if (strlen(sfind) == found) {
                return 1;
            }
        }
        else {
            found = 0;
        }
        index++;
    }

    return 0;
}



// ********************* Speicherbedarf ermittel  ***************************
int freeRam ()
{
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
};


Index.htm Datei für die Webpage:

Code:
<!DOCTYPE html>

<html>

    <head>

        <title>Ethernet Weather-Cam</title>

    </head>

    <body BGColor=#D0F0D0>

        <h1 align=center><Big><TT>Ethernet Weather-Cam</TT></Big></H1>
        <TABLE Bordercolor=#000000 cellspacing=6 align=center border=0>
            <TD>
            <img src="IMAGE.JPG">
            </TD>
        </TABLE>
        <TABLE Bordercolor=#000000 cellspacing=6 align=center border=0>
            <TD>
               <form action="/TakingPicture" method="GET">
               <button name="Take Picture" type="submit">Take Picture</button>
               </form>
            </TD>
        </TABLE>
        <TABLE Bordercolor=#000000 cellspacing=6 align=center border=0>
            <TD>
            <H5 align=center><TT>Button drücken und abwarten. Foto wird erstellt!</TT></H1>
            </TD>
        </TABLE>
        <HR>
        <br />
        <TABLE Bordercolor=#B0B0B0 cellspacing=6 align=center border=3>
            <TR>
             <TD>
               <B>Feuchte: </B>
         </TD>
         <TD>
               h %
             </TD>
             </TR>
         <TD>
               <B>Temperatur: </B>
         </TD>
         <TD>
               t °
             </TD>
             </TR>
         <TD>
               <B>Luftdruck: </B>
         </TD>
         <TD>
               p hPa
             </TD>
             </TR>
         <TD>
               <B>Helligkeit: </B>
         </TD>
         <TD>
               s
             </TD>
             </TR>
         </TABLE>
    </body>

</html>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.06.2015, 16:36
Beitrag #2
RE: Ethernet-Wetter-Cam
Hallo,
Ich kann dir bei der HTML Programmierung leider nicht viel helfen aber das Projekt ist sehr interessant. Ich habe auch eine Webcam am laufen und eine Wetterstation die ich mit einem Arduino auslese, das wollte ich schon immer mal miteinander verbinden. Was für eine Kamera benutzt du denn und wie steuerst du sie an?

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.06.2015, 17:25
Beitrag #3
RE: Ethernet-Wetter-Cam
Hi,
ich nutze eine adafruit VC0706 und steuer diese auf dem MEGA über Hardwareserial an Pin 18 und 19 an:

Adafruit_VC0706 cam = Adafruit_VC0706(&Serial1); // connect RX to pin 18 and TX to pin19


Ansonsten soll es so sein, dass der Nutzer am anderen Ende über das Internet ein Foto der Wettersituation bei mir machen kann. Dieses Bild wird auf der SD-Karte des Ehternet-shields abgelegt und wenn die Webpage dann refreshed wird, erscheint dann dieses Foto. (Siehe sketch). Ich habe dazu sketche verwendet, die man in der Library zur cam findet und einen sketch zum Ethernet-Webserver.

Den Gesamtsketch findest Du ja im Post.

Hier der neue sketch zu dem Projekt, dass noch nicht fertig ist. Was eben noch nicht funktioniert ist das Abbilden der Sensorenwerte auf der Webseite in der Tabelle.

Code:
/*--------------------------------------------------------------
          Arduino Ethernet Camera
Take a picture using the adafruit_vc0706 , save it on SD-Card
and print it over ethernet on a internet browser
                  Ulrich Engel
  CoAuthor:       W.A. Smith, http://startingelectronics.org
--------------------------------------------------------------*/

#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#include <Adafruit_VC0706.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_BMP085.h>
#include "DHT22.h"


int eingang= A0;   //Photosensor-Eingang
int s = 0;

// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ   20
#define chipSelect 4

#define DHTPIN 3     // data pin 3
#define DHTTYPE DHT22   // DHT22  (AM2302)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor your DHTPIN
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT22 mySensor(DHTPIN);

Adafruit_BMP085 bmp;  //Druck-Sensor

// Connect pin SDA of the sensor to 20
// Connect pin SCL of the sensor to 21
// Connect pin Gnd of the sensor to GROUND
// Connect pin VIN of the sensor to +5V

// MAC address from Ethernet shield sticker under board
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x1E, 0x28};
IPAddress ip(192, 168, 178, 45); // IP address, may need to change depending on network
byte gateway[] = { 192, 168, 178, 1 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(80);  // create a server at port 80
File webFile;
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0;              // index into HTTP_req buffer



Adafruit_VC0706 cam = Adafruit_VC0706(&Serial1);   // connect RX(Blau) to pin 18 and TX(weiss) to pin19

//*************************** void setup ********************************

void setup()
{
    // disable Ethernet chip
    pinMode(10, OUTPUT);
    digitalWrite(10, HIGH);
    
// Open serial communications and wait for port to open:
Serial.begin(9600);
  Wire.begin();

  if (!bmp.begin()) {
     Serial.println("Could not find a valid BMP085 sensor, check wiring!");
     while (1) {}
  }

// start the Ethernet connection and the server:
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();

  Serial.println(Ethernet.localIP());  

    
    // initialize SD card
    Serial.println(F("Ini SD"));
    if (!SD.begin(4)) {
        Serial.println(F("SD failed!"));
        return;    // init failed
    }

    // check for index.htm file
    if (!SD.exists("index.htm")) {
        Serial.println(F("ERROR - Can't find index.htm file!"));
        return;  // can't find index file
    }
    Serial.println(F("index.htm found"));
    
}

// **************  void loop  ***********************

void loop()
{
    //Photosensor
  int wert =analogRead(eingang);
  s = map(wert, 0, 1023, 0, 19);
  
  // Measure the Druck
  float P = bmp.readPressure()/100+2;

    Serial.print("Luftdruck:    ");
    Serial.print(P);
    Serial.println(" hPa");

  // Reading temperature or humidity
  mySensor.readData();
  float h = mySensor.getHumidity();
  float t = mySensor.getTemperatureC();

  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
    Serial.print("Feuchte:    ");
    Serial.print(h);
    Serial.println(" %");
    Serial.print("Temperatur: ");
    Serial.print(t);
    Serial.println(" C");
    Serial.print("Helligkeit 1....20: ");
    Serial.println(s);
    Serial.println(" ");
    delay(1000);
  }
  
  
  
  EthernetClient client = server.available();  // try to get client

    if (client) {  // got client?
        boolean currentLineIsBlank = true;
        while (client.connected()) {
            if (client.available()) {   // client data available to read
                char c = client.read(); // read 1 byte (character) from client
                // buffer first part of HTTP request in HTTP_req array (string)
                // leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)

               if (req_index < (REQ_BUF_SZ - 1)) {
                    HTTP_req[req_index] = c;          // save HTTP request character
                    req_index++;
                }

                // print HTTP request character to serial monitor
                Serial.print(c);
                // last line of client request is blank and ends with \n
                // respond to client only after last line received
                if (c == '\n' && currentLineIsBlank) {
                    // open requested web page file
                    if (StrContains(HTTP_req, "GET / ")
                                 || StrContains(HTTP_req, "GET /index.htm")) {
    Serial.println(freeRam());  // Speicherbedarf ermitteln
                        client.println("HTTP/1.1 200 OK");
                        client.println("Content-Type: text/html");
                        client.println("Connnection: close");
                        client.println();
                        webFile = SD.open("index.htm");        // open web page file
                    }

                    if (StrContains(HTTP_req, "GET /IMAGE.JPG")) {
                        webFile = SD.open("IMAGE.JPG");
                        if (webFile) {
                            client.println("HTTP/1.1 200 OK");
                            client.println();
                        }
                    }
                
          
               if (StrContains(HTTP_req, "GET /TakingPicture")) {
                              client.println("HTTP/1.1 200 OK");
                              client.println("Content-Type: text/html");
                             client.println("Connnection: close");
                             client.println();  
                        
                          Serial.println(F("Button -pressed!"));                        
                        
                            
                          Serial.println(F("VC0706 test"));
                        
                        
                              // Try to locate the camera
                             if (cam.begin()) {
                                 Serial.println(F("Camera Found:"));
                              } else {
                                 Serial.println(F("No camera found?"));
                                 return;
                               }

                               // Existing image remove
                                SD.remove("IMAGE.JPG");

                               // Set the picture size - you can choose one of 640x480, 320x240 or 160x120
                                  //cam.setImageSize(VC0706_640x480);        // biggest
                                  cam.setImageSize(VC0706_320x240);        // medium
                                  //cam.setImageSize(VC0706_160x120);          // small

                                  Serial.println(F("Snap in 3 secs..."));
                                    delay(3000);

                                   if (! cam.takePicture())
                                       Serial.println(F("Failed to snap!"));
                                    else
                                       Serial.println(F("Picture taken!"));
  
                                    // Create an image with the name IMAGE.JPG
                                       char filename[10];
                                       strcpy(filename, "IMAGE.JPG");
                                    // Open the file for writing
                                       File imgFile = SD.open(filename, FILE_WRITE);

                                    // Get the size of the image (frame) taken  
                                       uint16_t jpglen = cam.frameLength();
                                        Serial.print("Storing ");
                                        Serial.print(jpglen, DEC);
                                        Serial.print(" byte image.");

                                       int32_t time = millis();
  
                                       pinMode(4, OUTPUT);
                                       // Read all the data up to # bytes!
                                       byte wCount = 0; // For counting # of writes
                                     while (jpglen > 0) {
                                       // read 32 bytes at a time;
                                       uint8_t *buffer;
                                       uint8_t bytesToRead = min(32, jpglen); // change 32 to 64 for a speedup but may not work with all setups!
                                       buffer = cam.readPicture(bytesToRead);
                                       imgFile.write(buffer, bytesToRead);
                                       jpglen -= bytesToRead;
                                      }
                                       imgFile.close();
                                       time = millis() - time;
                                       Serial.println("done!");
                                       Serial.print(time); Serial.println(" ms elapsed");

                                      webFile = SD.open("index.htm");       // open web page file
                                
                                   }  // end taking picture
          
                    if (webFile) {
                        while(webFile.available()) {
                            client.write(webFile.read()); // send web page to client
                        }
                        webFile.close();
                    }
                    
                    // reset buffer index and all buffer elements to 0
                    req_index = 0;
                    StrClear(HTTP_req, REQ_BUF_SZ);
                    break;
                }
                // every line of text received from the client ends with \r\n
                if (c == '\n') {
                    // last character on line of received text
                    // starting new line with next character read
                    currentLineIsBlank = true;
                }
                else if (c != '\r') {
                    // a text character was received from client
                    currentLineIsBlank = false;
                }
            } // end if (client.available())
        } // end while (client.connected())
        delay(1);      // give the web browser time to receive the data
        client.stop(); // close the connection
    } // end if (client)
}

/**********************StrClear *********************/

// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
    for (int i = 0; i < length; i++) {
        str[i] = 0;
    }
}
/**********************StrContains *********************/
// searches for the string sfind in the string str
// returns 1 if string found
// returns 0 if string not found
char StrContains(char *str, char *sfind)
{
    char found = 0;
    char index = 0;
    char len;

    len = strlen(str);
    
    if (strlen(sfind) > len) {
        return 0;
    }
    while (index < len) {
        if (str[index] == sfind[found]) {
            found++;
            if (strlen(sfind) == found) {
                return 1;
            }
        }
        else {
            found = 0;
        }
        index++;
    }

    return 0;
}



// ********************* Speicherbedarf ermittel  ***************************
int freeRam ()
{
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
};
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.06.2015, 17:53
Beitrag #4
RE: Ethernet-Wetter-Cam
Ich habe mit GET Temperaturen und Feuchte an ein PHP Script übergeben aber ich weiß nicht wie das bei einer HTML Seite aussieht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2015, 08:24
Beitrag #5
RE: Ethernet-Wetter-Cam
Hi,
ich hätte dazu zwei Ansätze zu bieten:
1. Im HTML ein <DIV> mit Namen als Platzhalter einfügen, das dann per Javascript gefüllt wird. Das Javascript lädt dann die gewünschten Werte nach und setzt sie ins DIV.
2. Wahrscheinlich gibt es ein Zeichen, das im HTML nicht vorkommt, z.B. "#". Damit machst Du Dir im HTML Platzhalter, wie z.B. #H für Helligkeit, #T für Temperatur usw. Anstatt "client.write(webFile.read());" prüfst Du für jedes Zeichen, ob es das "#" ist. Wenn nein, dann einfach per client.write senden. Falls es das "#" ist, dann das nächste Zeichen lesen und je nachdem mit dem entsprechenden Wert (in eine Zeichenkette gewandelt) ersetzen. Das darfst Du natürlich nur für die Webseite selbst machen und nicht z.B. für das Bild, da dort auch jegliches Byte vorkommen kann.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2015, 10:42 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2015 10:44 von 4711engel.)
Beitrag #6
RE: Ethernet-Wetter-Cam
Hi Thorsten,
ich habe nach <DIV> gegoogled und mir Beispiele dazu angesehen. Wenn ich es richtig verstehe, dann ich ich doch damit nur die Tabelle in meiner index.htm ersetzen und den code verringern.
Aber damit bekomme ich doch noch keinen Werte der Sensoren in die Liste im Browser. Wie sollte denn dieser Teil (mit Javascript) aussehen. Da fehlt mir das nötige Wissen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2015, 10:54
Beitrag #7
RE: Ethernet-Wetter-Cam
Ist es nicht einfacher die Messwerte in einer Textdatei auf dem Server zu speichern und diese dann nur noch über die HTML aufzurufen? Dann hast du gleich noch ein schönes Daten Archiv und kannst z.b. noch Diagramme einfügen.
Ich habe das nach dieser Anleitung umgesetzt.
https://glaskugelsehen.wordpress.com/201...ng-teil-3/

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2015, 11:17 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2015 11:18 von Thorsten Pferdekämper.)
Beitrag #8
RE: Ethernet-Wetter-Cam
(14.06.2015 10:42)4711engel schrieb:  Da fehlt mir das nötige Wissen.
Dann nimm meinen zweiten Vorschlag, das ist wahrscheinlich einfacher.

(14.06.2015 10:54)Scherheinz schrieb:  Ist es nicht einfacher die Messwerte in einer Textdatei auf dem Server zu speichern und diese dann nur noch über die HTML aufzurufen?
Das wird für ihn (oder sie?) schwierig, da der Webserver der Arduino selbst ist. Natürlich kann man auch die Messwerte auf der SD-Karte in einer Datei speichern, aber dann hat man sie noch lange nicht auf der Webseite.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino UNO und Ethernet Shield 2 POE und Fritzbox 3272 tr3 2 149 19.11.2016 10:46
Letzter Beitrag: tr3
  Ethernet Modul Enc28j60 Pin13 LED Schalten BennIY 16 492 27.09.2016 20:30
Letzter Beitrag: BennIY
  Wo kann ich hier noch Code spahren? (SPI-,Ethernet-,SD-,GSM-Library) avoid 4 377 05.06.2016 14:16
Letzter Beitrag: avoid
  Daten per Ethernet Shield 2 senden Mark79 3 859 22.03.2016 19:29
Letzter Beitrag: Mark79
  array von Php --> Arduino zu senden (ethernet) Mourti 0 441 27.01.2016 22:11
Letzter Beitrag: Mourti
  Port B vom Arduino Ethernet einlesen magifix 0 351 08.01.2016 10:46
Letzter Beitrag: magifix
  BARCODE Abfrage über Ethernet Shield Wampo 3 790 05.12.2015 12:11
Letzter Beitrag: Wampo
  Probleme mit SPI - Ethernet und nRF24L01 itsy 35 2.966 21.11.2015 19:59
Letzter Beitrag: ardu_arne
  Problem mit der Ethernet Library (client.connect) ardu_arne 3 648 06.10.2015 17:06
Letzter Beitrag: ardu_arne
  Probleme mit Ethernet-Shild und <wire.h> Arne 5 1.004 08.09.2015 21:18
Letzter Beitrag: Arne

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste