Создание 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. Да да да, можно написать целый велосипед, кучу строчек никому не нужного кода, обрабатывающих ваш новый стандарт передачи данных через знак $, но раз уж вы такой любитель садомазо и лишней работы, то хотя бы используйте знак ₽ - будьте патриотом!

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

Спасибо за замечание, я работал с GET-запросами, на них, если вы видели предыдущие выпуски, работает RFID-считыватель. НО, хвала моей памяти:) Из-за сразу двух факторов вышел такой казус: во первых, когда делал ролик, открыл давно написанный мною код, в котором был прописан этот проклятый $ и, во-вторых, моя память заменила знак & на $ и я принял все ранее написанные ошибочные комментарии к коду за верные.. В общем, извиняюсь за такую оплошность, в следующих видео буду внимательнее.

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

Ребят, почему пишут Enthernet а не Internet, да и читаю я его странно "Эндхернет"

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

Internet - всемирная система объединённых компьютерных сетей, построенная на базе протокола IP и маршрутизации IP-пакетов. Интернет образует глобальное информационное пространство, служит физической основой для Всемирной паутины (World Wide Web, WWW) и множества других систем (протоколов) передачи данных. Часто упоминается как Всемирная сеть и Глобальная сеть, а также просто Сеть.


Ethernet (читается как "Эзернет") — пакетная технология передачи данных преимущественно локальных компьютерных сетей.

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

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

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

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

Если честно, не слышал о нем раньше, обязательно изучу на досуге)

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

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

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

Уже не рассказывается, вырезал эту часть и оставлю ее непосредственно для вывода Arduino в интернет..

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

Изучать там ровно 5 минут :)  Либы есть подо все.. за полчаса настраивается и сервер и клиенты.. и со сматрфона можно управлять девайсами.  Он и был создан для IoT а

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

Спасибо за наводку) 

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

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

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

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
Да, только в локальных, про интернет в следующий раз
1
Автор поста оценил этот комментарий

Почему айпишник в скетче через запятые?

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

Потому что так устроена библиотека Ethernet, загляните в её функции