Добрый день всем, а особенно автору канала и нашему учителю! Только начал изучать эту тему, наткнулся на ваши видео и нонстоп их все просмотрел! Спасибо, очень много стало понятно, спасибо за уроки, буду теперь осваивать! Но вот только не совсем понял, продолжения не будет?... Судя по времени выхода последнего видосика.. или просто не смог найти продолжение?... У меня просто есть несколько вопросов, один из них, как возможно сделать несколько страниц? На одной настройки, на второй допустим кнопки, на третьей графики и так далее. Так же интересует, есть ли возможность прицепить какие-то датчики (виджеты датчиков) для вывода температуры и прочего. Ну и вы отправку обещали показать))) Заранее благодарю вас за ответ. И ещё раз огромное спасибо за уроки!
А вот вариант, чтоб не плодить soketData() по методам: делаем new и old версии configJson. Вместо вызовов soketData() делаем запись в newConfigJson соответствующего парама. В loop() добавляем вызов soketData() в котором добавлен цикл, который бегает по коллекции ключей и сравнивает содержимое в new и old configJson, при необходимости дёргает метод вебсокета для соответствующего парама с новым значением. В конце метода в oldConfigJson копируем содержимое newConfigJson, чтобы исключить ложное срабатывание с ледующем колле. Оно конечно несколько более ресурсо затратно относительно текущего варианта, т.к. приходится дополнительно в цикле выявлять измененные парамы.
Сергей, проект - Супер - Спасибо тебе!! ....у меня правда на SSDP_init(); MODEMCU уходит в перезагрузку, где-то каждые 8 сек. и точкой доступа даже не становится. Если закоментировать в Setup // SSDP_init(); то все работает ОК.
Здравствуйте, Сергей. Не могли бы вы сказать, в чем может быть причина ошибок. Сначала выходит 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
Спасибо за потраченное время. Я смотрел ваши уроки и в какой-то момент потерял нить рассказа. Вы слишком наворотили всего и разобраться в этом начинающему сложно. Мне нужно создать на ESP вольтметр, ESP при этом работает как точка доступа (никакого интеренета), я подключаюсь при помощи сотового телефона к ESP и получаю показания измерений. Задача вроде простая но никак не могу выделить нужное для ее реализации из ваших уроков. Подскажите пожалуйста что удалить а что оставить? Не надо никаких стилей, никакого крутого интерфейса. Только вывод на страницу показаний вольтметра. Поняв это, наворотить красотулек я со временем и сам смогу.
Когда жму ctrl+M пишет GET Socket мой IP file not found. Уже все перерыл. Конечно очень нравится ваши уроки, но между уроками вы часто какие-то действия производите с файлами скетча и приходится по пол дня искать что же изменилось. А жесть вообще в том, что скачал библиотеку TickerScheduler.h, просто подсунул в lidrary онипишет, что не находит TickerScheduler.h. Пытаюсь добавить как zip архив. пишет, что это не библиотека. Ну вроде просто эти 2 файла в проект засунул, вроде ругаться перестало. Но вот ошибку по WebSocket выдает хоть тресни.
Как вариант, просто загрузить библиотеку через: скетч - подключить библиотеку - управлять библиотеками, в поисковой строке ввести TickerScheduler-master или TickerScheduler, установить
Сергей, а попроще можно (без файловой системы и, желательно, без Live Json)? У меня под контролем должно быть 4 реле, 3 кнопки, 4 датчика и шаговик... Хотелось бы всё это оформить как можно проще...
Пишите как вы будите подключать, 4 реле, 3 кнопки, 4 датчика и шаговик. Здесь много вариантов подключения. Какие у вас будут датчики, как вы будите подключать кнопки и шаговик?
Сергей, подскажыте как бить если на одной странице веб сокет вместе с полями ввода, они обновляються как только запрос на обновление идет? хочется както обновлять только те поля где нужны изменения.
Ещё проблемка возникла с графиками. Не работают с вебсокетом.... Обновляется весь график, как обновится значение какой либо точки на странице через вебсокет...
Вы не пробовали все это реализовать на Micropython. Esp очень хорошо работает на этом языке и очень хорошая поддержка. Micropython как маленькая OS в которой все есть, только пишите код и все работает.
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"
@@ESPArduinoIDE я хочу соединить 3 ESP без роутера, одна выступает как бы в качестве сервера(точки доступа), две другие к ней подключаются, выполняют свою работу раздельно и время от времени нужен обменн данными. Клиент-Сервер, в обе стороны. Только клиента 2 , а сервер один . До этого делал подобное на NRF24, но там возникали проблемы с конектом(видимо изза китайских модулей) могло долго работать адекватно, а могло мозг начинать компостировать и хз в чём проблема была, так и не разобрался. Хочу на ESP попробовать сделать, ни разу до этого с ней не работал. Ещё вопрос есть по поводу реализации PWM, если вдруг сталкивались , на сколько я понимаю сделать он только програмный возможен, какой частоты максимальной для стабильной работы всего модуля в целом можно добиться?
@@ESPArduinoIDE Спасибо, посмотрю. До просмотра ваших видео, думал что веб интерфейс ненужен хДДД Сейчас думаю почему бы и нет, довольно удобно со смартфона мониторить, управлять, но в целом больше как опция, для моей задачи он не особо нужен, там функционал не такой большой, что бы слишком сильно парится.
Все супер, но ваш сайт недоступен. Я создал ползунок (0-255) для отправки данных на есп через "action": который в свою очередь должен управлять димером и в реальном времени. Записав значение в json с вэб и считав их есп, димер отрабатывает, и теперь что-бы все подключенные девайсы обновили положение бегунка мне нужно воспользоваться websocket? Как заставить обновить "state" в реальном времени без перезагрузки страницы? AJAX or websocket?
Интересно было бы глянуть как сделать сеть модулей, чтобы один был сервером, а остальные клиентами. Чтобы управлять всем через один модуль, а не подключатся к каждому по отдельности.
Я имею ввиду центральный модуль на который стекаться вся информация с дочерних модулей с возможностью посылать команды управления подключенным модулям. В свою очередь, центральный модуль подключен в интернет по MQTT. Я это все к тому, что на некоторых MQTT серверах есть ограничение на количество подключений.
@@SergeyBelotserkovskiy , Вам вероятно, стоит разделить "систему" на клиенты-собирающие информацию на сервер. Он будет сохранять и обрабатывать данные (БД, файлы, сейчас не важно) и на вероятно (опционально) отдельном веб-сервере будет крутиться уже "представление". Как вариант - веб сервер.
Когда будет урок по приему данных сокета. Хотелоь-бы увидеть урок по этой через этот сервис: www.pubnub.com/blog/2015-07-14-basic-iot-publishsubscribe-messaging-for-esp8266/
Печалька друг = Хмм. Нам не удаётся найти этот сайт. Мы не можем подключиться к серверу http//esp8266-arduinoide.ru/Если этот адрес корректен, вы можете попробовать выполнить следующие действия: Повторить попытку позже. Проверить своё соединение с сетью. Если вы соединились с Интернетом, но защищены межсетевым экраном, проверьте, что Tor Browser разрешен доступ в Интернет.
Спасибо за видео! С нетерпением жду новое про отправку данных в обратном направлении!
Хотелось увидеть новую версию уроков, под современные библиотеки
Спасибо за полезное видео.
Добрый день всем, а особенно автору канала и нашему учителю! Только начал изучать эту тему, наткнулся на ваши видео и нонстоп их все просмотрел! Спасибо, очень много стало понятно, спасибо за уроки, буду теперь осваивать! Но вот только не совсем понял, продолжения не будет?... Судя по времени выхода последнего видосика.. или просто не смог найти продолжение?...
У меня просто есть несколько вопросов, один из них, как возможно сделать несколько страниц? На одной настройки, на второй допустим кнопки, на третьей графики и так далее. Так же интересует, есть ли возможность прицепить какие-то датчики (виджеты датчиков) для вывода температуры и прочего. Ну и вы отправку обещали показать))) Заранее благодарю вас за ответ. И ещё раз огромное спасибо за уроки!
Серег, гениально!😎
Забираю )) Отличная работа.
Спасибо тебе огромное!
Сергей! Круто!
продолжение планируется?
А вот вариант, чтоб не плодить soketData() по методам:
делаем new и old версии configJson.
Вместо вызовов soketData() делаем запись в newConfigJson соответствующего парама. В loop() добавляем вызов soketData() в котором добавлен цикл, который бегает по коллекции ключей и сравнивает содержимое в new и old configJson, при необходимости дёргает метод вебсокета для соответствующего парама с новым значением. В конце метода в oldConfigJson копируем содержимое newConfigJson, чтобы исключить ложное срабатывание с ледующем колле. Оно конечно несколько более ресурсо затратно относительно текущего варианта, т.к. приходится дополнительно в цикле выявлять измененные парамы.
Да это хороший вариант.
Сергей, проект - Супер - Спасибо тебе!! ....у меня правда на SSDP_init(); MODEMCU уходит в перезагрузку, где-то каждые 8 сек. и точкой доступа даже не становится. Если закоментировать в Setup // SSDP_init(); то все работает ОК.
Здравствуйте, Сергей. Не могли бы вы сказать, в чем может быть причина ошибок. Сначала выходит 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
Автор подскажите как в коде страницы реализуется websocket. Собственно в этом вся загвоздка, не могу разобраться как страничка цепляется.
Вопрос, а у вас от внешних прерываний по пину, сервер не крашится? А то у меня все сбрасывается. Есть пример в вашей базе с внешними прерываниями?
Подскажите как заставить arduino ide обрабатывать вкладки в нужной последовательности?
Сергей, а почему не используете ESPAsyncWebServer? Там и http и ws сервер в одном флаконе.
Спасибо за потраченное время. Я смотрел ваши уроки и в какой-то момент потерял нить рассказа. Вы слишком наворотили всего и разобраться в этом начинающему сложно. Мне нужно создать на ESP вольтметр, ESP при этом работает как точка доступа (никакого интеренета), я подключаюсь при помощи сотового телефона к ESP и получаю показания измерений. Задача вроде простая но никак не могу выделить нужное для ее реализации из ваших уроков. Подскажите пожалуйста что удалить а что оставить? Не надо никаких стилей, никакого крутого интерфейса. Только вывод на страницу показаний вольтметра. Поняв это, наворотить красотулек я со временем и сам смогу.
Как/чем ловить в браузере посылки от WebSockets ?......
Когда жму ctrl+M пишет GET Socket мой IP file not found. Уже все перерыл. Конечно очень нравится ваши уроки, но между уроками вы часто какие-то действия производите с файлами скетча и приходится по пол дня искать что же изменилось. А жесть вообще в том, что скачал библиотеку TickerScheduler.h, просто подсунул в lidrary онипишет, что не находит TickerScheduler.h. Пытаюсь добавить как zip архив. пишет, что это не библиотека. Ну вроде просто эти 2 файла в проект засунул, вроде ругаться перестало. Но вот ошибку по WebSocket выдает хоть тресни.
Как вариант, просто загрузить библиотеку через: скетч - подключить библиотеку - управлять библиотеками, в поисковой строке ввести TickerScheduler-master или TickerScheduler, установить
Сергей, а попроще можно (без файловой системы и, желательно, без Live Json)? У меня под контролем должно быть 4 реле, 3 кнопки, 4 датчика и шаговик... Хотелось бы всё это оформить как можно проще...
Пишите как вы будите подключать, 4 реле, 3 кнопки, 4 датчика и шаговик. Здесь много вариантов подключения. Какие у вас будут датчики, как вы будите подключать кнопки и шаговик?
Сергей, подскажыте как бить если на одной странице веб сокет вместе с полями ввода, они обновляються как только запрос на обновление идет? хочется както обновлять только те поля где нужны изменения.
Пока только разделяя страницы.
Ещё проблемка возникла с графиками. Не работают с вебсокетом.... Обновляется весь график, как обновится значение какой либо точки на странице через вебсокет...
График повебсокету пока не работает.
Вы не пробовали все это реализовать на Micropython. Esp очень хорошо работает на этом языке и очень хорошая поддержка. Micropython как маленькая OS в которой все есть, только пишите код и все работает.
Сергей, истек срок регистрации домена.
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"
А у вас есть уроки по работе, ESP c ESP без компьютера, интересует передача данных между ними тунельная в обе стороны?
Есть несколько вариантов такой работы. Если вы хотите соединять без роутера это одно. Если с роутером совсем другое. Вам какой вариант требуется?
@@ESPArduinoIDE я хочу соединить 3 ESP без роутера, одна выступает как бы в качестве сервера(точки доступа), две другие к ней подключаются, выполняют свою работу раздельно и время от времени нужен обменн данными. Клиент-Сервер, в обе стороны. Только клиента 2 , а сервер один . До этого делал подобное на NRF24, но там возникали проблемы с конектом(видимо изза китайских модулей) могло долго работать адекватно, а могло мозг начинать компостировать и хз в чём проблема была, так и не разобрался. Хочу на ESP попробовать сделать, ни разу до этого с ней не работал.
Ещё вопрос есть по поводу реализации PWM, если вдруг сталкивались , на сколько я понимаю сделать он только програмный возможен, какой частоты максимальной для стабильной работы всего модуля в целом можно добиться?
Посмотрите примеры библиотеки. github.com/gmag11/painlessMesh Если вам не нужен web интерфейс самое то!
@@ESPArduinoIDE Спасибо, посмотрю.
До просмотра ваших видео, думал что веб интерфейс ненужен хДДД Сейчас думаю почему бы и нет, довольно удобно со смартфона мониторить, управлять, но в целом больше как опция, для моей задачи он не особо нужен, там функционал не такой большой, что бы слишком сильно парится.
Все супер, но ваш сайт недоступен. Я создал ползунок (0-255) для отправки данных на есп через "action": который в свою очередь должен управлять димером и в реальном времени. Записав значение в json с вэб и считав их есп, димер отрабатывает, и теперь что-бы все подключенные девайсы обновили положение бегунка мне нужно воспользоваться websocket? Как заставить обновить "state" в реальном времени без перезагрузки страницы? AJAX or websocket?
Отправить значение этого параметра в websocket как любые данные в примере.
@@ESPArduinoIDE здравствуйте.
А новое будет?
на скетч ссылка на сайте нерабочая
Интересно было бы глянуть как сделать сеть модулей, чтобы один был сервером, а остальные клиентами. Чтобы управлять всем через один модуль, а не подключатся к каждому по отдельности.
Обычно все путают понятие Сервер Клиент. Напишите как вы видите работу модулей и что хотите передавать и куда.
Я имею ввиду центральный модуль на который стекаться вся информация с дочерних модулей с возможностью посылать команды управления подключенным модулям. В свою очередь, центральный модуль подключен в интернет по MQTT. Я это все к тому, что на некоторых MQTT серверах есть ограничение на количество подключений.
@@SergeyBelotserkovskiy , Вам вероятно, стоит разделить "систему" на клиенты-собирающие информацию на сервер. Он будет сохранять и обрабатывать данные (БД, файлы, сейчас не важно) и на вероятно (опционально) отдельном веб-сервере будет крутиться уже "представление". Как вариант - веб сервер.
Когда будет урок по приему данных сокета. Хотелоь-бы увидеть урок по этой через этот сервис: www.pubnub.com/blog/2015-07-14-basic-iot-publishsubscribe-messaging-for-esp8266/
День добрый! У Вас сайт упал
Спасибо за сообщение! Все починил.
Сайт не доступен
Два нолика убрать после запятой. Обрабатывать в integer что ли...
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 Спасибо!
Печалька друг =
Хмм. Нам не удаётся найти этот сайт.
Мы не можем подключиться к серверу http//esp8266-arduinoide.ru/Если этот адрес корректен, вы можете попробовать выполнить следующие действия:
Повторить попытку позже.
Проверить своё соединение с сетью.
Если вы соединились с Интернетом, но защищены межсетевым экраном, проверьте, что Tor Browser разрешен доступ в Интернет.
Проверяю сайт работает.
@@ESPArduinoIDE Да, видимо временный сбой или у меня трабла быда, сейчас все отлично и да , спасибо =)
Привет