Show Posts
Pages: [1]
1  Topics / Home Automation and Networked Objects / Re: Save IP Address EEPROM on: October 05, 2011, 06:49:44 am
OK, I test
2  Topics / Home Automation and Networked Objects / Save IP Address EEPROM on: October 03, 2011, 09:52:12 pm
I want save IP Address to EEPROM.

To my user running webserver is possible change IP Address.



My problem is convert string to Byte

My Complete Code :
Code:
/*  Ethernet shield attached to pins 10, 11, 12, 13 */

#include <SPI.h>
#include <Ethernet.h>
#include <EEPROM.h>
#include <C:\Temp\Eletronica\arduino-0022\libraries\TextFinder\TextFinder.h>

Server server(80);
//Server TelnetServer(23);


const int buttonPin = 2;          // the number of the pushbutton pin
int buttonState = 0;             // variable for reading the pushbutton status
String readString = String(30);  //string for fetching data from address
int address = 0;
boolean gotAMessage = false;

   int IP[4] = {192, 168,1, 170};
   int gat[4] = {192,168,100,2};
   int Sub[4] = {255,255,0,0};


void setup()
{


  byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  byte ip[] = { IP[0],IP[1],IP[2], IP[3] };
  byte gateway[] = { gat[0],gat[1],gat[2],gat[3]};
  byte subnet[] = { Sub[0], Sub[1], Sub[2], Sub[3] };

  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
  //TelnetServer.begin();
 
  pinMode(2, INPUT);
  pinMode(3, OUTPUT);
 // Serial.begin(9600);
 
}

void loop()
{
 
  int varBateria;
  int varRede;
  long varTemperatura;
  boolean varAlarme = true;
  boolean varPagina = false;

  // listen for incoming clients
  Client client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
              if (client.available()) {
                            char c = client.read();
                            if (readString.length() < 100)
                            {
                              readString += c; //replaces readString.append(c);
                            }
                            if (c == '\n' && currentLineIsBlank) {
                                      client.println("HTTP/1.1 200 OK");
                                      client.println("Content-Type: text/html");
                                      client.println();
                                      client.println("<HTML>");
                                      if(readString.indexOf("Reset=1") > 0){
                                              client.println("<font face=verdana size=3><b>O Nobreak sera reiniciado!!</b></Font>");
                                              digitalWrite(3, HIGH);
                                              delay(2000);
                                              digitalWrite(3, LOW);
                                              client.println();
                                              client.stop();
                                              break;
                                      }                                     
                                       if(readString.indexOf("SalvaConf") > 0){
                                             //TextFinder  finder(client);
                                             //finder.find("GET /");
                                             //finder.findUntil("IP", "\n\r");
                                             //char type = client.read();
                                             int posA;int posB;int posC;int posD;int posE;
                                             
                                             //char IP1;char IP2;char IP3;char IP4;
                                             //char SUB1;
                                             //byte Sub2;byte SUB3;char SUB4;
                                             //char GT1;char GT2;byte GT3;char GT4;                                             
                                             
                                             client.println("<font face=verdana size=3><b>As configuracoes foram salvas!!</b></Font>");
                                             posA=readString.indexOf("IP");
                                             posB=readString.indexOf(".", posA+1);
                                             posC=readString.indexOf(".", posB+1);
                                             posD=readString.indexOf(".", posC+1);
                                             posE=readString.indexOf("&", posD+1);

                                             String IP1 = String(readString.substring(posA+3,posB));
                                             String IP2 = String(readString.substring(posB+1,posC));
                                             String IP3 = String(readString.substring(posC+1,posD));
                                             String IP4 = String(readString.substring(posD+1,posE));
                                           
                                             int x;
                                             x = atoi(IP1);
                                           
                                             client.println(IP1);
                                             
                                             // gravaConf(IP1, IP2, IP3, IP4, Sub1, Sub2, Sub3, Sub4, GT1, GT2, GT3, GT4);
                                             // client.println(readString);
                                             
                                             client.stop();
                                             break;
                                      }     


My answer code:

Code:
                                             String IP1 = String(readString.substring(posA+3,posB));
                                             String IP2 = String(readString.substring(posB+1,posC));
                                             String IP3 = String(readString.substring(posC+1,posD));
                                             String IP4 = String(readString.substring(posD+1,posE));


Please how to??
Pages: [1]