Web сервер на Ethernet shield W5100. Часть 2

Во второй части статьи разобрано создание Web сервера на Arduino UNO с платой Ethernet shield, который не только отображает состояние датчиков, но и позволяет управлять состоянием одного цифрового выхода…w52_2

В первой части был разобран пример, демонстрирующий только отображение состояния датчиков, а нам бы хотелось еще и управлять нагрузкой…
Нашел пример sketch для создания более серьезного Web-сервера. Тут несколько отображаемых страниц, отработка запроса из браузера. Правда в исходнике есть ошибки, исправленный sketch тут. Все работает, но быстро сообразить как переделать сие под мои нужды не смог (хотя этот вариант «дожать» можно).

На будущее: нашел ссылку с интересным описанием Web-сервера с множеством html страниц, хранящихся на SD карте. Как-нибудь, будет время и интерес, разберемся…

В итоге, под носом, нашел библиотеку WebDuino, где есть все что нам нужно. Скачиваем, устанавливаем, смотрим — наш пример Web_Demo. Заливаем — работает. Остается только убрать лишнее: опрос аналоговых линий, опрос и управление «лишними» цифровыми линиями; добавить процедуру и библиотеку работы с температурным датчиком и … получаем то что нам требовалось. Нагрузкой управляем с цифрового выхода установкой на нем логического нуля (выключено) или единицы (включено). К выходу можно подключить светодиод оптопары, а дальше… делай с сигналом что хочешь…
В качестве светодиода оптопары на фото к pin 9 платы Arduino подключен обычный белый светодиод с токоограничивающим резистором 200 Ом.
Состояние цифрового датчика (контактный датчик — замкнуто/разомкнуто) контролируем на pin 7 платы Arduino (на фото — свободный контакт). 

В sketch-е я не убирал «лишние» строки — они просто за комментированы. Комментариев по ходу текста много — понять смысл программы можно.

Немного про web-интерфейс получившейся странички (по сути — это перевод комментариев скетча). w52_1Если к web-серверу обращаться с словом form после IP-адреса (в примере: 10.0.5.11/form), то картинка будет такая, как показано выше.

Здесь можно управлять цифровыми линиями: выставить нужное состояние и нажать кнопку «Submit».
Если к web-серверу обращаться просто по IP адресу, картинка будет той же, но без кнопки «Submit» и флажков управления цифровыми входами — это обычный режим наблюдения:w52_s1
Есть третий режим обращения 10.0.5.11/json — в этом случае будет текстовая строка с отображением состояния:w52_s2

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".