Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Ср апр 03, 2013 3:57 pm

Alex писал(а):
просто я покупал по деталям arduino UNO -выходило где-то за 3$.. разница в 5 раз
Мы с вами живём в параллельных вселенных. :)

Это я к тому, что 15$ за МЕГУ это очень недорого, на мой взгляд. А по нынешним временам вообще не о чем говорить. Купил и забыл.
За $15 прикупил Arduino2560 и проблемы с размером скетча отпали сами собой
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение sergejey » Чт апр 04, 2013 12:55 pm

Вчера, кстати, столкнулся с проблемой -- не работала мега с шилдом и хоть ты тресни. Убил целый час пока догадался в интернете поискать. Как оказалось, у меня шилд довольно старый и он в принципе с мегой не дружит. В общем имейте в виду, что старые шилды при подключении к Меге требуют "доработки напильником". А лучше сразу смотреть, что б шилд был совместимым.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Пт апр 05, 2013 10:02 am

да... просто похоже у шилда ножки подключены 10-13 к SPI ,но по идее они не должны подключены,тоже не мог понять,почему не работает шилд,подключенный к этим ножкам к самодельной плате..
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Пт апр 05, 2013 6:30 pm

Я всё о своих тараканах (не получается отправить GET на сервер через ethernet шилд на скетче от sochkasov.

Уже перерыл всё что можно
подозреваю что трабла вот тут

Код: Выделить всё

void loop() {
  char buff[64];
  int len = 64;
  [b]webserver.processConnection(buff, &len);[/b] 
process incoming connections one at a time forever 
обработки входящих соединений на один раз навсегда
Webserver подключен и ждет команду.

Мне нужно отключить его послать свою информацию и снова включить в режим ожидания команды
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение jonyzs » Пн апр 22, 2013 3:39 pm

Сегодня пришла мега и cubieboard,подскажите скетч для меги2560 который будет?
Stanislav
Сообщения: 22
Зарегистрирован: Пн апр 08, 2013 3:54 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stanislav » Вс апр 28, 2013 10:10 pm

Ребят, нужна помощь!
MajorDoMo у меня работает в связке с Arduino Mega и W5100. Используются 3 релейных модуля. 2 модуля по 1-му реле и один 8-ми релейный (кстати, в нем китайцы перевернули все с ног на голову. т.е. чтобы включить реле, надо отправить отрицательный сигнал на ногу управления, а не положительный, как на других... поэтому в скетче 2 реле работают при условии true, а остальные 8 при условии false.
Моя проблема заключается в том, что плата периодически зависает. раз в 2-3 дня. при этом MajorDoMo вылетает с ошибкой и не работает пока не нажмешь "Закрыть программу" и не нажмешь Reset на ардуино.
"Голова кругом" уже, не могу найти в чем ошибка. Далее выкладываю код. Может кто подскажет в чем может быть проблема? Да и другим, я думаю, будет полезен "почти" стабильно работающий код для управления 10-ю реле и отправкой температуры, влажности на сервер MajorDoMo.

Код: Выделить всё


#include <SPI.h>
#include <Ethernet.h>
#include <Wstring.h>
#include <LiquidCrystal.h>
#include <SD.h>
#include <DHT.h>
#include <TimerOne.h>
#include <MemoryFree.h>



byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
IPAddress ip(192,168,1, 177);
IPAddress rserver(192,168,1,2);
byte gateway[] = { 192, 168, 1, 1 };//gateway         
byte subnet[] = { 255, 255, 255, 0 }; //subnet
EthernetServer server(80);//server port
LiquidCrystal lcd(25, 26, 27, 28, 29, 30);
EthernetClient rclient;

File configFile;

///////////////////////////////////////////////////////////////////////////////



#define DHTPIN 2

#define DHTTYPE DHT11

#define SWITCH_TO_W5100 digitalWrite(4,HIGH); digitalWrite(10,LOW)
#define SWITCH_TO_SD digitalWrite(10,HIGH); digitalWrite(4,LOW)
#define ALL_OFF digitalWrite(10,HIGH); digitalWrite(4,HIGH)

DHT dht(DHTPIN, DHTTYPE);



String readString = String(30); //string for fetching data from address
boolean RELON1 = false; //REL status flag
boolean RELON2 = false;
boolean RELON3 = false; 
boolean RELON4 = false;

boolean RELON5 = false;
boolean RELON6 = false;
boolean RELON7 = false;
boolean RELON8 = false;
boolean RELON9 = false;
boolean RELON10 = false;

boolean MajorDoMo = false;
int relPin1 = 5;
int relPin2 = 6;
int relPin3 = 7;
int relPin4 = 8;

int relPin5 = 9;
int relPin6 = 23;
int relPin7 = 11;
int relPin8 = 12;
int relPin9 = 24;
int relPin10 = 22;

int buzzPin = 3;

int rfBut1 = 34;
int rfBut2 = 33;
int rfBut3 = 32;
int rfBut4 = 31;

int Temp = 0;
int Hum = 0;

int sensorPin = 0;
int tempc = 0;

long previousMillis = 0;
long previousMillis2 = 0;
long previousMillis3 = 0;
long interval = 30000;
long interval2 = 2000;

byte relStateChanged = 0;
byte buttonIndex = 0;

char Str12[]="init fail!";
char Str13[]="con-d";
char Str14[]="con-n fail";
char Str15[]="err config.txt";
char Str16[]="sw done";





//ЗВУК ВКЛЮЧЕНИЯ
void turnOn(){
    tone(buzzPin,800, 60);
    delay(60);
    tone(buzzPin,1000,60);
    delay(60);
    tone(buzzPin,1200,60);
    delay(60);
    tone(buzzPin,1500,60);
    delay(60);
    tone(buzzPin,1800,60); }

//ЗВУК ВЫКЛЮЧЕНИЯ
void turnOff(){
    tone(buzzPin,1800, 60);
    delay(60);
    tone(buzzPin,1500,60);
    delay(60);
    tone(buzzPin,1200,60);
    delay(60);
    tone(buzzPin,1000,60);
    delay(60);
    tone(buzzPin,800,60);  }  

//Процедура опроса датчика DHT11
void tempHum()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
  Temp=t;
  Hum=h;
}


////////////////////////////////////////////////////////////Timer
//Обработка событий нажатия кнопок на радио пульте
void Timer1_action(){
  unsigned long currentMillis2=millis();
  if (currentMillis2 - previousMillis2 > interval2) {
 previousMillis2 = currentMillis2;
 

     
 ///////////////////////////////////////////////
  if (digitalRead(rfBut1)&&relStateChanged==0) {
    Serial.println(freeMemory());
    //Serial.println("timer 1");
    relStateChanged = 1;
    buttonIndex=1;
    interval2=2000;
  
    if (RELON1==true) {
      RELON1=false;
      
  } else if (RELON1==false) {
    RELON1=true;

  }
}
/////////////////////////////////////////////
if (digitalRead(rfBut2)&&relStateChanged==0) {
 // Serial.println("timer 2");  
  relStateChanged = 1;
  buttonIndex=2;
    interval2=2000;
    if (RELON2==true) {
      RELON2=false;
      
  } else if (RELON2==false) {
    RELON2=true;
  }
}
/////////////////////////////////////////////
if (digitalRead(rfBut3)&&relStateChanged==0) {
  //Serial.println("timer 3");  
  relStateChanged = 1;
  buttonIndex=3;
    interval2=2000;
    if (RELON3==true) {
      RELON3=false;
      
  } else if (RELON3==false) {
    RELON3=true;
  }
}


//////////////////////////////////////////
if (digitalRead(rfBut4)&&relStateChanged==0) {
 // Serial.println("timer 4");  
  relStateChanged = 1;
  buttonIndex=4;
    interval2=2000;
    if (RELON4==true) {
      RELON4=false;
      
  } else if (RELON4==false) {
    RELON4=true;
  }
}

//////////////////////////////////////////



}


  }





//////////////////////////////////////////////////////////////setup



void setup()
{
  SWITCH_TO_W5100;
  Timer1.initialize(100000); 
  Timer1.attachInterrupt(Timer1_action);
dht.begin();

lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("ZGUVSBDRW K");
lcd.setCursor(0,1);
lcd.print("--------- -");
Serial.begin(9600);  
Ethernet.begin(mac, ip, gateway, subnet);
//Set pin  to output

pinMode(relPin1,OUTPUT);
pinMode(relPin2,OUTPUT);
pinMode(relPin3,OUTPUT);
pinMode(relPin4,OUTPUT);

pinMode(relPin5,OUTPUT);
pinMode(relPin6,OUTPUT);
pinMode(relPin7,OUTPUT);
pinMode(relPin8,OUTPUT);
pinMode(relPin9,OUTPUT);
pinMode(relPin10,OUTPUT);

pinMode(rfBut1,INPUT);
pinMode(rfBut2,INPUT);
pinMode(rfBut3,INPUT);
pinMode(rfBut4,INPUT);

Serial.print("Init sd...");
pinMode(53,OUTPUT);
SWITCH_TO_SD;


//Восстановление положения реле из файла на sd карте
if (!SD.begin(4)) {
    Serial.println("init fail!state logging off!");}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  Serial.println("File opened");

  configFile.seek(0);
  if (configFile.read()==49) {
    RELON1=true;
    digitalWrite(relPin1, LOW);
    lcd.setCursor(0,1);
    lcd.print("+");
   // Serial.println("Pervii prochten");
    }
    else {
      RELON1=false;
    digitalWrite(relPin1, HIGH);
    lcd.setCursor(0,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(2);
  if (configFile.read()==49) {
    RELON2=true;
    digitalWrite(relPin2, HIGH);
    lcd.setCursor(1,1);
    lcd.print("+");
    // Serial.println("Vtoroi prochten");
    }
    else {
      RELON2=false;
    digitalWrite(relPin2, LOW);
    lcd.setCursor(1,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(4);
  if (configFile.read()==49) {
    RELON3=true;
    digitalWrite(relPin3, LOW);
    lcd.setCursor(2,1);
    lcd.print("+");
    }
    else {
      RELON3=false;
    digitalWrite(relPin3, HIGH);
    lcd.setCursor(2,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(6);
  if (configFile.read()==49) {
    RELON4=true;
    digitalWrite(relPin4, LOW);
    lcd.setCursor(3,1);
    lcd.print("+");
    }
    else {
      RELON4=false;
    digitalWrite(relPin4, HIGH);
    lcd.setCursor(3,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(8);
  if (configFile.read()==49) {
    RELON5=true;
    digitalWrite(relPin5, LOW);
    lcd.setCursor(4,1);
    lcd.print("+");
    }
    else {
      RELON5=false;
    digitalWrite(relPin5, HIGH);
    lcd.setCursor(4,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(10);
  if (configFile.read()==49) {
    RELON6=true;
    digitalWrite(relPin6, HIGH);
    lcd.setCursor(5,1);
    lcd.print("+");
    }
    else {
      RELON6=false;
    digitalWrite(relPin6, LOW);
    lcd.setCursor(5,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(12);
  if (configFile.read()==49) {
    RELON7=true;
    digitalWrite(relPin7, LOW);
    lcd.setCursor(6,1);
    lcd.print("+");
    }
    
    else {
      RELON7=false;
    digitalWrite(relPin7, HIGH);
    lcd.setCursor(6,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(14);
  if (configFile.read()==49) {
    RELON8=true;
    digitalWrite(relPin8, LOW);
    lcd.setCursor(7,1);
    lcd.print("+");
    }
    else {
      RELON8=false;
    digitalWrite(relPin8, HIGH);
    lcd.setCursor(7,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(16);
  if (configFile.read()==49) {
    RELON9=true;
    digitalWrite(relPin9, LOW);
    lcd.setCursor(8,1);
    lcd.print("+");
    }
    
    else {
      RELON9=false;
    digitalWrite(relPin9, HIGH);
    lcd.setCursor(8,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.seek(18);
  if (configFile.read()==49) {
    RELON10=true;
    digitalWrite(relPin10, LOW);
    lcd.setCursor(10,1);
    lcd.print("+");
    }
    
    else {
      RELON10=false;
    digitalWrite(relPin10, HIGH);
    lcd.setCursor(10,1);
    lcd.print("-");
   // Serial.println("Pervii usl 2");
    }
  
  configFile.close();
  


}
SWITCH_TO_W5100;

//звук завершения инициализации и перехода к циклу loop
    tone(buzzPin,800, 60);
    delay(60);
    tone(buzzPin,1000,60);
    delay(60);
    tone(buzzPin,1200,60);
    delay(60);
    tone(buzzPin,1500,60);
    delay(60);
    tone(buzzPin,1800,60);
    delay(150);
    tone(buzzPin,1800, 60);
    delay(60);
    tone(buzzPin,1500,60);
    delay(60);
    tone(buzzPin,1200,60);
    delay(60);
    tone(buzzPin,1000,60);
    delay(60);
    tone(buzzPin,800,60);
    delay(350);
    tone(buzzPin,1000,100);
    delay(150);
    tone(buzzPin,1000,100);
    delay(150);
    tone(buzzPin,1000,100);
    delay(150);
    tone(buzzPin,1000,100);
    delay(150);

}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void loop(){
  EthernetClient rclient=server.available();
unsigned long currentMillis=millis();
unsigned long currentMillis3=millis();
  if (currentMillis3 - previousMillis3 > interval2) {
    previousMillis3 = currentMillis3;
    interval2=50;
  }
  //Обработка событий нажатия радио кнопок
  if (relStateChanged==1) {

  
  if (RELON1==true&&buttonIndex==1) {
    
    relStateChanged=0;
  //led has to be turned ON
             digitalWrite(relPin1, LOW);
             lcd.setCursor(0,1);
             lcd.print("+");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetGostinaya&p=status&op=set&v=1"); //Отправка статуса на MajorDoMo
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetGostinaya&op=m&m=confirmation&");  
    rclient.println();
    rclient.stop();
  //Serial.println("Zapros otpravlen");
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(0);
  configFile.print("1"); // При включении реле прописываем "1" в файл конфигурации
  configFile.close();
   Serial.println("1 rec 1");


}
else
{
     Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn();

}
///////////////////////////////////////////////////////////////////////////////////////////////
    else if (RELON1==false&&buttonIndex==1) {
      buttonIndex=0;
    relStateChanged=0;  
    digitalWrite(relPin1, HIGH);    // set the REL OFF
             lcd.setCursor(0,1);
             lcd.print("-"); 
              if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetGostinaya&p=status&op=set&v=0");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetGostinaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  //Serial.println("Zapros otpravlen");
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(0);
  configFile.print("0");
  configFile.close();
  
   Serial.println("1 rec 0");


}
else
{
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff();
  }
  
if (RELON2==true&&buttonIndex==2) {
  buttonIndex=0;
    //REL has to be turned ON
    relStateChanged=0;
             digitalWrite(relPin2, HIGH);    // set the REL on
             lcd.setCursor(1,1);
             lcd.print("+");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaGaraj&p=status&op=set&v=1");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaGaraj&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(2);
  configFile.print("1");
  configFile.close();
  
   Serial.println("2 rec 1");


}
else
{
  Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn();
  }



///////////////////////////////////////////////////////////////////////////////////////////////

///////////Reley_2 Fonar Garaj
    else if (RELON2==false&&buttonIndex==2) {
      buttonIndex=0;
      relStateChanged=0;  
    digitalWrite(relPin2, LOW);    // set the REL OFF
             lcd.setCursor(1,1);
             lcd.print("-");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaGaraj&p=status&op=set&v=0");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaGaraj&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(2);
  configFile.print("0");
  configFile.close();
  
   Serial.println("2 rec 0");


}
else
{
     Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); 
  }
  
/////////////////////////rele 3 i 4////////////////////////////
if (RELON3==true&&buttonIndex==3) {
  buttonIndex=0;
    relStateChanged=0;
             digitalWrite(relPin3, LOW);    // set the REL on
             lcd.setCursor(2,1);
             lcd.print("+");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaUgol&p=status&op=set&v=1");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaUgol&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(4);
  configFile.print("1");
  configFile.close();
  
   Serial.println("3 rec 1");


}
else
{
   Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn();
  }
    else if (RELON3==false&&buttonIndex==3) {
      buttonIndex=0;
      relStateChanged=0;  
    digitalWrite(relPin3, HIGH);    // set the REL OFF
             lcd.setCursor(2,1);
             lcd.print("-");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaUgol&p=status&op=set&v=0");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaUgol&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
  
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(4);
  configFile.print("0");
  configFile.close();
  
   Serial.println("3 rec 0");


}
else
{
     Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); 
  }
  ///////////////////////////////////konec knopki 3/////////////////////////////////////
  
  if (RELON4==true&&buttonIndex==4) {
    buttonIndex=0;
    relStateChanged=0;
             digitalWrite(relPin4, LOW);    // set the REL on
             lcd.setCursor(3,1);
             lcd.print("+");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetVannaya&p=status&op=set&v=1");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetVannaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
  
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(6);
  configFile.print("1");
  configFile.close();
  
   Serial.println("4 rec 1");


}
else
{
     Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn();
  }
    else if (RELON4==false&&buttonIndex==4) {
      buttonIndex=0;
      relStateChanged=0;  
    digitalWrite(relPin4, HIGH);    // set the REL OFF
             lcd.setCursor(3,1);
             lcd.print("-");
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetVannaya&p=status&op=set&v=0");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetVannaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
  
  
  
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(6);
  configFile.print("0");
  configFile.close();
  
   Serial.println("4 rec 0");


}
else
{
     Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); 
  }
  ////////////Konec obrabotki timera///////////
  }

  
  
  
  
  
  
  

  if(currentMillis - previousMillis > interval) { 
    previousMillis = currentMillis;
    tempHum();
   
   

    
    lcd.setCursor(13,0);
    lcd.print("T");
    lcd.setCursor(13,1);
    lcd.print("H");
    lcd.setCursor(14,0);
    lcd.print(Temp);
   // Serial.println(Temp);
    // Serial.println(Hum);
    lcd.setCursor(14,1);
    lcd.print(Hum);
    
    
    if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    
    // Make a HTTP request:
   
    rclient.print("GET /objects/?object=ws&p=tempInside&op=set&v=");
    rclient.println(Temp);
    //rclient.println("");
    rclient.println();
    rclient.stop();
             }
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  } 
  
  
 
              if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    
    // Make a HTTP request:
   
    rclient.print("GET /objects/?object=ws&p=relHumInside&op=set&v=");
    rclient.println(Hum);
    //rclient.println("");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  } 
  
    

   
     // При повышении влажности в ванной комнате включаем вытяжку, при понижении - выключение вытяжки        


if (Hum>58 && RELON6==false) {digitalWrite(relPin6, HIGH);    // set the REL on
             lcd.setCursor(5,1);
             lcd.print("+");
             RELON6 = true;
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(10);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
//EthernetClient rclient=server.available();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=devVityajka&p=vityajka&op=set&v=1");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
      turnOn();     }  
  
  else if (Hum<50 && RELON6==true) {
    digitalWrite(relPin6, LOW);    // set the REL OFF
             lcd.setCursor(5,1);
             lcd.print("-");
             RELON6 = false;
            interval = 20000; 
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(10);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16); 
//EthernetClient rclient=server.available();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=devVityajka&p=vityajka&op=set&v=0");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
      turnOff();    
}
  }

// Create a client connection
  if (rclient) {
    while (rclient.connected()) {
   if (rclient.available()) {
    char c = rclient.read();
     //read char by char HTTP request
    if (readString.length() < 100) 
      {
        //store characters to string 
        readString += c; //replaces readString.append(c);
      }  
        //output chars to serial port
        Serial.print(c);
        //if HTTP request has ended
        if (c == '\n') {
          //dirty skip of "GET /favicon.ico HTTP/1.1"
          if (readString.indexOf("?") <0)
          {
            //skip everything
          }
          else {
          //lets check if REL should be lighted
        if(readString.indexOf("REL1=1") >0)//replaces if(readString.contains("L=1"))
           {
             MajorDoMo=true;
             //led has to be turned ON
             digitalWrite(relPin1, LOW);
             lcd.setCursor(0,1);
             lcd.print("+");
             RELON1 = true;
             //Serial.println("Uslovie 1 proideno");
             rclient.stop();
             //EthernetClient rclient=server.available();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetGostinaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  //Serial.println("Zapros otpravlen");
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(0);
  configFile.print("1");
  configFile.close();
//Serial.println("Zapis na kartu pro6la uspe6no");

}
else
{
Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL1=0") >0){
             //Serial.println("Uslovie 2 rabotaet");
             MajorDoMo=true;
             
             //led has to be turned OFF
             digitalWrite(relPin1, HIGH);    // set the REL OFF
             lcd.setCursor(0,1);
             lcd.print("-");
             RELON1 = false; 
             //Serial.println("Zapros 2 osu6estvlen");
             rclient.stop();
             //EthernetClient rclient=server.available();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetGostinaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(0);
  configFile.print("0");
  configFile.close();


}
else
{
   Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); }
           
            if(readString.indexOf("REL2=1") >0)//replaces if(readString.contains("L=1"))
           {
             //REL has to be turned ON
             digitalWrite(relPin2, HIGH);    // set the REL on
             lcd.setCursor(1,1);
             lcd.print("+");
             RELON2 = true;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaGaraj&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(2);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
          
           if(readString.indexOf("REL2=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin2, LOW);    // set the REL OFF
             lcd.setCursor(1,1);
             lcd.print("-");
             RELON2 = false;  
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaGaraj&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
  SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(2);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);           
          turnOff(); }
          
          
            if(readString.indexOf("REL3=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin3, LOW);    // set the REL on
             lcd.setCursor(2,1);
             lcd.print("+");
             RELON3 = true;
             rclient.stop();
              if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaUgol&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(4);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
         turnOn();  }
           
           if(readString.indexOf("REL3=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin3, HIGH);    // set the REL OFF
             lcd.setCursor(2,1);
             lcd.print("-");
             RELON3 = false;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetUlicaUgol&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(4);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);             
           turnOff();  }
           
           
            if(readString.indexOf("REL4=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin4, LOW);    // set the REL on
             lcd.setCursor(3,1);
             lcd.print("+");
             RELON4 = true;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetVannaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(6);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL4=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin4, HIGH);    // set the REL OFF
             lcd.setCursor(3,1);
             lcd.print("-");
             RELON4 = false;
            rclient.stop(); 
            if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetVannaya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(6);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
           turnOff();}
           
           
           //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
           
           if(readString.indexOf("REL5=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin5, LOW);    // set the REL on
             lcd.setCursor(4,1);
             lcd.print("+");
             RELON5 = true;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetSpalnya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(8);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL5=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin5, HIGH);    // set the REL OFF
             lcd.setCursor(4,1);
             lcd.print("-");
             RELON5 = false; 
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetSpalnya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(8);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); }
           
           
           if(readString.indexOf("REL6=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin6, HIGH);    // set the REL on
             lcd.setCursor(5,1);
             lcd.print("+");
             RELON6 = true;
             interval = 600000;
             rclient.stop();
             
//            if (rclient.connect(rserver, 80)) {
  //  Serial.println(Str13);
    // Make a HTTP request:
 //   rclient.println("GET /objects/?object=devVityajka&p=status&op=set&v=1");
 //   rclient.stop();
 // } 
 // else {
    // kf you didn't get a connection to the server:
 //   Serial.println(Str14);
 // }
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=devVityajka&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             
         
             
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(10);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
         
         
       //EthernetClient rclient=server.available();
  //           if (rclient.connect(rserver, 80)) {
   // Serial.println(Str13);
    // Make a HTTP request:
   // rclient.println("GET /objects/?object=devVityajka&p=vityajka&op=set&v=1");
   // rclient.stop();
  //} 
  //else {
    // kf you didn't get a connection to the server:
   // Serial.println(Str14);
 // }
  turnOn(); 
  }
           
           if(readString.indexOf("REL6=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin6, LOW);    // set the REL OFF
             lcd.setCursor(5,1);
             lcd.print("-");
             RELON6 = false;
             interval = 20000;
             rclient.stop();


//           if (rclient.connect(rserver, 80)) {
  //  Serial.println(Str13);
    // Make a HTTP request:
 //   rclient.println("GET /objects/?object=devVityajka&p=status&op=set&v=0");
//    rclient.stop();
//  } 
//  else {
    // kf you didn't get a connection to the server:
  //  Serial.println(Str14);
 // }
  if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=devVityajka&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             
             
  
  
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(10);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);  
 turnOff(); }
           
           if(readString.indexOf("REL7=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin7, LOW);    // set the REL on
             lcd.setCursor(6,1);
             lcd.print("+");
             RELON7 = true;
             rclient.stop();
             
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=rozetkiDino&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             
             
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(12);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL7=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin7, HIGH);    // set the REL OFF
             lcd.setCursor(6,1);
             lcd.print("-");
             RELON7 = false;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=rozetkiDino&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(12);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);             
          turnOff(); }
           
           if(readString.indexOf("REL8=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin8, LOW);    // set the REL on
             lcd.setCursor(7,1);
             lcd.print("+");
             RELON8 = true;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=rozetkiSpalnya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(14);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL8=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin8, HIGH);    // set the REL OFF
             lcd.setCursor(7,1);
             lcd.print("-");
             RELON8 = false; 
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=rozetkiSpalnya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(14);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); }
           
           if(readString.indexOf("REL9=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin9, LOW);    // set the REL on
             lcd.setCursor(8,1);
             lcd.print("+");
             RELON9 = true;
             rclient.stop();
             
            
             //EthernetClient rclient=server.available();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=klapanUlica&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(16);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL9=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin9, HIGH);    // set the REL OFF
             lcd.setCursor(8,1);
             lcd.print("-");
             RELON9 = false;
             rclient.stop();
            
             //EthernetClient rclient=server.available();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=klapanUlica&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(16);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);             
         turnOff();  }
           
           if(readString.indexOf("REL10=1") >0)//replaces if(readString.contains("L=1"))
           {
             //led has to be turned ON
             digitalWrite(relPin10, LOW);    // set the REL on
             lcd.setCursor(10,1);
             lcd.print("+");
             RELON10 = true;
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetKuhnya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
             SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(18);
  configFile.print("1");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);
          turnOn(); }
           
           if(readString.indexOf("REL10=0") >0){
             //led has to be turned OFF
             digitalWrite(relPin10, HIGH);    // set the REL OFF
             lcd.setCursor(10,1);
             lcd.print("-");
             RELON10 = false; 
             rclient.stop();
             if (rclient.connect(rserver, 80)) {
    Serial.println(Str13);
    // Make a HTTP request:
    rclient.println("GET /objects/?object=svetKuhnya&op=m&m=confirmation&");
    rclient.println();
    rclient.stop();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println(Str14);
  }
 SWITCH_TO_SD;
if (!SD.begin(4)) {
    Serial.println(Str12);}
configFile = SD.open("config.txt", FILE_WRITE);
if (configFile)
{
  
  configFile.seek(18);
  configFile.print("0");
  configFile.close();


}
else
{
    // Выводим сооб щение о том, что открыть файл не удалось
    Serial.println(Str15);
  }
SWITCH_TO_W5100;
Serial.println(Str16);            
          turnOff(); }
          
            readString="";
            //останавливаем web-client
            rclient.stop();
        }
          }
        }
      }
    }
  }
       
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение jonyzs » Пт май 03, 2013 8:35 pm

Виложите уж пожалуйста свои версии бибпиотек и какую версию иде исползовали,вчера перепробовал все варианты и не пример с гитхуба ни этот в последнем посте без ошибок не компилитсья,следовательно даже попробовать неполучилось.
Пробовал с иде 1.0.1 и 1.0.4 мега2560
Stanislav
Сообщения: 22
Зарегистрирован: Пн апр 08, 2013 3:54 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stanislav » Пт май 03, 2013 8:59 pm

Библиотеки ~700 кб:
https://www.dropbox.com/s/d6s5o2g2qvpdpxa/libr.rar
А иде я использовал arduino-1.5.1r2 с оф. сайта. но на 1.0.4 скетч тоже запускался. Просто у меня были проблемы с запуском этой версии, поэтому пришлось поставить самую последнюю.
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение jonyzs » Пт май 03, 2013 9:23 pm

спасибо,щас скомпилил,что-то работает,если захожу 192,168,1,177 ничего непоказивает,в сериал мониторе вижу лог что конект с chrome питается сохранить,так должно быть?
Stanislav
Сообщения: 22
Зарегистрирован: Пн апр 08, 2013 3:54 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stanislav » Пт май 03, 2013 9:30 pm

я не стал прописывать ответ от ардуино. Она работает в связке с MajorDoMo. Получает команды сервера, обрабатывает и отправляет подтверждение. Поэтому пытается сохранить коннект с chrome. "Веб морда" от самой ардуины мне не нужна, т.к. для этого есть majorDoMo.
Ответить