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

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

Модератор: immortal

Stunt
Сообщения: 39
Зарегистрирован: Вс мар 16, 2014 8:17 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

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

Сообщение Stunt » Пн апр 21, 2014 4:59 pm

Сергей, спасибо за наводку!
Поменял 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);
}
и все заработало как и хотелось! =)
Еще раз огромное спасибо за помощь.
dragon rider
Сообщения: 39
Зарегистрирован: Чт мар 13, 2014 10:27 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение dragon rider » Пт май 30, 2014 11:26 am

Подскажите никак не могу заставить работать веб сервер и PIR датчик на одной ардуине
Эксперементальным путем выяснил что если в setup сначала инициировать pir а потом веб сервер, то пир в первом loop сразу выдает сигнал движения и больше не реагирует,
если инициировать сначала веб а потом пир, то в loop на строчке webserver.processConnection(buff, &len) ардуина зависисает
Вложения
Holl.rar
(15.57 КБ) 225 скачиваний
dragon rider
Сообщения: 39
Зарегистрирован: Чт мар 13, 2014 10:27 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение dragon rider » Пт май 30, 2014 2:49 pm

И еще одна проблема пытаюсь передавать с ардуинки на сервер данные с 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);
 
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Пн июн 02, 2014 3:35 pm

dragon rider писал(а):Подскажите никак не могу заставить работать веб сервер и PIR датчик на одной ардуине
Эксперементальным путем выяснил что если в setup сначала инициировать pir а потом веб сервер, то пир в первом loop сразу выдает сигнал движения и больше не реагирует,
если инициировать сначала веб а потом пир, то в loop на строчке webserver.processConnection(buff, &len) ардуина зависисает
int pirPin = 10; :shock: этот порт занят езернетом (вывод SS)- логично что не будет работать нормально
dragon rider
Сообщения: 39
Зарегистрирован: Чт мар 13, 2014 10:27 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение dragon rider » Вт июн 03, 2014 11:35 am

хмм а какие еще порты могут быть заняты эзернетом?
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm
Благодарил (а): 3 раза
Поблагодарили: 56 раз

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

Сообщение electric » Вт июн 03, 2014 12:31 pm

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-ый пин...
З.Ы. Поисковики рулят...
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Вт июн 03, 2014 12:40 pm

Да все шилды использующие SPI занимают шину SPI (13,12,11) плюс вывод CS(SS) -chip select . Но есть оговорочка: другие устройства SPI (например nRF24L01) могут подключатся параллельно,но используя отдельный вывод CS.
pirantel
Сообщения: 1
Зарегистрирован: Ср июн 04, 2014 12:14 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение pirantel » Ср июн 04, 2014 1:09 pm

Здравствуйте, уважаемые пользователи данного форума.
Прочитал по большей части весь форум, больше затронула именно эта тема.
Имею на руках платку 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). Как это осуществить?
Grizzluka
Сообщения: 20
Зарегистрирован: Ср ноя 28, 2012 6:44 pm
Благодарил (а): 4 раза
Поблагодарили: 0

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

Сообщение Grizzluka » Вт авг 05, 2014 12:28 am

прошивка для ардуино уно 3 с шилдом 5100 установил ip ардуино 192.168.1.120, ip сервера 192.168.1.130 добавил строчку для опроса дачиков далас пины для управления c 4-9. для андройда маленькая прога для управления ардуиной помимо МД
Grizzluka
Сообщения: 20
Зарегистрирован: Ср ноя 28, 2012 6:44 pm
Благодарил (а): 4 раза
Поблагодарили: 0

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

Сообщение Grizzluka » Вт авг 05, 2014 6:22 pm

https://yadi.sk/d/AaumLBIJZ8DAq
сам файлик прошивки
Вложения
Установлен.zip
(5.5 КБ) 259 скачиваний
Ответить