Страница 21 из 35

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

Добавлено: Пн апр 21, 2014 4:59 pm
Stunt
Сергей, спасибо за наводку!
Поменял LOW и HIGH местами вот в этом блоке:

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

**********************************************************************************************************************/
/* Обработчики команд */

void commandsOn(WebServer &server) {
  if (gParamValue>=startPin && gParamValue<=endPin) {
     digitalWrite(gParamValue,LOW);
  } else ErrorMessage(server);
}

void commandsOff(WebServer &server) {
  if (gParamValue>=startPin && gParamValue<=endPin) {
     digitalWrite(gParamValue,HIGH);
  } else ErrorMessage(server);
}

void commandsClick(WebServer &server) {
  if (gParamValue>=startPin && gParamValue<=endPin) {
     digitalWrite(gParamValue,LOW); 
     delay(delayClick);
     digitalWrite(gParamValue,HIGH);
  } else ErrorMessage(server);
}

void commandsLClick(WebServer &server) {
  if (gParamValue>=startPin && gParamValue<=endPin) {
     digitalWrite(gParamValue,LOW);     
     delay(delayLClick);
     digitalWrite(gParamValue,HIGH);
  } else ErrorMessage(server);
}
и все заработало как и хотелось! =)
Еще раз огромное спасибо за помощь.

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

Добавлено: Пт май 30, 2014 11:26 am
dragon rider
Подскажите никак не могу заставить работать веб сервер и PIR датчик на одной ардуине
Эксперементальным путем выяснил что если в setup сначала инициировать pir а потом веб сервер, то пир в первом loop сразу выдает сигнал движения и больше не реагирует,
если инициировать сначала веб а потом пир, то в loop на строчке webserver.processConnection(buff, &len) ардуина зависисает

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

Добавлено: Пт май 30, 2014 2:49 pm
dragon rider
И еще одна проблема пытаюсь передавать с ардуинки на сервер данные с dht11, все по иструкции создал.
Когда кидаю запросы с ардуинки на монитор порта запросы приходят нормально, но когда пытаюсь эти запросы отправлять на МД значения переменных не изменяются, если вызываю созданный запрос из браузера данные в МД обновляются :shock:
вот код ардуинки

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

sensor.update();

    switch (sensor.getLastError())
    {
      case DHT_ERROR_OK:
        char msg[128];
        // Если ошибок нет, то собираем данные
        EthernetClient client;
        if (client.connect(rserver, 80)) {
          Serial.println("12");
          sprintf(buf, "GET /objects/?object=TempServer&op=m&m=tempChanged&hum=%i&temp=%i HTTP/1.1", sensor.getHumidityInt(), sensor.getTemperatureInt());
          client.println(buf);
         // Serial.println("13");
        }  else Serial.println("conn 2 failed");
          client.stop();
        break;
    } 
Вот созданный класс
Изображение
код метода tempChanged

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

//$params['t']
 $this->setProperty("updated",time());
 $this->setProperty("updatedTime",date("H:i",time()));
 $this->setProperty("alive",1); 
 
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
 $alive_timeout=30*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); 

if (!isset($params['temp'])) {
 return;
}

//температура
$old_temp=$this->getProperty('temp');
$t=round($params['temp'],1);

if ($t>110) return;

$this->setProperty('temp',$t);
if ($params['uptime']) {
 $this->setProperty('uptime',$params['uptime']);
}

if ($t>$old_temp) {
 $d=1;
} elseif ($t<$old_temp) {
 $d=-1;
} else {
 $d=0;
}
$this->setProperty('direction',$d);
$linked_room=$this->getProperty("LinkedRoom");
if ($linked_room) {
 setGlobal($linked_room.'.Temperature',$t);
}
//влажность
$t=round($params['hum'],1);
if ($t>110) return;
$this->setProperty('hum',$t);
 

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

Добавлено: Пн июн 02, 2014 3:35 pm
MaksMS82
dragon rider писал(а):Подскажите никак не могу заставить работать веб сервер и PIR датчик на одной ардуине
Эксперементальным путем выяснил что если в setup сначала инициировать pir а потом веб сервер, то пир в первом loop сразу выдает сигнал движения и больше не реагирует,
если инициировать сначала веб а потом пир, то в loop на строчке webserver.processConnection(buff, &len) ардуина зависисает
int pirPin = 10; :shock: этот порт занят езернетом (вывод SS)- логично что не будет работать нормально

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

Добавлено: Вт июн 03, 2014 11:35 am
dragon rider
хмм а какие еще порты могут быть заняты эзернетом?

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

Добавлено: Вт июн 03, 2014 12:31 pm
electric
dragon rider писал(а):хмм а какие еще порты могут быть заняты эзернетом?
Смотря какой шилд. Если самый популярный на чипе W5100, то можно посмотреть на странице документации.
Там написано:
Arduino communicates with both the W5100 and SD card using the SPI bus (through the ICSP header). This is on digital pins 10, 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the W5100 and pin 4 for the SD card.

Соответственно Ethernet shield на чипе W5100 (в случае Arduino UNO) занимает порты 10, 11, 12, и 13. Если надо работать с SD-карточкой на этом шилде, то надо освободить еще 4-ый пин...
З.Ы. Поисковики рулят...

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

Добавлено: Вт июн 03, 2014 12:40 pm
MaksMS82
Да все шилды использующие SPI занимают шину SPI (13,12,11) плюс вывод CS(SS) -chip select . Но есть оговорочка: другие устройства SPI (например nRF24L01) могут подключатся параллельно,но используя отдельный вывод CS.

Cистема Умного Дома

Добавлено: Ср июн 04, 2014 1:09 pm
pirantel
Здравствуйте, уважаемые пользователи данного форума.
Прочитал по большей части весь форум, больше затронула именно эта тема.
Имею на руках платку Arduino Ethernet с PoE, на Wiznet-e которая, и к ней кучу датчиков - (а именно: пир-сенсор(цифровой), Dht11, датчик освещенности, датчик MQ2(газа))
Так же сверху подключил relay shield http://www.seeedstudio.com/wiki/Relay_Shield_V2.0 (seeedstudio) - 4 релешки у нее.
Вопрос состоит в следующем. У меня поднят уже на ней веб-сервер, выводит данные при помощи технологии Ajax,т.е в реальном времени показания выводит на веб-страничку. Заинтересовала очень система MajorDoMo - но не умею с ней пока пользоваться, можно ли сделать так, чтобы эта страничка выводилась именно в этой системе, сразу после входа в систему? Просто с php мало знаком, как создать такой скрипт, чтобы он моя страничку выводил в cистеме MDM?
Простите за нубский вопрос :(

З.Ы Если кого не затруднит ответить на еще один такой вопрос, создал некий хост на сервисе no-ip, хочу теперь чтобы система MDM могла определять с какого устройства я захожу и выдать мне страницу ( если с компа то - index.php , если с телефона - то menu.html). Как это осуществить?

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

Добавлено: Вт авг 05, 2014 12:28 am
Grizzluka
прошивка для ардуино уно 3 с шилдом 5100 установил ip ардуино 192.168.1.120, ip сервера 192.168.1.130 добавил строчку для опроса дачиков далас пины для управления c 4-9. для андройда маленькая прога для управления ардуиной помимо МД

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

Добавлено: Вт авг 05, 2014 6:22 pm
Grizzluka
https://yadi.sk/d/AaumLBIJZ8DAq
сам файлик прошивки