Skip to content

Как это работает

AlexGyver edited this page Sep 28, 2022 · 2 revisions

Библиотека позволяет управлять электронным устройством из браузера. Между esp и браузером устанавливаются отношения клиент-сервер. Браузер (клиент) может:

  • Запросить с esp страницу, которую нужно отобразить
  • Запросить с esp конкретные данные, которые нужно обновить на странице (текст, состояние чекбокса)
  • Отправить на esp данные со страницы (факт нажатия кнопки, текст)

Esp (сервер) может только отвечать на запросы от браузера, самостоятельно ничего отправить на страницу он не может. Но в библиотеке есть инструменты, позволяющие наладить такое взаимодействие с элементами интерфейса.

Основные механизмы

Взаимодействие с библиотекой сводится к двум основным моментам:

  • У нас есть функция, которая вызывается библиотекой, когда браузер запрашивает отображение страницы. В этой функции мы собираем страницу из готовых блоков, затем библиотека её отправляет
  • У нас есть функция, которая вызывается библиотекой, когда приходит действие с браузера. В этой функции мы получаем со страницы данные, сигналы, а также отправляем ответы на запросы

Действия юзера на странице портала в браузере автоматически обрабатываются библиотекой и поступают в основную программу. Библиотека обрабатывает следующие сценарии:

  • Клик/изменение: при клике на почти любой компонент интерфейса или при изменении его состояния или значения можно получить его актуальное значение без перезагрузки страницы. Удобно для управления и настройки (галочки, кнопки, слайдеры, выбор цвета).
  • Обновление значений и состояний компонентов на странице в реальном времени без перезагрузки страницы. Удобно для индикации работы и получения текущих численных и текстовых значений из программы, вывод графиков в реальном времени, состояний чекбоксов и лампочек.
  • Отправка формы: при нажатии на кнопку типа SUBMIT страница перезагружается, а в программу приходят данные со всех компонентов, входящих в форму (текст в поле ввода, положения слайдеров и чекбоксов и так далее). Удобно для однократного ввода данных, настройки подключения и тому подобное.
  • Запрос на скачивание файла: позволяет скачивать файлы из памяти
  • Запрос на загрузку файла: позволяет загружать файлы из браузера в память
  • Запрос: переход по адресу, который не попадает под критерии выше, считается простым текстовым запросом с параметрами и может быть обработан стандартными средствами библиотеки WebServer (для применения за рамками библиотеки GyverPortal)
Clone this wiki locally