Скетч Arduino + W5100 обсуждаем, пишем, тестируем
Модератор: immortal
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
Может стоит в первом посте выложить используемые библиотеки и последнюю версию Скетча? ну и вести историю изменений, типа гитхаб получится небольшой )
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
веселые проблемы у меня нашлись...
апач не хочет принимать мои get запросы.
в логах сыпется ошибки 400 и 415
вот сам запрос:
GET /objects/?object=MegaD1&op=m&m=statusChanged&status=%i HTTP/1.0
апач не хочет принимать мои get запросы.
в логах сыпется ошибки 400 и 415
вот сам запрос:
GET /objects/?object=MegaD1&op=m&m=statusChanged&status=%i HTTP/1.0
-
- Сообщения: 22
- Зарегистрирован: Пн апр 08, 2013 3:54 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
Покажите, пожалуйста код, который в ардуино создает запрос и отправляет на сервер
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
вот: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);
}
}
}
Код: Выделить всё
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 "-" "-"
Код: Выделить всё
[Thu May 16 20:42:43 2013] [error] [client 192.168.10.120] request failed: error reading the headers
-
- Сообщения: 155
- Зарегистрирован: Сб июл 07, 2012 11:42 pm
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
И кстати ни кто не использовал вот такой "девайс" http://devicter.ru/goods/Iteaduino-Iboard-pro?from=Nzk3
все уже распаяно на плате плюс питание можно через LAN подавать.
А то как то не очень получается если собирать из "кубиков" ардуино, сам контроллер + lan wiznet + хочется IO боард.
вот на IO board загвоздка т.к. его придется ставить между ардуино и лан... что мягко говоря не удобно для последующего подключения через IO плату
все уже распаяно на плате плюс питание можно через LAN подавать.
А то как то не очень получается если собирать из "кубиков" ардуино, сам контроллер + lan wiznet + хочется IO боард.
вот на IO board загвоздка т.к. его придется ставить между ардуино и лан... что мягко говоря не удобно для последующего подключения через IO плату

-
- Сообщения: 27
- Зарегистрирован: Ср дек 05, 2012 10:58 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
Привет всем!
Тут ковыряюсь немного, залил ArduinoControllerWebServer с гитхаба
Так вот при определении температуры вроде ошибка. Он у меня показывал только температуру на момент включения.
потому что строка
была только в Войд.Сетап
добавил ее вот сюда
Незнаю может где то уже это поправили а я просто прошляпил
Вот правда я что то пока не понимаю как ее выдирать оттуда? Обращаться на http://адресардуины/getdev а потом распарсивать при помощи PHP Уще в мажердоме?
Тут ковыряюсь немного, залил 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");
}
}
}

Вот правда я что то пока не понимаю как ее выдирать оттуда? Обращаться на http://адресардуины/getdev а потом распарсивать при помощи PHP Уще в мажердоме?
-
- Сообщения: 422
- Зарегистрирован: Ср сен 05, 2012 7:30 am
- Откуда: Киров
- Благодарил (а): 0
- Поблагодарили: 70 раз
- Контактная информация:
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
Да , тут изначально запрос температуры был только при запуске м/к , и необходимо добавлять строчку sensors.requestTemperatures();
Считываем данные через http://адресардуины/getdev и парсим - в php это просто .
Сам использую систему попроще и скетч делал под себя уже пару вариантов :
с расширением портов на 74HC595 - действующий вариант.
с расширением портов на MCP23017 - но не хватило ресурсов ОЗУ.Придет Atmega32 и попробую это же сделать на ней,там больше gpio и памяти 2 кб вместо 1 кб у ATMEGA328P.
Есть конечно Mega2560 ,но хочу вариант минимально дешевый в повторении.
по http://адресардуины/getdev у меня чтение вообще всех датчиков: dht 2 штуки,датчик освещенности и конечно же ds18b20.
Считываем данные через http://адресардуины/getdev и парсим - в php это просто .
Сам использую систему попроще и скетч делал под себя уже пару вариантов :
с расширением портов на 74HC595 - действующий вариант.
с расширением портов на MCP23017 - но не хватило ресурсов ОЗУ.Придет Atmega32 и попробую это же сделать на ней,там больше gpio и памяти 2 кб вместо 1 кб у ATMEGA328P.
Есть конечно Mega2560 ,но хочу вариант минимально дешевый в повторении.
по http://адресардуины/getdev у меня чтение вообще всех датчиков: dht 2 штуки,датчик освещенности и конечно же ds18b20.
-
- Сообщения: 27
- Зарегистрирован: Ср дек 05, 2012 10:58 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
А мне кажется что мегаД и есть самый дешевый в повторении.MaksMS82 писал(а):Есть конечно Mega2560
Вот сейчас как раз занимаюсь тем что рисую разводку для мегаД подобного девайса чтоб максимально просто было и удобно для меня.
Ну и то что он модульный то же хорошо!
А сдвиговые регистры это конечно хорошо но не всегда нужно. На 1 комнату больше 7 выходов + 1 wire и не нужно.
Так что проще витуху до комнату дотянуть а там уже отдельный контроллер. и опять 7 входов выходов...
-
- Сообщения: 422
- Зарегистрирован: Ср сен 05, 2012 7:30 am
- Откуда: Киров
- Благодарил (а): 0
- Поблагодарили: 70 раз
- Контактная информация:
Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем
У меня не десяток комнат ,а всего одна - по этому все хочу сделать на одном м/к,хотя в будущем не знаю к чему это приведет..