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

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • Программирование ESP8266 по порядку.
    ESP8266 Библиотека WebSocketsServer
    Поддержите канал: esp8266-arduino...
    Материалы на сайте :esp8266-arduino...

ความคิดเห็น • 64

  • @VALINOK
    @VALINOK 5 ปีที่แล้ว +4

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

  • @0bit030
    @0bit030 6 หลายเดือนก่อน +1

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

  • @ArduinoTex
    @ArduinoTex 6 ปีที่แล้ว +2

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

  • @alexej7603
    @alexej7603 3 ปีที่แล้ว +2

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

  • @iotmanager
    @iotmanager 6 ปีที่แล้ว

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

  • @АлександрВалерьевич-ц7б
    @АлександрВалерьевич-ц7б 4 ปีที่แล้ว

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

  • @olegafanasiev9959
    @olegafanasiev9959 5 ปีที่แล้ว

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

  • @Vladimir_Java_dev
    @Vladimir_Java_dev 5 ปีที่แล้ว +1

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 ปีที่แล้ว

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

  • @ДенисПоляков-м5э
    @ДенисПоляков-м5э 6 ปีที่แล้ว

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

  • @z.3125
    @z.3125 5 ปีที่แล้ว

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

  • @alexyan203
    @alexyan203 4 ปีที่แล้ว +2

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

  • @Serionia1
    @Serionia1 4 ปีที่แล้ว

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

  • @Александр1-ц7т
    @Александр1-ц7т 6 ปีที่แล้ว

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

  • @ЕвгенийС-к2г
    @ЕвгенийС-к2г 6 ปีที่แล้ว

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

  • @d1zz3l
    @d1zz3l 3 ปีที่แล้ว

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

  • @ДмитрийРаевский-к5ш
    @ДмитрийРаевский-к5ш 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

  • @SergeyBelotserkovskiy
    @SergeyBelotserkovskiy 6 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  6 ปีที่แล้ว

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

    • @SergeyBelotserkovskiy
      @SergeyBelotserkovskiy 6 ปีที่แล้ว +1

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

    • @olexande
      @olexande 5 ปีที่แล้ว

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

  • @olegafanasiev9959
    @olegafanasiev9959 5 ปีที่แล้ว

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

  • @ЮрийКошкин-б9е
    @ЮрийКошкин-б9е 5 ปีที่แล้ว

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

  • @ВладимирСамойлов-е8ц
    @ВладимирСамойлов-е8ц 6 ปีที่แล้ว

    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"

  • @Bender-l2s
    @Bender-l2s 6 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 ปีที่แล้ว

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

  • @ЮрийКошкин-б9е
    @ЮрийКошкин-б9е 5 ปีที่แล้ว

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

  • @админсайта-к5х
    @админсайта-к5х 3 ปีที่แล้ว

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

  • @Ёшкинсвет-к2х
    @Ёшкинсвет-к2х 5 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 ปีที่แล้ว

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

  • @maddocrusmad464
    @maddocrusmad464 5 ปีที่แล้ว

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

  • @ДмитрийСеров-ц8з
    @ДмитрийСеров-ц8з 3 ปีที่แล้ว

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

    • @MrSEDERIK
      @MrSEDERIK 3 ปีที่แล้ว

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

  • @SaniyoUa
    @SaniyoUa 5 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 ปีที่แล้ว

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

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

  • @Bender-l2s
    @Bender-l2s 5 ปีที่แล้ว

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

  • @korvova
    @korvova 5 ปีที่แล้ว

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

  • @АнтонАндреевич-э8н
    @АнтонАндреевич-э8н 3 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  3 ปีที่แล้ว

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

  • @alexandr3891
    @alexandr3891 5 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 ปีที่แล้ว +1

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

    • @ZAYAC66
      @ZAYAC66 4 ปีที่แล้ว +1

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

  • @СделановКитае-л8г
    @СделановКитае-л8г 5 ปีที่แล้ว

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

  • @mofi2914
    @mofi2914 6 ปีที่แล้ว

    Привет

  • @Bender-l2s
    @Bender-l2s 6 ปีที่แล้ว

    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  6 ปีที่แล้ว

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

    • @Bender-l2s
      @Bender-l2s 6 ปีที่แล้ว

      @@ESPArduinoIDE Спасибо!

  • @alexandr3891
    @alexandr3891 5 ปีที่แล้ว

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

    • @ESPArduinoIDE
      @ESPArduinoIDE  5 ปีที่แล้ว +1

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

    • @alexandr3891
      @alexandr3891 5 ปีที่แล้ว

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