Arduino web server: Веб-сервер — ваша первая сетевая программа Arduino / Хабр

Содержание

Создайте проект веб-сервера Mini-Arduino с помощью Ethernet Shield

Некоторое время назад я показал вам, как настроить систему управления интернетом для вашего Arduino

— но он должен был оставаться подключенным к компьютеру через USB, чтобы поддерживать подключение к Интернету. Однако если у вас есть Ethernet-щит, в этом нет необходимости. Сегодня мы рассмотрим настройку Arduino в качестве основного веб-сервера, чтобы мы могли разместить собственный веб-сайт управления устройствами.

Тебе понадобится:

  • Arduino или Arduino клон, как описано здесь
  • Ethernet Shield (~ $ 35) — убедитесь, что вы получаете версию, соответствующую вашему Arduino, поскольку они не все совместимы
  • Запасной порт на маршрутизаторе или коммутаторе и кабель Ethernet
  • Пример WebServer, предоставленный в приложении Arduino

Настройка

Экран Ethernet использует контакты С 10 по 13 для управления сетевым подключением, поэтому не включайте их в свой проект; контакт 4 также используется для SD-карты, но мы не будем использовать его сегодня.

Перво-наперво — откройте файл->Примеры->Ethernet->Веб сервер это предусмотрено в Arduino IDE. Найдите строки, ссылающиеся на MAC и IP-адрес.

MAC адрес для меня был найден на коробке — ваш может быть на самом щите. Настройте первую строку значений — нужно оставить предыдущую 0x хоть немного. Технически говоря, это не имеет значения, что вы помещаете сюда, если у вас нет конфликтующих значений в вашей подсети — но даже в этом случае это был адрес, назначенный производителем, поэтому мы, вероятно, должны придерживаться этого. Просто знайте, что если вы ошибетесь, это все равно будет работать.

Далее идет IP-адрес. Нам нужен конкретный фиксированный адрес, чтобы мы могли правильно настроить переадресацию портов — щит способен получать адрес от DHCP, но это полезно только в том случае, если его просто используют в качестве клиента, а не сервера.

Введите IP-адрес, который не используется и запоминается в вашей локальной сети, IP-адрес вашего маршрутизатора и 255.255.255.0 (подсеть). Если ничего из этого не имеет для вас смысла, прочитайте наше бесплатное и подробное руководство по домашней сети.

,

Перенаправление порта

Изменить строку, которая говорит Сервер EthernetServer (номер), и измените номер на 8081. Это настроит наш сервер на прослушивание порта 8081 на случай, если ваш провайдер блокирует веб-трафик на традиционном порту 80.

Загрузите демо на этом этапе и протестируйте его с локальной машины. Вам, конечно, нужно будет также подключить кабель Ethernet. Не забывайте подключать USB, так как он нам нужен для питания — вы можете заменить его на источник питания 9 В позже, но мы все еще тестируем.

Нуб-совет: если вы получаете эту ошибку, это означает, что вы ошибочно поставили

капитал O вместо в области MAC-адреса. В шестнадцатеричных значениях нет O! Если вы действительно новичок, возможно, стоит ознакомиться с нашим руководством для начинающих Arduino!

Чтобы получить доступ к Arduino, введите адрес и номер порта прямо из браузера.

Вы должны увидеть что-то подобное — пока все хорошо. К сожалению, это доступно только на локальная сеть сейчас зайдите на страницу конфигурации порта вашего маршрутизатора, чтобы настроить перенаправление с порта 8081 на тот же порт на IP вашего Arduino (см .: Что такое переадресация портов?

)

Проверьте это с мобильного 3G интернет-устройства с отключенным Wi-Fi; не забудьте использовать свой общедоступный IP-адрес, не адрес вашей локальной сети. Ваш маршрутизатор должен иметь возможность сообщить вам об этом или просто спросить у Google «какой у меня ip».

Понимание вывода

Страница, обслуживаемая в демо-версии, считывает значения с аналоговых выводов, но поскольку там ничего не подключено, вы получите ерунду.

Попробуйте подключить датчик света (фоторезистор) к порту A0 а также +5v, с Резистор 10к также на A0 а также ЗЕМЛЯ (это делитель напряжения, так как аналоговые выводы могут считывать только напряжение, а не сопротивление) только для подтверждения того, что сервер действительно считывает значения. Обратите внимание, что при изменении интенсивности света значения на других выводах тоже меняются — это потому, что все они не связаны.

Получать Интерактивный

Чтение этих значений — это хорошо, но переход к управлению Arduino отсюда — довольно большой скачок, и сегодня он выходит за рамки этого урока. Вместо того, чтобы заново изобретать колесо, я укажу вам на пользователя форума Arduino Хари, который написал базовый API для взаимодействия с цифровыми выводами. Используя этот код (я изменил его для работы с новейшей библиотекой Ethernet), подключите длинный вывод светодиода (анод) к выводу 8, а короткий вывод — к выводу 7 (с подходящим резистором). Затем вы можете использовать URL-адреса в виде http: // ip: port / digitalWrite / 8/1, чтобы включить индикатор, и http: // ip: port / digitalWrite / 8/0, чтобы выключить его, и прочитать аналоговые значения. с аналогомЧитать / 0.

Этот пример от bildr также научит вас, как управлять последовательностью светодиодов, читая запрос GET.

Вы также можете воспользоваться этим примером, который выводит форму на странице для управления мигающим светодиодом RGB, хотя вы можете легко адаптировать ее для полосы RGB, такой как проект с динамическим окружающим освещением.

мы построили некоторое время назад.

Ну, мне было весело строить их, так что я надеюсь, что вы тоже. Если вы создали библиотеку, которая упрощает обслуживание страниц и элементов управления, свяжитесь с нами в комментариях.

Веб-сервер Ethernet на Arduino с динамическими данными



Я не очень разбираюсь в дизайне веб-страниц и написании сценариев java. Я использовал пример веб-сервера Ethernet для управления IOs с клиентского ПК, однако я хотел бы знать, можно ли автоматически обновлять значения данных на веб-странице, хранящейся на веб-сервере, без отправки запроса от клиента, например. чтобы отслеживать значения в webserver на Arduino непрерывно на клиенте PC без обновления веб-браузера или отправки запроса с помощью кнопки на веб-странице.

Спасибо.

javascript webserver ethernet arduino-uno texas-instruments
Поделиться Источник hs7624     10 марта 2016 в 08:28

2 ответа


  • Прямое соединение между ноутбуком и arduino через ethernet

    Я сделал проект с Arduino и ethernet-щитом. Arduino размещает веб-сайт, который я могу открыть через браузер на своем ноутбуке. Arduino подключается к маршрутизатору через ethernet. Все это прекрасно работает. Теперь я должен представить этот проект в школе. Чтобы избежать неприятных сюрпризов, я…

  • Arduino Ethernet чтение из файла PHP

    Я пишу простую программу Arduino Ethernet. Программа отправляет запрос HTTP GET на сервер, а затем сервер echos Hello World, и я должен быть в состоянии получить его через Arduino Ethernet и распечатать его на последовательном мониторе Arduino 1.0.4 IDE. Вот некоторые полезные сведения. Я…



0

Вам необходимо использовать Ajax для передачи значений данных между веб-сервером Arduino и клиентским браузером. Это происходит в фоновом режиме, поэтому вам не нужно вручную обновлять веб-страницу или нажимать кнопку для обновления данных. Запрос должен быть отправлен из клиента (веб-браузера) в Arduino, но невидим для пользователя.

Взгляните на этот учебник по веб-серверу: http://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/

И обратите внимание на разделы о Ajax, особенно используя Ajax с XML: http://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/SD-card-AJAX-XML-web-server/

Поделиться Embinf     17 марта 2016 в 22:04



0

Существует лучшее решение для обмена данными между Arduino и веб-браузером.

Вместо использования Ajax, вы можете использовать Websocket. С помощью Websocket сервер (Arduino) может отправлять данные в веб-браузер в любое время, не дожидаясь запроса от веб-браузера.

Для этого вам нужно использовать щит, называемый PHPoC Shield вместо Ethernet Shield. Вы можете обратиться к некоторым примерам здесь:

Поделиться Khanh Ho Sy     17 августа 2017 в 00:27


Похожие вопросы:


Arduino Ethernet не будет загружать программу с помощью Arduino IDE на Macbook Air

Я пытаюсь разработать для Arduino с помощью Macbook Air. Я купил Arduino Ethernet с модулем POE. Единственными входами являются RJ-45 и адаптер питания. Я использую адаптер Apple USB-Ethernet,…


Arduino экран Ethernet не подключается к WebServer

У меня есть проблема с тем, чтобы сделать мой экран Ethernet Arduino для связи с сервером, результат на последовательном мониторе всегда: мой код arduino-это #include <Ethernet.h> //library…


Как запросить веб-сайт с Arduino

Я создаю веб-сайт, и я хочу, чтобы мой Arduino Uno (который подключен USB к моей локальной машине) выполнялся каждый раз, когда на сайте появляется определенная страница. (Например, мигайте…


Прямое соединение между ноутбуком и arduino через ethernet

Я сделал проект с Arduino и ethernet-щитом. Arduino размещает веб-сайт, который я могу открыть через браузер на своем ноутбуке. Arduino подключается к маршрутизатору через ethernet. Все это…


Arduino Ethernet чтение из файла PHP

Я пишу простую программу Arduino Ethernet. Программа отправляет запрос HTTP GET на сервер, а затем сервер echos Hello World, и я должен быть в состоянии получить его через Arduino Ethernet и…


POST-запрос на веб-сервере с использованием Arduino Ethernet shield

Прежде всего, извините за мой плохой английский, я француз. OK, поэтому моя цель состоит в том, чтобы отправить на веб-сервер данные о температуре в обычное время. Я использую сервер LAMP на…


Управление Arduino Ethernet с помощью отдельной веб-страницы

У меня есть arduino uno и ethernet shield, и у меня есть код, написанный для доступа к нему по моей сети, и нажмите на ON или OFF, и он включит или выключит pin-код. Я хочу иметь возможность…


Arduino плата ethernet совместима с ЖК-дисплеем?

Я делаю небольшой проект с платой ethernet arduino. Я новичок в arduino и хотел бы знать, совместим ли следующий ЖК-дисплей с моим arduino или нет. Если он совместим, нужно ли мне больше…


ARDUINO вход на веб-сервер

Я создал веб — сайт, который будет размещен на веб-сервере Arduino. Он используется для преобразования речи в текст и отправки ее обратно на сервер Arduino. Полученная строка затем печатается на…


Arduino Ethernet-Сервер

У меня есть небольшая проблема с сервером ethernet. Я бы хотел, чтобы сервер Arduino прослушивал порт и ловил подключенные устройства, но проблема в том, что устройства ничего не отправляют первыми….

ESP8266. Часть 2. Arduino веб-сервер

ЧАСТЬ 2

ARDUINO ВЕБ-СЕРВЕР

В моей предыдущей инструкции ESP8266 Часть1 — Последовательный WIFI Модуль для Arduino, я попытался объяснить, что такое ESP8266, как устанавливать соединение, тестировать и конфигурировать ESP8266 (далее по тексту — ESP). В этой инструкции мы разберемся в том, как ESP может нам помочь взаимодействовать с Arduino GPIO (Интерфейс ввода/вывода общего назначения) удаленно через интернет. Когда вы включаете светодиод от сигнала, сгенерированного на одном из выходов Arduino, или считываете статус переключателя или сенсора, то фактически происходит взаимодействие «мира электроники» с «физическим миром»!  Возможность такого взаимодействия через интернет и есть смысл «Интернета вещей».

Первая конфигурация, которая будет тестироваться – это работа ESP8266 в качестве локального веб-сервера, соединенного с Arduino. Мы установим кнопки в два цифровых GPIO на плате Arduino (пины 8, 9), чтобы смоделировать состояние цифровых сенсоров и потенциометра в аналоговом порте А0, а также смоделировать данные, исходящие от аналогового сенсора, как, например, температура или влажность (см. “System Inputs» «системные входы» на диаграмме вверху). Arduino/ESP8266 будет считывать эти сигналы, генерируя простую HTMLстраницу и публикуя её в реальном времени в сети. Круто!!!!

ШАГ 1: СХЕМА

Обратите внимание, что схема цепи в основном такая же, как и в предыдущей статье, я только добавил две кнопки (обычно выключенные), соединенные с входами Arduino и с VCC (через резистор 10кОм, чтобы не вызвать короткое замыкание). Нажатием кнопки мы посылаем сигнал HIGH на цифровой вход Arduino. Потенциометр (тоже 10кОм) будет размещен между VCC (5В) и «землей» с центральным контактом, соединенным с аналоговым входом А0 на плате MEGA. Потенциометром мы будем регулировать напряжение на аналоговом входе А0, которое будет в диапазоне от 0 до 5 В. MEGA будет считывать напряжение на пине А0, преобразовывая его с помощью встроенного АЦП (Аналогово-цифровой преобразователь) в значение в диапазоне от 0 до 1023.

ШАГ 2: КОД

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

Во время установки соединения Serial monitor отображает информацию, как показано на рисунке. Очень важен второй IPадрес, который появляется на экране: 10.0.1.2 (у вас, конечно, будет другой IPадрес).

Разберем код подробно:

  • В главном цикле первое, на что нужно обратить внимание, это то, посылает ли ESP что-либо, и есть  ли строка «+IPD». Если все это есть, то страница идентифицирована (см. скриншот с Seria lmonitor ниже).
  • Нужно подождать 300 миллисекунд, чтобы убедиться, что в буфер попали все данные.
  • Т.к. функция read() возвращает ASCII, важно, чтобы при загрузке ID соединения значение «48» было вычтено из прочитанных данных. «48» — это ASC код первой цифры 0. Если, например, число 49 (ASCII код «1») получено путем вычитания 48, результатом будет цифра  («1»).
  • HTMLкод сформирован в Arduino Code и передан в браузер для создания и отображения страницы.
  •  ESP8266_WebServer_Final_MEGA.ino

Download

ШАГ 3: СТРАНИЦА

Введите IP адрес в браузере. После этого ESP создает HTMLстраницу, которая была подготовлена ранее, и начинает передачу информации, полученной с входов платы MEGA.

На снимке экрана Serial monitor (см. выше), вы можете видеть данные, которые постоянно обновляются в процессе выполнения программы.

ServDuino — Создайте свой собственный веб-сервер Arduino: 8 шагов

Как и во всем остальном в этом проекте, у вас есть выбор, что еще вы хотите добавить в свой ServDuino. У меня есть несколько советов и правил, которым вы должны следовать, чтобы сделать эту сборку успешной.

Сервопривод.
Сервопривод легко подсоединяется: красный провод подсоединяется к +5, черный — к земле, а желтый (или третий провод) — к выводу ШИМ. На основной плате контакты pwm включают 3,5,6,9,10,11. Контакты 10 и 11 НЕ МОГУТ использоваться, потому что они используются для связи SPI с экраном Ethernet и SD-картой. Я бы рекомендовал не использовать контакты 5 или 6, если вы используете задержку или millis (), потому что есть джиттер, который может раздражать, если ваш ServDuino находится рядом с компьютером!

ЖК-экран.
Символьный ЖК-экран можно подключить с помощью всего 6 выводов данных. Что хорошо, потому что осталось ровно 6 цифровых контактов. Теперь, прежде чем вы прокомментируете и скажете, что на самом деле есть 9 контактов, позвольте мне объяснить. Мы использовали контакты 13,12,11,10 и на выбор 9,6,5 или 3. Осталось 9 контактов.НО нам нужен контакт для связи SPI с SD-картой, это контакт 4. Затем мы должны помнить, что Arduino использует UART для загрузки своих эскизов, поэтому мы не хотим использовать контакты 0 или 1, просто в случае. Теперь, как нам подключить ЖК-экран с помощью всего 6 контактов, например:

Vss подключен к земле.
Vcc привязано к +5 вольт.
Vo можно привязать к земле, а можно прикрепить к нему потенциометр.
RS привязан к выводу данных. Вспомните, что такое булавка !!! Или еще лучше запишите это!
R / W привязан к земле.
E привязан к выводу данных. Запиши это!
DB0-DB3 не подключены.
DB4-DB7 привязаны к выводам данных. Запиши это!!
Выводы подсветки можно подключить к соответствующему источнику напряжения.

Аналоговые датчики:
Аналоговые датчики очень просты, но на новом экране Ethernet и, возможно, на более старых, есть резисторы 10 кОм, подключенные к + 5 В на аналоговых контактах 0 и 1. Осторожно !!

Xbee и последовательная связь:
Что ж, мне нечего предложить здесь, у меня нет Xbee… пока … но я хотел бы предложить несколько предложений. Каждый раз, когда вам нужно загрузить эскиз, вам нужно будет либо отключить перемычку xbee, либо отсоединить последовательные провода (если вы не используете беспроводную связь), поэтому вы можете попробовать установить перемычку на коробке сервера. Если вы этого не сделаете, вам придется разорвать его на части, чтобы загрузить эскиз. Поверьте, это не весело.

leefogg / Arduino-Web-Server: в основном IIS в Arduino

GitHub — leefogg / Arduino-Web-Server: в основном IIS в Arduino

В основном IIS в Arduino

Файлы

Постоянная ссылка Не удалось загрузить последнюю информацию о фиксации.

Тип

Имя

Последнее сообщение фиксации

Время фиксации

Этот проект должен был создать веб-сервер со всеми обычными функциями, к которым мы привыкли, но на платформе Arduino.

Почему Ардуино?

Установка веб-серверов сегодня может быть сложным процессом, независимо от того, используете ли вы симулятор, такой как XAMPP, или профессиональные приложения, такие как Microsoft IIS — вы должны знать основы веб-серверов и сетей, какие технологии вы хотите использовать, где их найти и как установить их и т. д.
Создание веб-сервера с нуля дает представление о том, как они работают, и создает платформу для изучения и работы.

  • Простота настройки — 7 шагов, с которыми должен быть знаком любой пользователь Arduino
  • Образовательный — просмотрите шаги, которые предпринимает современный веб-сервер, или изучите основы веб-разработки, если вы предпочитаете читать код, а не документацию.
  • Настраиваемый — Открытый исходный код!

Установка

  1. Отформатируйте SD-карту в FAT-32 или FAT-16 (для повышения производительности рекомендуется FAT-16)
  2. Скопируйте веб-сайт в корень SD-карты
  3. Скопируйте все файлы из папки SD в корень SD-карты
  4. Вставьте SD-карту в экран Ethernet
  5. Присоедините Arduino Ethernet Shield
  6. Подключите кабель Ethernet от экрана к маршрутизатору
  7. Загрузить код

Теперь он работает, проверьте последовательный порт на скорости 250000 бод на предмет наличия локального IP-адреса для просмотра.
Если вы работаете в частной сети, вам может потребоваться перенаправить локальный IP-адрес на порт 80 через маршрутизатор.

Требования

  1. Arduino Due или аналогичный
  2. SD-карта
  3. ПК (для настройки или отладки)
  4. Arduino Ethernet щит
  5. Ethernet-кабель (duh)

Поддерживаемые функции

  • Типы MIME
  • Список справочника
  • 404 (файл не найден) стр.
  • 415 (неподдерживаемый тип носителя) стр.
  • Регистрация через последовательный порт
  • Правильные коды состояния HTTP

Ограничения

Будущие функции

  • Конфиг.h для упрощения настройки
  • Включение / отключение просмотра каталогов
  • Другие страницы ошибок

Продолжительность: 1 месяц

Около

В основном IIS в Arduino

Темы

ресурсов

Вы не можете выполнить это действие в настоящее время.Вы вошли в систему с другой вкладкой или окном. Перезагрузите, чтобы обновить сеанс. Вы вышли из системы на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

Вольфганг Зиглер — Привет, веб-сервер Arduino

Недавно у меня появилось новое увлечение — возиться с оборудованием и гаджетами IoT (Интернет вещей), особенно с экосистемой Arduino.

В то время как большинство этих последних попыток касались светодиодов и заставляли их мигать тем или иным способом, я решил активизировать свою игру и добавить некоторые сетевые возможности в свои проекты Arduino.

Аппаратное обеспечение

На Amazon я нашел этот действительно дешевый (~ 7 €) щит Ethernet, который отлично работает вместе с Arduino Nano. В нем не было никаких инструкций по подключению контактов, но быстрый поиск в Интернете ENC28J60 Arduino Wiring быстро дал желаемую информацию.

Итак, все, что требуется — это 6 кабелей для подключения следующих выводов Arduino к их аналогам на щите Ethernet:

Цифровой вывод 12 -> SO
Цифровой вывод 11 -> SI
Цифровой вывод 13 -> SCK
Цифровой контакт 8 -> CS
3V3 -> VCC
Gnd -> GND

Если все подключено правильно, на экране Ethernet должен загореться маленький светодиод.Кроме того, светодиоды сетевой активности должны начать мигать, как только сетевой кабель будет подключен к экрану.

Программное обеспечение

Теперь, когда у нас есть оборудование, давайте реализуем крошечный веб-сервер, который показывает сообщение «Hello World».

Чтобы использовать экран Ethernet в нашем скетче Arduino, мы должны импортировать библиотеку Ethercard, выполнив следующие действия:

  • Загрузите zip-архив этой библиотеки с https://github.com/jcw/ethercard/archive /владелец.zip.
  • Затем выберите Sketch | Включить библиотеку | Добавьте .ZIP Library … в Arduino Studio и перейдите к загруженному архиву.
  • Перезапустите Arduino Studio, и вы получите много классных образцов в File | Примеры о том, как использовать библиотеку Ethercard.

Я взял напр. пример rbbb_server , который реализует крошечный веб-сервер и адаптировал его для моих целей.

Убедитесь, что вы всегда настраиваете константы для IP-адреса , и MAC-адреса , в этих примерах!

Вы можете найти полный исходный код этого демонстрационного веб-сервера на GitHub, если хотите поэкспериментировать с ним.

Но в основном он отображает сообщение «Hello World».

И он меняет цвет шрифта на красный , если строка запроса URL запрашивает это.

Что дальше?

Это послужило главным образом доказательством концепции для другого проекта Arduino, над которым я сейчас работаю. Он включает в себя управление светодиодной лентой RGB из сети, и все больше и больше частей этого проекта объединяются прямо сейчас. Так что следите за обновлениями, ребята!

с питанием от батареи, 9 В, веб-сервер за 2 доллара с Arduino

Некоторое время я экспериментировал с модулем Wi-Fi ESP8266 и был очарован его универсальностью, а точнее встроенным микроконтроллером и беспроводной антенной.Мозгом этих плат и модулей для разработки является 5-миллиметровый чип ESP8266. Цена чипа составляет несколько центов, а плата для разработчиков — от 1 доллара. Чип пережил несколько поколений и теперь стал надежным, но, к счастью, цена осталась низкой.

ESP8266

Изначально у меня был модуль ESP8266 всего с 8 контактами, и он выглядел так, а стоил 2 доллара. Его размер всего 14 мм x 25 мм, на нем есть Wi-Fi и микроконтроллер:

Это было не слишком надежно и открывали только контакты GPIO (вход и выход общего назначения) от микросхемы.У меня также были проблемы с программированием его из OS X, возможно, из-за моего конвертера FTDI. К сожалению, в этом модуле не было разъема USB и встроенного регулятора напряжения.

NodeMCU

В прошлом месяце я наткнулся на новую плату разработки NodeMCU 1.0 и заказал ее , которая, опять же, основана на микросхеме ESP8266. На этот раз это последнее поколение 12-E:

В этом модуле есть все, что я хотел: Wi-Fi, микроконтроллер, регулятор напряжения и разъем micro USB для простой загрузки кода.Это стоит 4,50 доллара, но как только вы создадите прототип своего проекта и будете готовы его упаковать, вы можете просто купить мозг, модуль 12-E за 2 доллара. Это маленький прямоугольник с металлическим радиатором.

Встроенный 32-битный процессор с SDIO, SPI, UART и 16 выводами GPIO, и он имеет намного большую мощность, чем Arduino. ESP8266:

  • работает на частоте 80 МГц
  • имеет 32 КБ ОЗУ инструкций
  • имеет 96 Кбайт ОЗУ данных
  • имеет 64 КБайт загрузочного ПЗУ

Довольно мощные свойства для микроконтроллера.Сравните это с тактовой частотой Arduino UNOs 16 МГц.

Здесь можно сказать, что явным преимуществом Arduino UNO является то, что ее можно программировать на языке Arduino из Arduino IDE. Хорошей новостью является то, что IDE Arduino была сделана совместимой с чипом ESP8266 , поэтому вы можете загружать свой обычный код Arduino на плату.

Загрузка скетчей из Arduino IDE

Перед программированием платы вам необходимо установить ее из менеджера дополнительных плат Arduino.Вот шаги, которые необходимо выполнить:

  • Установите Arduino с веб-сайта Arduino

  • Запустите Arduino и откройте окно настроек

  • Введите http://arduino.esp8266.com/stable/package esp8266com index.json в поле Дополнительные URL-адреса Board Manager. Вы можете добавить несколько URL, разделяя их запятыми

  • Откройте Boards Manager из меню «Инструменты»> «Плата» и установите платформу esp8266 (и не забудьте выбрать плату ESP8266 в меню «Инструменты»> «Плата» после установки)

Эти шаги были взяты из исходного репозитория проекта ESP8266 Arduino на github: https: // github.com / esp8266 / arduino

После успешного выполнения этих шагов необходимо убедиться, что микросхема на плате, отвечающая за последовательную связь USB, совместима с вашим компьютером . На моей плате NodeMCU это был чип с маркировкой CP2102. Для этого мне пришлось установить драйвер с китайского сайта:

http://www.wch.cn/download/Ch441SER MAC ZIP.html

Это сработало, и после установки плата появилась в моей Arduino IDE на OS X Yosemite. Я использовал следующие настройки в Arduino IDE:

Сейчас самое подходящее время для проверки мигания светодиода. Единственное, что вам нужно знать, это то, что метки контактов на NodeMCU не соответствуют номерам в вашем эскизе Arduino. Вот числа, которые вам нужно использовать вместо этого:

  • контакт 0 = D3
  • контакт 1 = TX
  • контакт 2 = D4
  • контакт 3 = RX
  • контакт 4 = D2
  • контакт 5 = D1
  • контакт 9 = SD2
  • контакт 10 = SD3
  • контакт 12 = D6
  • контакт 13 = D7
  • контакт 14 = D5
  • контакт 15 = D8
  • контакт 16 = D0

Если вы хотите включить светодиод, подключенный к D4, ваш эскиз Arduino будет:

  pinMode (2, ВЫХОД);
digitalWrite (2, ВЫСОКИЙ);  

Веб-сервер за 2 доллара с питанием от батареи 9 В

Самое замечательное в микросхеме ESP8266 заключается в том, что после того, как он подключен к вашему Wi-Fi-модему, вы можете подключиться к его IP-адресу .Вы также можете настроить HTTP-сервер на плате, что означает, что вы можете отправить HTML-ответ обратно, если IP-адрес вводится в браузере с устройства, подключенного к той же сети Wi-Fi.

Давайте создадим этот веб-сервер и включим светодиод. Сначала подключите светодиод к контакту D2, затем добавьте этот эскиз в IDE Arduino. Я добавил несколько комментариев, чтобы помочь вам понять, что происходит в фоновом режиме:

 
#include 
# включить 
#include 
#include 


const char * ssid = "nameofyourwifi";
const char * password = "пароль вашего Wi-Fi";


ESP8266WebServer server (80);

const int led = 4;



char * returnHTML () {
    char temp [400];
    интервал сек = миллис () / 1000;
    int min = сек / 60;
    int hr = мин / 60;

    snprintf (темп, 400,

" \
   \
     Демонстрация ESP8266  \
    <стиль> \
      тело {цвет фона: #cccccc; семейство шрифтов: Arial, Helvetica, Sans-Serif; Цвет: # 000088; } \
     \
   \
   \
     

Привет от ESP8266!

\ ВКЛ \ ВЫКЛ \ \ ", ч, мин% 60, сек% 60 ); возвратная температура; } void handleRoot () { Серийный. println ("корень"); server.send (200, «текст / HTML», returnHTML ()); } void ledOn () { Serial.println («ВКЛ»); digitalWrite (светодиод, ВЫСОКИЙ); server.send (200, «текст / HTML», returnHTML ()); } void ledOff () { Serial.println ("ВЫКЛ"); digitalWrite (светодиод, НИЗКИЙ); server.send (200, «текст / HTML», returnHTML ()); } void handleNotFound () { String message = "Файл не найден \ n \ n"; сообщение + = "URI:"; сообщение + = server.uri (); message + = "\ nMethod:"; сообщение + = (server.method () == HTTP_GET)? "GET": "POST"; message + = "\ nАргументы:"; сообщение + = сервер.args (); сообщение + = "\ п"; for (uint8_t i = 0; i

Измените данные вашего Wi-Fi и загрузите код на доску.Для меня обычно требуется 2–5 попыток, прежде чем начнется фактический процесс загрузки, и я не совсем понимаю, почему…

Код сервера загружен на вашу плату, поэтому вам больше не нужно подключаться к компьютеру через USB. Отключите его и попробуйте включить его от внешнего источника питания (минимум 6 максимум 15 вольт). Я подключил положительный полюс батареи 9 В к выводу VIN, а отрицательный - к GND. Плата включится и подключится к вашему Wi-Fi через несколько секунд. , затем, перейдя по IP-адресу платы, вы увидите HTML-страницу, которую вы добавили в функцию returnHTML.

Обратите внимание, как в строке 91 мы выводим IP-адрес платы на последовательный порт:

  Serial.println (WiFi.localIP ());  

Если вы откроете Serial Monitor вашей Arduino IDE, вы увидите IP-адрес. Это то, что вам нужно ввести в браузер, чтобы получить доступ к мини-серверу ESP8266 и просмотреть HTML-страницу.

Теперь, когда вы нажимаете кнопки HTML, светодиодный индикатор подключения к вашему серверу будет включаться и выключаться.

Что дальше?

Теперь, когда это настроено, возможности безграничны. Вы можете добавить датчики и заставить ваш сервер возвращать JSON. Это откроет API для вашего приложения JavaScript для доступа к показаниям датчиков из вашего дома.

В качестве альтернативы вы можете добавить этот веб-сервер за 2 доллара в настольную лампу. Вам просто нужно заменить светодиод на реле 240 В, чтобы вместо этого переключить источник питания. Это означает, что ваша настольная лампа теперь является веб-сервером, который может обслуживать отзывчивый веб-сайт для управления самим .Ваша настольная лампа теперь является частью Интернета вещей 🙂

Веб-сервер ESP32 github

Я хочу передавать потоковое видео с помощью ESP32-cam через веб-сервер. Может ли кто-нибудь направить меня или предоставить какой-либо источник того, как это сделать? А если использовать для этого какой-нибудь медиа-сервер, то какой будет хорошим. Прочтите Docs v: latest. Версии Последние версии Загрузки Читать документацию Project Home Builds Бесплатный хостинг документов, предоставляемый Read the Docs. Read the Docs. Пример веб-сервера ESP32 для OLED. GitHub Gist: мгновенно обменивайтесь кодом, заметками и фрагментами.ESP32 (действующий как сервер) «уведомляет» клиента через UUID характеристики TX, и данные отправляются на ESP32 и принимаются через UUID характеристики RX. Однако, поскольку есть отправка и получение, TX на ESP32 на самом деле является RX в приложении Android, поэтому внутри Thunkable вы заметите, что UUID поменяны местами с UUID в скетче Arduino. Создайте простой веб-сервер ESP32 с помощью Arduino IDE за 5 минут и управляйте светодиодами с помощью кнопок на веб-странице, учебное пособие с кодом и схемой. Схема рабочая.Код веб-сервера ESP32 для управления светодиодами. Heroku Flow использует Heroku Pipelines, Review Apps и интеграцию с GitHub, чтобы сделать создание, итерацию, постановку и доставку приложений легкими, наглядными и эффективными. Интеграция с GitHub Наша бесшовная интеграция с GitHub означает, что каждый запрос на вытягивание запускает одноразовое приложение Review для тестирования, и любое репо может быть настроено для автоматического развертывания при каждом нажатии GitHub на ... micropython-esp32 - старый порт MicroPython для ESP32 - новый порт находится по адресу https: // github. C. Это проект MicroPython, целью которого является внедрение Python 3.x на микроконтроллерах и небольших встроенных системах. Вы можете найти официальный сайт по адресу micropython.org.

Re: Serarch ESP32 EVB Пример веб-сервера проводной сети Ethernet 26 августа 2020 г., 08:53:33 # 4 Мы превратили пример в один, подходящий для более старой ESP-IDF, и другой для более новой ESP-IDF, поэтому связь не работает. Режимы работы ESP32. Одна из величайших особенностей ESP32 заключается в том, что он не только может подключаться к существующей сети Wi-Fi и действовать как веб-сервер, но также может создавать собственную сеть, позволяя другим устройствам напрямую подключаться к ней и получать доступ к веб-страницам.09 июля 2018 г. · ESP32 действует как веб-сервер, который обслуживает веб-страницу, содержащую программу javascript, для подключения к ESP32 через Websocket и захвата данных двоичного изображения для отображения на холсте HTML5. ESP32-CAM Stream server, автоматический Takepic и OTA. GitHub Gist: мгновенно обменивайтесь кодом, заметками и фрагментами. 21 июня 2020 г. · В этом руководстве подробно описано использование WebSocket для удаленного взаимодействия с ESP32, который предоставляет веб-приложение через HTTP-сервер. Протокол WebSocket открывает двусторонний канал связи между клиентским браузером и HTTP-сервером, запущенным ESP32.С помощью этого API вы можете отправлять сообщения на сервер и получать его ответы на основе событий, не обращаясь к серверу для ... для ESP8266. Я искал пример того, как вставить обновление прошивки OTA как часть остальной части кода, используя вашу асинхронную версию и асинхронный веб-сервер для взаимодействия с помощью простой веб-страницы, обслуживаемой Esp (без использования Arduino IDE) , но не смог найти пример, все, что я нашел, было с неасинхронными библиотеками или с использованием IDE arduino. Веб-сервер ESP32; Для этого я использую Arudino.Весь пример кода доступен в репозитории git, и вы можете скачать эскизы и проверить их. Если вы новичок в Арудино, вы также можете прочитать некоторые из моих предыдущих сообщений по этой теме. Демонстрация 1: Мигающий светодиод. Следующий скетч после загрузки на плату заставит мигать светодиод. https://github.com/collin80/esp32_can. Коллин также разработал новую программу ESP32RET, чтобы сделать EVTV ESP32 CANDue совершенным инструментом обратного проектирования CAN. С помощью этого программного обеспечения вы можете подключаться к шине CAN вашего автомобиля и БЕСПРОВОДНО взаимодействовать с аналитическим пакетом Collins SAVVYCan CAN.Grbl_ESP32 имеет режим тест-драйва. Если вы просто скомпилируете его и загрузите в ESP32, он создаст виртуальную машину без сопоставленных контактов. Это позволяет безопасно протестировать его без подключенного оборудования. Все работает, включая WIFI и веб-интерфейс. 19 июля 2017 г. · Cesanta Mongoose OS (mongoose-os.com) • Независимость от оборудования: ESP32, ESP8266, TI CC3200, STM32 и другие • Безопасность: SSL / TLS, поддержка крипто-чипа Microchip ATECC508A, поддержка зашифрованной флэш-памяти ESP32 • Разработка в C или JavaScript, или и то, и другое • Сеть: MQTT, WebSocket, COAP, HTTP / HTTPS и другие • Встроенный веб-сервер и сеть Mongoose...

27 мая 2020 г. · Управление несколькими устройствами переменного тока с помощью одного ESP32 Arduino. Вот как использовать ESP32 и IBM Watson IoT для управления несколькими реле (то есть несколькими устройствами переменного тока) с помощью кнопки и через Интернет. Подключите ESP32 Arduino к смарт-часам Samsung. Мы можем создать веб-сервер ESP32, подключить и управлять светодиодом из браузера часов. 9 декабря 2016 г. · В этом руководстве по ESP32 мы проверим, как настроить асинхронный веб-сервер HTTP с устройством, работающим как программная точка доступа.Тесты этого руководства по ESP32 были выполнены с использованием устройства ESP-WROOM-32 от DFRobot, интегрированного в плату разработки ESP32. Веб-серверы ESP32. Веб-сервер GPIO. Веб-сервер DHT11 / DHT22. Защищенный паролем веб-сервер. Доступ к веб-серверу по всему миру. Веб-сервер Soft Sccess Point. Веб-сервер Relay Control. Веб-сервер серводвигателя Веб-сервер BMP180. Руководство ESP32. ESP32 ADS1115 АЦП ESP32 I2C LCD. Статический / фиксированный IP-адрес ESP32 Я Адель Касса, учитель информатики в средней школе Туниса. Я пытаюсь продвигать культуру программирования в моей стране.Я бегаю после школы по программированию для детей. Просмотрите git: v4.1 ... LWS поддерживает дополнительный TLS для клиента или сервера (включая клиентские сертификаты) для любой роли. ... а также для Windows и даже ESP32 и FreeRTOS. 7 января 2018 г. - В этом проекте вы создадите автономный веб-сервер с ESP32, который может переключать два светодиода с помощью среды программирования Arduino IDE. ESPHome - это система для управления вашим ESP8266 / ESP32 с помощью простых, но мощных файлов конфигурации и удаленного управления ими через системы домашней автоматизации.Веб-сервер. @ Luc-github на клиенте 8266 основан на необработанном LwIP (например, Async), но на esp32 это асинхронный веб-сервер на основе сокетов. Для создания веб-сервера мы будем использовать библиотеку ESPAsyncWebServer, которая обеспечивает простой способ создания асинхронного веб-сервера. Создание асинхронного веб-сервера имеет несколько преимуществ, упомянутых на странице библиотеки GitHub, например: «Обрабатывать более одного соединения одновременно»;

ESP32 (действующий как сервер) «уведомляет» клиента через UUID характеристики TX, и данные отправляются на ESP32 и принимаются через UUID характеристики RX.Однако, поскольку есть отправка и получение, TX на ESP32 на самом деле является RX в приложении Android, поэтому внутри Thunkable вы заметите, что UUID поменяны местами с UUID в скетче Arduino. Создание веб-сервера ESP32 в Arduino IDE: управление светодиодами Научитесь создавать веб-сервер с помощью ESP32 и Arduino IDE. В этом руководстве мы проиллюстрируем, что ESP32, на котором запущена среда выполнения ESP32-Duktape JavaScript, является веб-сервером и обслуживает веб-страницы. Учебник Интернет-де-лас-Косас и Bluetooth с ESP32 Хуаном Антонио Вильяльпандо.Ознакомьтесь с учебным пособием _____ 247.- ESP32-CAM WiFi с OV2640. - Вам нужна веб-камера с ESP32. Требуется модуль ESP32-CAM WiFi OV2640, который входит в комплект поставки на Aliexpress за 6 евро. Este módulo tiene WiFi y Bluetooth. 160 МГц ... Редактировать на GitHub; Справочник по API¶ ... HTTP-сервер; HTTPS-сервер; ICMP Echo; Местное управление; mDNS; Modbus; ... ESP32 ESP32-S2 Языки en zh_CN Последние стабильные версии ... https: // github. com / raphaelbs / esp32-cam-ai-thinker Эти дешевые ESP32-CAM не имеют разъема USB, в отличие от обычного ESP32.Нам нужен программатор FTDI для загрузки кода через выводы U0R и U0T (которые являются последовательными выводами). 16 декабря 2020 г. · * Веб-сервер ESP8266 с веб-сокетом для управления светодиодом. * * Веб-сервер поддерживает состояние светодиодных индикаторов всех клиентов в актуальном состоянии, и любой клиент может * включить или выключить светодиод. * * Например, clientA подключается и включает светодиод. Это изменит цвет слова * "LED" на веб-странице на красный. Когда подключается clientB, слово 09 июля 2018 г. · ESP32 действует как веб-сервер, который обслуживает веб-страницу, содержащую программу javascript, для подключения к ESP32 через Websocket и захвата данных двоичного изображения для отображения на холсте HTML5.28 апреля 2019 г. · Комментарий от aelorenzo (6 мая 2019 г.), в котором говорится о потоковой передаче в Интернете (в руководстве «Редактирование HTML-кода веб-сервера камеры ESP32-CAM»), но этот человек не говорит о том, как именно это сделать. Я искал «переадресацию портов» в учебнике «Редактирование HTML-кода веб-сервера камеры ESP32-CAM» и «Открытие двери с помощью функции распознавания лиц и Sonoff ... 21 час назад · Vonsfambach. Github lilygo Github lilygo. Бу yazının hedef kitlesi git ve github kullanmaya tamamen sıfırdan başlayacak. 26 Скидка 43% на LILYGO® TTGO T-Beam v1.LILYGO®TTGO T Watch 2020 ESP32 Circuito Integrato Principale 1. LILYGO - это команда разработчиков программного и аппаратного обеспечения с открытым исходным кодом. com / LilyGO LilyGo’s Twitter : https: // twitter.

Simple-WebServer-Library-for-Arduino 0.81 на PlatformIO - Libraries.io

Simple WebServer - это небольшая, но гибкая библиотека для Arduino и ESP8266, которая реализует базовый HTTP-сервер, поддерживающий простые вызовы API.

Основная цель заключалась в создании скетча Arduino, который может переключать несколько реле для активации садовых огней через проводную сеть Ethernet.Примеры эскизов показывают, как можно применить библиотеку, и демонстрируют использование Arduino на основе API с экраном Ethernet или ESP8266, подключенного к плате с 4 реле (Simple_HTTP_Relay), включая расширение с ответами на основе JSON (Simple_HTTP_Relay_JSON, требует библиотеки ArduinoJSON) . Также включен более простой пример (Simple_HTTP_Blink), который активирует встроенный светодиод через HTTP.

Функциональность

Функции класса SimpleWebServer включают:

  begin () // запускаем сеанс сервера
connect () // открываем соединение (входящий HTTP-запрос от клиента)
disconnect () // закрываем соединение (с клиентом)
handleOn () // присоединяем функцию обратного вызова
handleRequest () // перенаправляем входящие запросы на правильный обратный вызов
handle () // перенаправляем HTTP-запрос соответствующей функции обратного вызова
response () // отправляем ответ (клиенту)
sendContent () // отправляем ответ (контент)
sendLine () // отправляем ответ (контент) + LF
port () // вернуть номер активного порта
request () // возвращаем ожидающий HTTP-запрос
method () // возвращаем ожидающий HTTP-метод
pathCount () // возвращаем количество (распознанных) аргументов
path () // возвращаем конкретный элемент пути HTTP-запроса
argCount () // вернуть количество (распознанных) аргументов HTTP-запроса
arg () // возвращаем значение определенного аргумента (по индексу или метке) HTTP-запроса
  

Библиотечные зависимости

История версий:

  0.7 // улучшенный дизайн и код
0.8 // различные улучшения
0.81 // исправление с зависимостью планировщика
  

Веб-сервер для мониторинга помещений Arduino

Прежде всего, что такое Arduino?

Arduino - это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных объектов или сред.Arduino может определять окружающую среду, получая входные данные от различных датчиков, и может влиять на окружающую среду, управляя освещением, двигателями и другими исполнительными механизмами. Микроконтроллер на плате программируется с использованием языка программирования Arduino (на основе Wiring) и среды разработки Arduino (на основе Processing). Проекты Arduino могут быть автономными или они могут взаимодействовать с программным обеспечением, запущенным на компьютере (например, Flash, Processing, MaxMSP).

Введение

В этом проекте мы будем использовать экран Ethernet Shield Ethernet Shield V2.0 и Arduino для создания простого веб-сервера. Используя библиотеку Ethernet, устройство сможет ответить на HTTP-запрос с помощью экрана Ethernet. После открытия браузера и перехода к IP-адресу Ethernet-щита Arduino ответит с кодом HTML, достаточным для отображения браузером данных.

1. Что нам нужно?

Во-первых, давайте посмотрим, что нам нужно для создания этого проекта. Поскольку мы работаем над платформой Arduino, основная плата Arduino просто необходима.Экран Ethernet - это то, что вам нужно для создания проекта Ethernet. Этот экран Ethernet использует знаменитый чип Wiznet W5100, который прост в использовании и обладает высокой мощностью. Что касается входов, мы используем датчики LDR и PIR. В качестве источника света используется сверхяркий светодиод белого цвета. Мы можем управлять «настоящим» светом в комнате, например люминесцентной лампой, с некоторыми модификациями этой платформы Arduino. Однако мы вынимаем секцию питания переменного тока, чтобы убедиться, что мы сосредоточились на возможности Ethernet в этом проекте.О том, как управлять электрическими приборами в реальном мире, мы поговорим позже.

2. Аппаратное обеспечение и схема

Когда мы посмотрим на плату Arduino и экран Ethernet, мы обнаружим 4 ряда выводов заголовка (мама на основной плате, а папа на экране). Их можно штабелировать. Подключите экран Ethernet к верхней части основной платы Arduino. Убедитесь, что все контакты выровнены и вставлены правильно, чтобы предотвратить неправильное соединение. После этого подключите датчики и светодиод, как показано на схеме ниже.Связь очень прямая.

Сначала резистор 220 Ом подключается последовательно со светодиодом, и цифровой вывод 4 управляет этим светодиодом. Цифровой выходной сигнал датчика PIR составляет 5 и 0 В. Таким образом, любой цифровой вывод ввода / вывода можно использовать для чтения сигнала. Я использую цифровой контакт 3. Для датчика LDR мы будем считывать аналоговое значение, создаваемое делителем напряжения, образованным LDR и резистором 10 кОм на аналоговом входе A5. Готовая фурнитура будет выглядеть как на рисунке ниже. Настройка оборудования действительно проста, не правда ли? Никакой пайки!

Вы можете видеть, что я вставляю железные штыри компонентов в гнездовой разъем экрана Ethernet.Иногда соединения ослаблены, потому что металлические штифты могут быть слишком тонкими для жатки. Таким образом, вы можете расширить контакты и подключить компоненты к макетной плате.

3. Давайте рисовать!

Sketch относится к программе Arduino. Это единица кода, которая загружается и запускается на плате Arduino. Прежде чем мы начнем со скетчем, нам нужно установить Arduino IDE. Его можно скачать с www.arduino.cc. Этот скетч Arduino основан на WebServer.pde с некоторыми изменениями, соответствующими нашему приложению. Пример находится в разделе «Файл»> «Примеры»> «Ethernet»> «Веб-сервер» в среде Arduino IDE. Ниже показана IDE Arduino, открывающая скетч ArduiServer.pde.

Прежде всего, нам нужно включить SPI.h и Ethernet.h в начало скетча. Позже мы будем использовать функции из этих двух библиотек. Каждое сетевое оборудование имеет уникальный серийный номер, позволяющий идентифицировать себя в сети, и обычно он жестко запрограммирован во встроенном ПО оборудования.Однако с помощью Arduino мы можем сами определить MAC-адрес. Если в вашей сети используется несколько экранов Ethernet, убедитесь, что у них разные MAC-адреса, изменив шестнадцатеричные значения в строке:

  1. byte mac [] = {0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF};

Однако, если у вас есть только один щит, просто оставьте его. Статистически очень редко бывает, что MAC-адрес совпадает с вашим существующим оборудованием.

Далее нам нужно указать IP-адрес экрана Ethernet.Переходим в строку:

  1. byte ip [] = {192, 168, 1, 111};

192.168.1.111 - это IP-адрес, который я использую для моего беспроводного модема TM Wireless ADSL (модель: Innacomm W3100), поэтому вы можете изменить его в соответствии со своими настройками. Например, если IP-адрес вашего домашнего маршрутизатора 192.168.0.1, вам необходимо установить IP-адрес экрана Ethernet, например, 192.168.0.53, чтобы экран Ethernet мог взаимодействовать с маршрутизатором. Следовательно, ваш IP-адрес должен выглядеть так:

  1. byte ip [] = {192, 168, 0, 53};

В четвертом столбце можно указать любое число.Это необязательно 111 или 53. Подойдет любое число, если ни одно из ваших устройств, подключенных к одному маршрутизатору, не использует один и тот же IP-адрес. Вы также можете попробовать проверить связь с вашей сетью с компьютера, подключенного к сети, и поискать в таблице. На вашем компьютере нажмите [Пуск] -> [Выполнить…] и введите «cmd» и [Enter]. Введите «ipconfig», чтобы узнать свой сетевой адрес. Сетевой адрес находится путем выполнения логической операции И над вашим IP-адресом и маской подсети. Вы можете видеть, что я оставляю этот комментарий на ArduiServer.pde:

  1. // P1 -> {10, 1, 1, 5};

Это адрес, который я использую для своего устройства P1 Wimax. Это тоже работает!

Последнее, что нам нужно установить для конфигурации Ethernet, - это номер порта. Порт 80 - порт по умолчанию для HTTP. Здесь я использую 3178, потому что это последние 4 цифры в строке поддержки Cytron:

Затем мы определяем переменные, используемые в скетче:

  1. int LED = 3; // светодиод подключен к цифровому выводу 3
  2. int PIR = 2; // Датчик PIR подключен к цифровому выводу 2
  3. int LDR = 5; // Датчик LDR подключен к аналоговому входу 5
  4. int PIRstate = 0; // переменная состояния датчика PIR
  5. float photocell = 0; // переменная для аналогового значения фотоэлемента (LDR)
  6. char c = 0; // полученные данные
  7. char command [2] = & quot; \ 0 & quot ;; // команда
  8. }

Мы выполняем процесс инициализации в разделе настройки:

  1. void setup ()
  2. {
  3. Ethernet.начать (mac, ip);
  4. server.begin ();
  5. pinMode (светодиод, ВЫХОД);
  6. pinMode (PIR, INPUT);
  7. }
  8. }

После инициализации мы пишем программу в void loop (). Я хотел бы здесь упомянуть две полезные функции:

  1. client.print (data, BASE); // БАЗА (необязательно)
  2. client.println (data);

Эти две функции используются для печати данных или строки на странице веб-сервера. client.println () напечатает символ конца строки, а client.print () не будет. Чтобы отобразить веб-страницу в браузере, нам нужно использовать кодирование HTML. Таким образом, вы можете увидеть много синтаксиса HTML в void loop (). Чтобы узнать об этом, вам нужно найти книгу, которая учит вас HTML, или погуглить в Интернете.

Я надеюсь, что вы уже поняли основную структуру кодирования скетча Arduino. Поскольку в эскизе даются подробные комментарии, я не буду здесь объяснять остальную часть кода. Вы можете скачать эскиз с сайта Robot. Перейдите на сайт Toe.

4.Как страница выглядит в браузере?

После внесения изменений загрузите скетч на Arduino Uno, Duemilanove или совместимую материнскую плату. Теперь подключите экран к маршрутизатору с помощью кабеля RJ45. Включите плату Arduino через USB или внешний источник питания. Затем вернитесь к компьютеру и с помощью веб-браузера введите IP-адрес экрана Ethernet в адресную строку URL. IP-адрес, основанный на моей конфигурации Ethernet:

192.168.1.111: 3178

Номер порта 3178 должен быть включен, если вы не установите его на 80 (порт HTTP по умолчанию). Веб-браузер запросит экран Ethernet, который вернет содержимое страницы веб-сервера, предварительно загруженное на плату Arduino. Это то, что вы увидите в этом проекте:

LDR считывает уровень освещенности в комнате и показывает значение как Light Reading. Если движения не обнаружено, на веб-странице отображается сообщение «Нет движения» зеленым цветом. Данные будут обновляться каждые 5 секунд.Нажимая кнопки включения и выключения светодиода, вы можете управлять сверхъярким светодиодом белого цвета, подключенным к плате Arduino. Когда светодиод включен, показания света резко возрастают (с начального значения 195 до 939). Это потому, что я поставил LDR напротив белого светодиода. Когда датчик PIR обнаруживает движение, на веб-странице отображается сообщение «Обнаружено движение!» в красном цвете.

Светодиод включен (виртуально)

Обнаружено движение!

Светодиод включен (физически)

5.Как сделать частный IP-адрес видимым для Интернета

Теперь вы можете увидеть, насколько просто отправлять данные с вашего Arduino через сеть Ethernet в веб-браузер. Но это только для локального веб-браузера. Это означает, что вы не можете получить доступ к веб-странице из другой сети, кроме домашней сети маршрутизатора. Вы не можете получить к нему доступ ни в одном кафе, где есть точка доступа. Очень непрактично следить за своей комнатой только когда ты дома, не так ли?

Чтобы обойти это, нам нужно настроить один из портов вашего маршрутизатора для пересылки входящих сообщений и запросов на подключение к шилду Ethernet.Для этого откройте интерфейс администратора маршрутизатора и найдите «переадресацию портов», «сопоставление портов» или «фильтрацию портов». Обычно эта опция находится в разделе «Заранее». (Woot! ... Вы опытный пользователь!) Интерфейс будет зависеть от модели вашего маршрутизатора, но настройки обычно имеют одно из этих имен. Я использую беспроводной ADSL-модем Innacomm W3100, предоставленный TM. Интерфейс моего маршрутизатора выглядит следующим образом:

На рисунке выше показано, что исходящее направление было установлено, и я собираюсь установить входящее направление, когда был сделан этот экран печати.Полные инструкции по настройке беспроводного ADSL-модема Innacomm W3100:

  1. Войдите на страницу администратора маршрутизатора по адресу 198.168.1.1 и введите свое имя пользователя и пароль. «Tmuser» - имя пользователя и пароль по умолчанию.
  2. Перейдите на вкладку «Advance», выберите «DMZ Settings». Затем установите флажок «Включить DMZ» и введите свой IP-адрес в IP-адрес узла DMZ ». У меня 192.168.1.111. Нажмите кнопку «Применить изменения», затем «Зафиксировать / перезагрузить».
  3. После перезапуска маршрутизатора войдите снова.Затем перейдите на вкладку «Продвижение» и «Брандмауэр».
  4. Нажмите кнопку «Добавить правило». Введите следующее:
  • Действие правила - Разрешить
  • Направление - Исходящий
  • Протокол - TCP
  • IP-адрес Src (мой - 192.168.1.111)
  • Маска подсети Src (у меня 255.255.255.0)
  • Порт (у меня 3178)
  • IP-адрес Dst (у меня 192.168.1.111)
  • Маска подсети Dst (у меня 255.255.255.0)
  • Порт (у меня 3178)
  1. Вы только что завершили «Входящий, TCP» .продолжайте вводить «Входящий, TCP».
  2. Нажмите «Применить изменения», затем «Зафиксировать / перезагрузить» и все!

Как только мы это сделаем, любые входящие запросы на подключение к общедоступному IP-адресу маршрутизатора на порту 3178 будут перенаправлены на частный IP-адрес Arduino Ethernet Shield на том же порту. Я не собираюсь раскрывать здесь публичный IP-адрес своего маршрутизатора, чтобы предотвратить любую хакерскую деятельность. Однако вы всегда можете проверить свой общедоступный IP-адрес на сайте http://whatismyipaddress.com.Например, ваш общедоступный IP-адрес для доступа к серверу Arduino может выглядеть так:

124.25.62.179:3178

Просто вставьте строку в адресную строку вашего браузера из любой точки мира, и вы готовы к мониторингу. твоя комната! Обычно этот IP-адрес не является статическим и может измениться при перезапуске модема. Это зависит от доступности, когда ваш модем выключен и снова включен. Хотя этот IP-адрес останется, если вы не выключите модем, что, если однажды произойдет отключение электроэнергии?

Хорошо, вот еще одна уловка, которая поможет вам с этой проблемой динамического IP.Вы можете создать доменное имя для размещения своего динамического IP-адреса. Многие модемы предоставляют конфигурацию динамической системы доменных имен (DDNS), которая позволяет вам обновить ваш текущий общедоступный IP-адрес до вашего доменного имени, размещенного в Интернете. DynDNS.com - один из поставщиков услуг, который позволяет вам создавать бесплатную учетную запись, размещать свой IP-адрес и даже автоматически обновлять его бесплатно. Вам просто нужно настроить учетную запись на странице администратора вашего маршрутизатора, если она поддерживается, как мой беспроводной ADSL-модем Innacomm W3100.

Настройка доменного имени DynDNS.

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

Ваш адрес email не будет опубликован.