Создание web-сервера для Arduino на базе Ethernet shield W5100

Первое видео из серии роликов о работе с Ethernet шилдом и Arduino.


На первый раз создадим простенький web-сервер с двумя кнопками для включения и выключения светодиода на Arduino. Последуя этому примеру вы сможете сделать настоящую панель управления своими устройствами через локальную сеть. 

7
Автор поста оценил этот комментарий

по правилам html запросы через строку (в данном видео это $1 и $2) или по умному "метод передачи данных GET" пишутся так:


http://мой-сайт/страница?первый=1&второй=2&третий=3.... и т.д.

т.е. первым идет вопросительный знак ?, а дальше данные разделяются амперсандой & никаких там знаков доллара никогда не было и быть их там не должно. Конечно, вы вместо первого или последующих разделителей можете ставить любые символы, хоть ⟿, хоть ᴞ, да хоть козла на фоне пентаграммы, НО это тоже самое, что забивать микроскопом гвозди. Конечно гвозди вы забьете =) Но, это позор + лишняя работа по исправлению в будущем.


К примеру, мы хотим передать серверу сразу несколько команд. Передавать будем команда=значение. К примеру управление светом в первой комнате - свет=включен, яркость=100%


httр://192.168.1.9/?room=1&light=1&bright=100

наша люстра в зале включается мгновенно на полную мощность, затем нам надо плавно уменьшить свет, т.к. зае$$л он светить в глаза, как на допросе в КГБ:


httр://192.168.1.9/?room=1&light=1&bright=40&smooth=1

свет плавно уменьшился до 40%, самое то для интима!... уууффф... всё, пора спать:


httр://192.168.1.9/?room=1&light=0

такой подход правильный и как видно позволяет в будущем слегка дописывать скрипт для добавления функционала, а не переписывать всё из-за того, что мы не учли, а будут ли у нас в будущем передаваться и приниматься не 1 аргумент, а 2 или 150. Да да да, можно написать целый велосипед, кучу строчек никому не нужного кода, обрабатывающих ваш новый стандарт передачи данных через знак $, но раз уж вы такой любитель садомазо и лишней работы, то хотя бы используйте знак ₽ - будьте патриотом!

раскрыть ветку
3
Автор поста оценил этот комментарий

Зачем для управления делать веб сервер??? , проще уж какой нибудь mqtt протокол заюзать. 

Отдайте веб сервер веб страничкам :)

раскрыть ветку
1
Автор поста оценил этот комментарий

Можно же очень красивую панель управления написать на html+javascript, можно даже ajax заюзать попробовать. Прям как в крутых роутерах панельку замутить можно.

раскрыть ветку
1
Автор поста оценил этот комментарий

Прошу обратить внимание, что проброс 80 порта, о котором рассказывается в видео, нужен только для дальнейшего вывода Arduino в сеть интернет. Если вы планируете остановиться на локальном сервере, то эту часть можно пропустить (до 2:55)

раскрыть ветку
Автор поста оценил этот комментарий

Как раз выбрал себе диплом с ардуинкой и там нужен подобный модуль, так что большое спасибо за видео)