Шаг 14 - ESP8266 Библиотека WebSocketsServer

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • Программирование ESP8266 по порядку.
    ESP8266 Библиотека WebSocketsServer
    Поддержите канал: esp8266-arduino...
    Материалы на сайте :esp8266-arduino...

Комментарии • 64

  • @VALINOK
    @VALINOK 5 лет назад +4

    Спасибо за видео! С нетерпением жду новое про отправку данных в обратном направлении!

  • @0bit030
    @0bit030 5 месяцев назад +1

    Хотелось увидеть новую версию уроков, под современные библиотеки

  • @ArduinoTex
    @ArduinoTex 6 лет назад +2

    Спасибо за полезное видео.

  • @alexej7603
    @alexej7603 3 года назад +2

    Добрый день всем, а особенно автору канала и нашему учителю! Только начал изучать эту тему, наткнулся на ваши видео и нонстоп их все просмотрел! Спасибо, очень много стало понятно, спасибо за уроки, буду теперь осваивать! Но вот только не совсем понял, продолжения не будет?... Судя по времени выхода последнего видосика.. или просто не смог найти продолжение?...
    У меня просто есть несколько вопросов, один из них, как возможно сделать несколько страниц? На одной настройки, на второй допустим кнопки, на третьей графики и так далее. Так же интересует, есть ли возможность прицепить какие-то датчики (виджеты датчиков) для вывода температуры и прочего. Ну и вы отправку обещали показать))) Заранее благодарю вас за ответ. И ещё раз огромное спасибо за уроки!

  • @iotmanager
    @iotmanager 6 лет назад

    Серег, гениально!😎

  • @user-po9sd4zz8c
    @user-po9sd4zz8c 4 года назад

    Забираю )) Отличная работа.

  • @z.3125
    @z.3125 5 лет назад

    Спасибо тебе огромное!

  • @user-go1me1mz3i
    @user-go1me1mz3i 5 лет назад

    Сергей! Круто!

  • @alexyan203
    @alexyan203 3 года назад +2

    продолжение планируется?

  • @Vladimir_Java_dev
    @Vladimir_Java_dev 5 лет назад +1

    А вот вариант, чтоб не плодить soketData() по методам:
    делаем new и old версии configJson.
    Вместо вызовов soketData() делаем запись в newConfigJson соответствующего парама. В loop() добавляем вызов soketData() в котором добавлен цикл, который бегает по коллекции ключей и сравнивает содержимое в new и old configJson, при необходимости дёргает метод вебсокета для соответствующего парама с новым значением. В конце метода в oldConfigJson копируем содержимое newConfigJson, чтобы исключить ложное срабатывание с ледующем колле. Оно конечно несколько более ресурсо затратно относительно текущего варианта, т.к. приходится дополнительно в цикле выявлять измененные парамы.

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад

      Да это хороший вариант.

  • @olegafanasiev9959
    @olegafanasiev9959 5 лет назад

    Сергей, проект - Супер - Спасибо тебе!! ....у меня правда на SSDP_init(); MODEMCU уходит в перезагрузку, где-то каждые 8 сек. и точкой доступа даже не становится. Если закоментировать в Setup // SSDP_init(); то все работает ОК.

  • @ДмитрийРаевский-к5ш

    Здравствуйте, Сергей. Не могли бы вы сказать, в чем может быть причина ошибок. Сначала выходит no matching function for call to 'DHT::DHT()? Указываю тип и пин, выходит ошибка 'class DHT' has no member named 'setup', изменил на begin. Снова запускаю, выводи ошибку 'class DHT' has no member named 'getMinimumSamplingPeriod' , исправляю ее , потом появляется что то наподобие: test was not declared in this scope . И так далее... Спасибо. Использую DHT11

  • @d1zz3l
    @d1zz3l 3 года назад

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

  • @maddocrusmad464
    @maddocrusmad464 5 лет назад

    Вопрос, а у вас от внешних прерываний по пину, сервер не крашится? А то у меня все сбрасывается. Есть пример в вашей базе с внешними прерываниями?

  • @user-iw4st2wx5j
    @user-iw4st2wx5j 5 лет назад

    Подскажите как заставить arduino ide обрабатывать вкладки в нужной последовательности?

  • @user-sp4yc6cl1s
    @user-sp4yc6cl1s 5 лет назад

    Сергей, а почему не используете ESPAsyncWebServer? Там и http и ws сервер в одном флаконе.

  • @Serionia1
    @Serionia1 4 года назад

    Спасибо за потраченное время. Я смотрел ваши уроки и в какой-то момент потерял нить рассказа. Вы слишком наворотили всего и разобраться в этом начинающему сложно. Мне нужно создать на ESP вольтметр, ESP при этом работает как точка доступа (никакого интеренета), я подключаюсь при помощи сотового телефона к ESP и получаю показания измерений. Задача вроде простая но никак не могу выделить нужное для ее реализации из ваших уроков. Подскажите пожалуйста что удалить а что оставить? Не надо никаких стилей, никакого крутого интерфейса. Только вывод на страницу показаний вольтметра. Поняв это, наворотить красотулек я со временем и сам смогу.

  • @olegafanasiev9959
    @olegafanasiev9959 5 лет назад

    Как/чем ловить в браузере посылки от WebSockets ?......

  • @user-eb6rf1yv4w
    @user-eb6rf1yv4w 3 года назад

    Когда жму ctrl+M пишет GET Socket мой IP file not found. Уже все перерыл. Конечно очень нравится ваши уроки, но между уроками вы часто какие-то действия производите с файлами скетча и приходится по пол дня искать что же изменилось. А жесть вообще в том, что скачал библиотеку TickerScheduler.h, просто подсунул в lidrary онипишет, что не находит TickerScheduler.h. Пытаюсь добавить как zip архив. пишет, что это не библиотека. Ну вроде просто эти 2 файла в проект засунул, вроде ругаться перестало. Но вот ошибку по WebSocket выдает хоть тресни.

    • @MrSEDERIK
      @MrSEDERIK 3 года назад

      Как вариант, просто загрузить библиотеку через: скетч - подключить библиотеку - управлять библиотеками, в поисковой строке ввести TickerScheduler-master или TickerScheduler, установить

  • @user-zw2gp8jh1r
    @user-zw2gp8jh1r 5 лет назад

    Сергей, а попроще можно (без файловой системы и, желательно, без Live Json)? У меня под контролем должно быть 4 реле, 3 кнопки, 4 датчика и шаговик... Хотелось бы всё это оформить как можно проще...

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад

      Пишите как вы будите подключать, 4 реле, 3 кнопки, 4 датчика и шаговик. Здесь много вариантов подключения. Какие у вас будут датчики, как вы будите подключать кнопки и шаговик?

  • @SaniyoUa
    @SaniyoUa 5 лет назад

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад

      Пока только разделяя страницы.

  • @user-mj1ek9mj4x
    @user-mj1ek9mj4x 5 лет назад

    Ещё проблемка возникла с графиками. Не работают с вебсокетом.... Обновляется весь график, как обновится значение какой либо точки на странице через вебсокет...

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад

      График повебсокету пока не работает.

  • @user-em7zt1kr3u
    @user-em7zt1kr3u 6 лет назад

    Вы не пробовали все это реализовать на Micropython. Esp очень хорошо работает на этом языке и очень хорошая поддержка. Micropython как маленькая OS в которой все есть, только пишите код и все работает.

  • @user-iw4st2wx5j
    @user-iw4st2wx5j 5 лет назад

    Сергей, истек срок регистрации домена.

  • @user-wh8do8il6d
    @user-wh8do8il6d 5 лет назад

    1. Столкнулся с проблемой когда данные не обновляются по websocket. Долго не мог понять почему, много раз внимательно пересматривал видео и тут вдруг осенило)
    WebSocket подключается по адресу ip 192.168.1.4:81, а я к esp подключаюсь через DDNS по доменному имени 4го уровня. Тоесть роутер раздал esp такой ip и из локалки я к нему подключаюсь все работает, а стоит подключиться из инета и websocket не может соединиться =((
    2. Вы продолжили проект на SPIFFS, а от SD отказались, к сожалению...может быть в следующих будет поддержка SD?) было бы круто проверять если SD есть то сайт с нее грузится, а если нет, то из SPIFFS ))
    3. Ну а это наверно больше вашему другу чем вам) bootstrap - шальная императрица и очень капризная) ставишь col-md-6, потом элемент select с широной 50%, который не оборачивается в col-md-6, а потом новый элемент col-md-6 размещается во второй колонке под селектом, а в первой колонке и побороть это не получилось, потому что не хватает class="row"

  • @Gryazina
    @Gryazina 5 лет назад

    А у вас есть уроки по работе, ESP c ESP без компьютера, интересует передача данных между ними тунельная в обе стороны?

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад +1

      Есть несколько вариантов такой работы. Если вы хотите соединять без роутера это одно. Если с роутером совсем другое. Вам какой вариант требуется?

    • @Gryazina
      @Gryazina 5 лет назад

      @@ESPArduinoIDE я хочу соединить 3 ESP без роутера, одна выступает как бы в качестве сервера(точки доступа), две другие к ней подключаются, выполняют свою работу раздельно и время от времени нужен обменн данными. Клиент-Сервер, в обе стороны. Только клиента 2 , а сервер один . До этого делал подобное на NRF24, но там возникали проблемы с конектом(видимо изза китайских модулей) могло долго работать адекватно, а могло мозг начинать компостировать и хз в чём проблема была, так и не разобрался. Хочу на ESP попробовать сделать, ни разу до этого с ней не работал.
      Ещё вопрос есть по поводу реализации PWM, если вдруг сталкивались , на сколько я понимаю сделать он только програмный возможен, какой частоты максимальной для стабильной работы всего модуля в целом можно добиться?

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад +1

      Посмотрите примеры библиотеки. github.com/gmag11/painlessMesh Если вам не нужен web интерфейс самое то!

    • @Gryazina
      @Gryazina 5 лет назад

      @@ESPArduinoIDE Спасибо, посмотрю.
      До просмотра ваших видео, думал что веб интерфейс ненужен хДДД Сейчас думаю почему бы и нет, довольно удобно со смартфона мониторить, управлять, но в целом больше как опция, для моей задачи он не особо нужен, там функционал не такой большой, что бы слишком сильно парится.

  • @alexandr3891
    @alexandr3891 5 лет назад

    Все супер, но ваш сайт недоступен. Я создал ползунок (0-255) для отправки данных на есп через "action": который в свою очередь должен управлять димером и в реальном времени. Записав значение в json с вэб и считав их есп, димер отрабатывает, и теперь что-бы все подключенные девайсы обновили положение бегунка мне нужно воспользоваться websocket? Как заставить обновить "state" в реальном времени без перезагрузки страницы? AJAX or websocket?

    • @ESPArduinoIDE
      @ESPArduinoIDE  4 года назад +1

      Отправить значение этого параметра в websocket как любые данные в примере.

    • @ZAYAC66
      @ZAYAC66 4 года назад +1

      @@ESPArduinoIDE здравствуйте.
      А новое будет?

  • @user-um8iu9qb7o
    @user-um8iu9qb7o 3 года назад

    на скетч ссылка на сайте нерабочая

  • @SergeyBelotserkovskiy
    @SergeyBelotserkovskiy 6 лет назад

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  6 лет назад

      Обычно все путают понятие Сервер Клиент. Напишите как вы видите работу модулей и что хотите передавать и куда.

    • @SergeyBelotserkovskiy
      @SergeyBelotserkovskiy 6 лет назад +1

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

    • @olexande
      @olexande 5 лет назад

      @@SergeyBelotserkovskiy , Вам вероятно, стоит разделить "систему" на клиенты-собирающие информацию на сервер. Он будет сохранять и обрабатывать данные (БД, файлы, сейчас не важно) и на вероятно (опционально) отдельном веб-сервере будет крутиться уже "представление". Как вариант - веб сервер.

  • @korvova
    @korvova 5 лет назад

    Когда будет урок по приему данных сокета. Хотелоь-бы увидеть урок по этой через этот сервис: www.pubnub.com/blog/2015-07-14-basic-iot-publishsubscribe-messaging-for-esp8266/

  • @user-rd1qh3ol9v
    @user-rd1qh3ol9v 3 года назад

    День добрый! У Вас сайт упал

    • @ESPArduinoIDE
      @ESPArduinoIDE  3 года назад

      Спасибо за сообщение! Все починил.

  • @user-ip2bq1ti4j
    @user-ip2bq1ti4j 5 лет назад

    Сайт не доступен

  • @user-mj1ek9mj4x
    @user-mj1ek9mj4x 5 лет назад

    Два нолика убрать после запятой. Обрабатывать в integer что ли...

  • @user-mj1ek9mj4x
    @user-mj1ek9mj4x 5 лет назад

    void sec_init() {
    ts.add(0, 1000, [&](void*) { // Запустим задачу 1 с интервалом 1000ms
    SocketData ("SOstate", SOstate, jsonRead(configJson,"SOstate"));
    jsonWrite(configJson, "SOstate", SOstate);
    }, nullptr, true);
    }
    /==========================================
    jsonWrite(configJson, "SOstate", SOstate);
    Пишется каждую секунду? ESP не подохнет от 80ти сигналов? Дырку не протрёт в памяти?

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад

      Все операции в оперативной памяти.

    • @user-mj1ek9mj4x
      @user-mj1ek9mj4x 5 лет назад

      @@ESPArduinoIDE Спасибо!

  • @alexandr3891
    @alexandr3891 5 лет назад

    Печалька друг =
    Хмм. Нам не удаётся найти этот сайт.
    Мы не можем подключиться к серверу http//esp8266-arduinoide.ru/Если этот адрес корректен, вы можете попробовать выполнить следующие действия:
    Повторить попытку позже.
    Проверить своё соединение с сетью.
    Если вы соединились с Интернетом, но защищены межсетевым экраном, проверьте, что Tor Browser разрешен доступ в Интернет.

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 лет назад +1

      Проверяю сайт работает.

    • @alexandr3891
      @alexandr3891 5 лет назад

      @@ESPArduinoIDE Да, видимо временный сбой или у меня трабла быда, сейчас все отлично и да , спасибо =)

  • @mofi2914
    @mofi2914 6 лет назад

    Привет