Данные с ардуино по запросу на WEB server

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Добрый день.
Есть модуль Ethernet W5100, он подключен к Uno rev. 3.0.
Имеется опыт создания веб странички при помощи самого ардуино, а так же передача данных в Processing.
Сейчас появилась необходимость держать сервер (сайт) на отдельном ПК. В html полный чайник (хорошо что не ноль).
Вопрос в следующем: как организовать запрос, на ардуино с html странички, а затем получив ответ от микроконтроллера вывести его на эту самую страничку в заданном месте?
Надеюсь на вашу консультацию, а так же конкретные примеры с пояснениями. Спасибо.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

ingener.solovyev пишет:
Добрый день. Есть модуль Ethernet W5100, он подключен к Uno rev. 3.0. Имеется опыт создания веб странички при помощи самого ардуино, а так же передача данных в Processing. Сейчас появилась необходимость держать сервер (сайт) на отдельном ПК. В html полный чайник (хорошо что не ноль). Вопрос в следующем: как организовать запрос, на ардуино с html странички, а затем получив ответ от микроконтроллера вывести его на эту самую страничку в заданном месте? Надеюсь на вашу консультацию, а так же конкретные примеры с пояснениями. Спасибо.

На сервере должны поддерживаться какие либо скрипты (например пхп).

Веб-страница сохраняет настройки, сделанные с ее помощью, в файл. Этот файл читает Ардуино.

Ардуино передает данные через ГЕТ-запрос скрипту, который сохраняет эти данные в файл. Этот файл читает веб-страница.

Формат запроса может быть произвольным. Мне нравится JSON.

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Т.е. без изучения php ни как...?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

ingener.solovyev пишет:
Т.е. без изучения php ни как...?

там один скрипт на несколько строчек.

<?php
//получить параметр q из адресной строки
$q=$_GET["q"];

$response=$q;
$file_name='config.dat';
$fp=fopen($file_name,"w");
fwrite($fp, $q);
fclose($fp);
echo $response;
  
?>

При обращении к этому скрипту, все что после "?" будет сохранено в файл "config.dat".

например, после запроса:

saveconfig.php?1234567890

в файле будет "1234567890"

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Может рекомендуете какой учебник или примеры работы пхп и ардуино?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Зачем вам примеры для ПХП и Ардуино?

Все что нужно от ПХП я вам дал. У меня два таких скрипта, один сохораняет в один файл, другой сохраняет в другой файл. Больше ничего не нужно.

Сервер должен быть или в локальной сети или со статическим IP

Запускаете Ардуино в режиме клиента (стандартный пример подойдет).

Веб страница любыми средствами загружает данные из файла (я использую яваскрипт). Для записи данных в файл я пользуюсь тем-же скриптом.

Чтобы все было кошерно - лучше пользоваться какой-либо структурой для передачи данных. Можно использовать XML. Мне нравится JSON - он поддерживается и Ардуино и яваскрипт (что очевидно).

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Хм. Могу набраться наглости и попросить вас сбросить пример кода ардуино для работы хотя бы светодиодом, страницу хтмл, скрипт на пхп. Чтобы сразу увидеть всю картину целиком?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

ingener.solovyev пишет:
Хм. Могу набраться наглости и попросить вас сбросить пример кода ардуино для работы хотя бы светодиодом, страницу хтмл, скрипт на пхп. Чтобы сразу увидеть всю картину целиком?

Наглейте сколько хотите :)

Но пхп-скрипт я вам дал. Написал, что для Ардуино подойдет скетч-пример из стандартной библиотеки, а хтмл страница - даже не знаю. Возьмите любой пример страницы с чекбоксом. По изменению чекбокса вызывайте скрипт с нулем или единицей после "?". А Ардуино пусть периодически читает файл и моргает светодиодом.

Таких простых готовых примеров у меня нету (зато должно быть навалом в сети), а мой готовый проект вас только запутает.