Добрый вечер Имеется ардуино мега, ethernet shield и например lcd дисплей Подключил ethernet shield, разобрал примеры с поднятием на нем сервера и запуска клиента, вроде всё получается. С подключением дисплеем проблем не возникло. Управлять лампочкой (вкл/выкл) через ethernet shield тоже научился. Теперь пусть еще веб-сервер на компьютере. На нем делаю форму для ввода текста и хочу его отправить через ethernet shield на дисплей, но не выходит... Подскажите как это сделать? Как считывать параметры приходящие на сервер ардуино? Фактически надо разобрать строчку с запросов. В случае если значения например только 0 или 1 - это сделать не сложно (на каждое значение своя обработка), а вот когда значение может быть любым... ЗЫ прошу прошения, если не понятно выражаюсь, но думаю суть всё же ясна. Буду благодарен за любой совет
То есть вы хотите, чтобы можно было на компе заполнить форму и чтобы её контент затем отобразился на LCD? В этом случае web-server'ом будет Arduino. На компе будет просто страничка с формой, у которой action указывает на Arduino. А ещё лучше, если и страничку с формой будет отдавать плата. Когда вы сабмитите форму, на сервер, то есть на Ethernet Shield в конечном итоге, уходит HTTP запрос с методом POST, где поля записываются в теле запроса строкой в форме www-form-urlencoded, т.е. в виде field1=value1&field2=value2 и т.п. Поняв как устроен HTTP запрос, вы сможете его разбирать и делать с ним что душе угодно. В конце концов это обычный текст.
Спасибо за разъяснение. Если я правильно понял, то сразу получить имя поля и значение не получится. Надо на ардуино делать обработку строки (field1=value1&field2=value2), т.е. искать разделитель переменных (&), искать имя и значение... Надеюсь этот метод не окажется очень затратным.
Да, нужно разбирать. Вам может сильно упростить жизнь функция strtok. Она есть в Arduino (то бишь в AVR GCC), хотя в его контексте и не документирована.