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

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

Модератор: immortal

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

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

Сообщение arturmon » Ср фев 13, 2013 9:17 pm

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

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

Сообщение MaksMS82 » Чт фев 14, 2013 6:40 am

arturmon писал(а):
MaksMS82 писал(а):из примеров попробовал отправку данных - работает,сейчас буду собирать все в одну кучу :)
Эээ из каких примеров? Из тех что ты давал ссылку? Так это на wiz 5100. А тут тема про енц.
из примеров библиотеки ethercard :

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

ether.browseUrl(PSTR("/test/"), "bar", website, my_result_cb);
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Чт фев 14, 2013 7:42 am

MaksMS82 писал(а):
arturmon писал(а):
MaksMS82 писал(а):из примеров попробовал отправку данных - работает,сейчас буду собирать все в одну кучу :)
Эээ из каких примеров? Из тех что ты давал ссылку? Так это на wiz 5100. А тут тема про енц.
из примеров библиотеки ethercard :

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

ether.browseUrl(PSTR("/test/"), "bar", website, my_result_cb);
Это то да работает :D но возникает куча других проблем, попробуй передать несколько значений перемынных ... тут вот и начинается много проблем.
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Чт фев 14, 2013 10:44 am

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

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

Сообщение arturmon » Чт фев 14, 2013 8:19 pm

MaksMS82 писал(а):вооще не понял как передать переменные в данном примере... этот ether.browseUrl криво как-то работает
:lol: вот по этому я и перешел на stash ссылки уже кидал, там все расписанно
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Чт фев 14, 2013 8:54 pm

да,я уже нашел пример https://github.com/jcw/ethercard/tree/m ... es/pachube ,надо будет под свою задачу переделать..
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Пт фев 15, 2013 8:39 am

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

	byte sd = stash.create();
	stash.println("test=34");
	stash.save();
	Stash::prepare(PSTR("GET /stat/update3 HTTP/1.1" "\r\n"
          						"Host: $F" "\r\n"
//          						"Authorization: Basic $F" "\r\n"
          						"User-Agent: Arduino EtherCard lib" "\r\n"                        
          						"Content-Length: $D" "\r\n"
          						"Content-Type: application/x-www-form-urlencoded" "\r\n"
          						"\r\n"
          						"$H"),
					        website,stash.size(), sd);
ether.tcpSend();
ставил ЭТО в setupе -очень тормозной вариант , через 20-30 секунд только после старта оно отправляло данные,возможно запрос днс идет очень долго..а без днс напрямую по ип тут ваще не понятно как работать
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Пт фев 15, 2013 3:34 pm

MaksMS82 писал(а):

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

	byte sd = stash.create();
	stash.println("test=34");
	stash.save();
	Stash::prepare(PSTR("GET /stat/update3 HTTP/1.1" "\r\n"
          						"Host: $F" "\r\n"
//          						"Authorization: Basic $F" "\r\n"
          						"User-Agent: Arduino EtherCard lib" "\r\n"                        
          						"Content-Length: $D" "\r\n"
          						"Content-Type: application/x-www-form-urlencoded" "\r\n"
          						"\r\n"
          						"$H"),
					        website,stash.size(), sd);
ether.tcpSend();
ставил ЭТО в setupе -очень тормозной вариант , через 20-30 секунд только после старта оно отправляло данные,возможно запрос днс идет очень долго..а без днс напрямую по ип тут ваще не понятно как работать
передает то быстро, но определение ип по имени действительно происходит оооочень долго, радует только одно что оно происходит только один раз при загрузке :D
про передачу тоже думаю что-то надо делать.... это похоже геморойно на енц, шарюсь пока по иностранным сайтам, все что пока смог нарыть так этот пример. Думаю надо в этом направлении копать

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

int myInt = 123; // or whatever
char myIntAsString[7]; // 7 bytes is enough to contain any int, including minus sign and terminating zero
itoa(myInt, myIntAsString, 10);
ether.browseUrl(PSTR("/script.php?value="), myIntAsString, website, my_callback); // you may need a cast here, if so, use next line instead of this one
// ether.browseUrl(PSTR("/script.php?value="), (const char *)myIntAsString, website, my_callback);
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Пт фев 15, 2013 5:04 pm

Не-не , через

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

ther.browseUrl(PSTR("/script.php?value="), (const char *)myIntAsString, website, my_callback);
один параметр и то криво..

Лучше типа так так:

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

Stash::prepare(PSTR("GET /server.php?mode=key&n=$D&s=$D&q=$D HTTP/1.1" "\r\n" "Host: $F" "\r\n" "\r\n") ,(int)a,(int)b,(int)c,website);
ether.tcpSend();
в начале скетча объявляем

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

Stash stash;
char website[] PROGMEM = "адрессайта";
а так сетевуха оочень тормознутая :( веб морда грузится долга и иногда по таймауту отпадывать может.Не понятно в чем дело,на W5100 все летает.
Кстати, на W5100 размер аналогичного скетча почти на 10 кб больше получается :shock:
и вправду,не работает на прямо обжатом шнурке на прямую к компу как оказалось,хотя сетевухи встроенные в компах обычно имеют автоопределение (может в компе,к которому подключал старенький чип сетевушки..)
arturmon
Сообщения: 155
Зарегистрирован: Сб июл 07, 2012 11:42 pm
Благодарил (а): 3 раза
Поблагодарили: 3 раза

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

Сообщение arturmon » Пт фев 15, 2013 7:38 pm

MaksMS82 писал(а):Не-не , через

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

ther.browseUrl(PSTR("/script.php?value="), (const char *)myIntAsString, website, my_callback);
один параметр и то криво..

Лучше типа так так:

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

Stash::prepare(PSTR("GET /server.php?mode=key&n=$D&s=$D&q=$D HTTP/1.1" "\r\n" "Host: $F" "\r\n" "\r\n") ,(int)a,(int)b,(int)c,website);
ether.tcpSend();
в начале скетча объявляем

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

Stash stash;
char website[] PROGMEM = "адрессайта";
а так сетевуха оочень тормознутая :( веб морда грузится долга и иногда по таймауту отпадывать может.Не понятно в чем дело,на W5100 все летает.
Кстати, на W5100 размер аналогичного скетча почти на 10 кб больше получается :shock:
и вправду,не работает на прямо обжатом шнурке на прямую к компу как оказалось,хотя сетевухи встроенные в компах обычно имеют автоопределение (может в компе,к которому подключал старенький чип сетевушки..)
Скет который я давал ссылку в этой теме у меня просто летает :D
а у тебя какой тормозит не понимаю? У меня немного по другому реализованно, но твой вариант компактней надо будет так же попробовать :ugeek:
Ответить