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

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

Модератор: immortal

jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

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

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

ясно,спасибо за пояснения.
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Ср май 15, 2013 5:51 pm

Может стоит в первом посте выложить используемые библиотеки и последнюю версию Скетча? ну и вести историю изменений, типа гитхаб получится небольшой )
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Пт май 17, 2013 12:27 am

веселые проблемы у меня нашлись...
апач не хочет принимать мои get запросы.
в логах сыпется ошибки 400 и 415
вот сам запрос:
GET /objects/?object=MegaD1&op=m&m=statusChanged&status=%i HTTP/1.0
Stanislav
Сообщения: 22
Зарегистрирован: Пн апр 08, 2013 3:54 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Stanislav » Пт май 17, 2013 10:53 pm

Покажите, пожалуйста код, который в ардуино создает запрос и отправляет на сервер
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Вс май 19, 2013 11:23 pm

Stanislav писал(а):Покажите, пожалуйста код, который в ардуино создает запрос и отправляет на сервер
вот:

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

void loop() {
  char buff[64];
  int len = 64;
  webserver.processConnection(buff, &len);  // process incoming connections one at a time forever

   EthernetClient client;

 for( int i = 0; i < MAX_PINS; i++) 
{ 
  int l_pin_state = analogRead(pin_array[i]); //
  if( l_pin_state != val_array[i] ) 
        { 
          Serial.print("Pin");
        Serial.print(pin_array[i]);
        Serial.print("=");
        Serial.println(l_pin_state);
        if (client.connect(rserver, 80)) {
        sprintf(buf, "GET /objects/?object=MegaD1&op=m&m=statusChanged&status=%i HTTP/1.1", (int)l_pin_state);
        client.println(buf);
        } else Serial.println("connection failed");
        client.stop();
        val_array[i] = l_pin_state;
        delay(20);
  }

}
}
а вот что в логах Apache access

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

192.168.10.120 - - [17/May/2013:01:59:01 +0600] "GET /objects/?object=MegaD1&op=m&m=statusChanged&status=1022 HTTP/1.0" 400 415 "-" "-"
и вот это в error

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

[Thu May 16 20:42:43 2013] [error] [client 192.168.10.120] request failed: error reading the headers  
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Пн май 20, 2013 12:36 pm

И кстати ни кто не использовал вот такой "девайс" http://devicter.ru/goods/Iteaduino-Iboard-pro?from=Nzk3
все уже распаяно на плате плюс питание можно через LAN подавать.
А то как то не очень получается если собирать из "кубиков" ардуино, сам контроллер + lan wiznet + хочется IO боард.
вот на IO board загвоздка т.к. его придется ставить между ардуино и лан... что мягко говоря не удобно для последующего подключения через IO плату :evil:
Toutlemond
Сообщения: 27
Зарегистрирован: Ср дек 05, 2012 10:58 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Toutlemond » Ср июн 19, 2013 1:16 pm

Привет всем!
Тут ковыряюсь немного, залил ArduinoControllerWebServer с гитхаба
Так вот при определении температуры вроде ошибка. Он у меня показывал только температуру на момент включения.
потому что строка

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

sensors.requestTemperatures();
была только в Войд.Сетап
добавил ее вот сюда

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

void get1wireDevices(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
  //TODO получить все устройства на шине и выдать на страницу
   int numberOfDevices = sensors.getDeviceCount();
   sensors.begin();
[b]sensors.requestTemperatures();[/b]
   for(int i=0;i<numberOfDevices; i++) {
      if(sensors.getAddress(Termometers, i))
      {
          server.print("T");
          server.print(i);
          server.print(":");
          for (uint8_t i = 0; i < 8; i++) {
            if (Termometers[i] < 16) server.print("0");
              server.print(Termometers[i], HEX);
          }
          float tempC = sensors.getTempC(Termometers);
          server.print(":");
          server.print(tempC);
          server.print(";");
      } else {
            // not found
            server.print("NOT FOUND");
      }
    }
}
Незнаю может где то уже это поправили а я просто прошляпил :D


Вот правда я что то пока не понимаю как ее выдирать оттуда? Обращаться на http://адресардуины/getdev а потом распарсивать при помощи PHP Уще в мажердоме?
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Чт июн 20, 2013 7:54 am

Да , тут изначально запрос температуры был только при запуске м/к , и необходимо добавлять строчку sensors.requestTemperatures();
Считываем данные через http://адресардуины/getdev и парсим - в php это просто .
Сам использую систему попроще и скетч делал под себя уже пару вариантов :
с расширением портов на 74HC595 - действующий вариант.
с расширением портов на MCP23017 - но не хватило ресурсов ОЗУ.Придет Atmega32 и попробую это же сделать на ней,там больше gpio и памяти 2 кб вместо 1 кб у ATMEGA328P.
Есть конечно Mega2560 ,но хочу вариант минимально дешевый в повторении.
по http://адресардуины/getdev у меня чтение вообще всех датчиков: dht 2 штуки,датчик освещенности и конечно же ds18b20.
Toutlemond
Сообщения: 27
Зарегистрирован: Ср дек 05, 2012 10:58 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Toutlemond » Чт июн 20, 2013 1:56 pm

MaksMS82 писал(а):Есть конечно Mega2560
А мне кажется что мегаД и есть самый дешевый в повторении.
Вот сейчас как раз занимаюсь тем что рисую разводку для мегаД подобного девайса чтоб максимально просто было и удобно для меня.
Ну и то что он модульный то же хорошо!

А сдвиговые регистры это конечно хорошо но не всегда нужно. На 1 комнату больше 7 выходов + 1 wire и не нужно.
Так что проще витуху до комнату дотянуть а там уже отдельный контроллер. и опять 7 входов выходов...
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Чт июн 20, 2013 2:21 pm

У меня не десяток комнат ,а всего одна - по этому все хочу сделать на одном м/к,хотя в будущем не знаю к чему это приведет..
Ответить