tthRelay - делаем полоумное WiFi реле на ESP8266


Хотите реле которое умеет контролировать нагреватели, холодильники, кондиционеры, увлажнители, осушители, включать электроприборы по расписанию и много чего еще? Тогда прошу под cut…

За $4 вы получите:
— ручной режим, включение/выключение
— по времени от чч: мм до чч: мм
— по температуре (охлаждение/обогрев) с регулируемым гистерезисом и приоритетом по времени от чч до чч
— по влажности (увлажнитель/осушитель) с регулируемым гистерезисом и приоритетом по времени от чч до чч
— поддержка нормально разомкнутого/нормально замкнутого реле
— режим эмуляции кнопки без фиксации, с регулируемым временем нажатия от 150 миллисекунд до 500 миллисекунд и шагом 50 миллисекунд
— поддержка сенсоров AHT1x/AHT2x и HTU2xD/SHT2x/Si70xx
— регистратор температуры и влажности на SPI флэш-память с графиками, до 400 КБ (этого достаточно для хранения годового отчета с шагом 30 минут)
— при выходе из строя датчика, реле переходит в выключенное состояние и рабочими остаются только режим по времени и ручной
— если подключены два датчика с разными адресами и один выходит из строя, то во время перезагрузки второй датчик будет использован автоматически
— hostname WiFi клиента используется в качестве ID реле, в сети может находиться не ограниченное количество реле при условии, что все они имеют разные hostname
— web интерфейс (Bootstrap + jQuery)
— автоматическая синхронизация с NTP серверами или в ручную со временем из браузера
— автоматически переход с летнего на зимнее и обратно

Реле предоставляется «КАК ЕСТЬ» без каких-либо гарантий. Не оставляйте без присмотра. Автор, не несет ни какой ответственности если у вас что-то пошло не так.

Для сборки нам понадобятся:
1. Один модуль на ESP8266. Например WeMos Mini D1 за $1.83
2. Реле на 5в с обвязкой, например Single channel relay module 5v, за $0.54
3. Цифровой датчик температуры и влажности AHT1x/AHT2x или HTU2xD/SHT2x/Si70xx, например AHT10 за $0.97

Качаем мой проект с GitHub и соединяем весть зоопарк по схеме.



Чтобы реле не давало помехи при переключении, питать устройство лучше по топологии звезда (не используя USB порт WeMos Mini D1). У ESP8266 только два нормальных пина ведущих себя адекватно во время загрузки — это GPIO4/D2 и GPIO5/D1. Все остальные меняют свое состояние. Подробно об этом тут. Чтобы предотвратить ложные срабатывания реле, во время старта ESP8266, нужно добавить RC фильтр 680Ом/220мкФ с постоянной времени длиннее чем переходные процессы на GPIO.

Прошиваем ESP8266 с помощью Flash Download Tools. Предварительно выставив:
— SPI speed 80MHz
— SPI Mode QIO
— Flash Size 32Mbit
— поставить галку DoNotChgBin
— адрес для fw_latest.bin 0x00000
— адрес для fs_latest.bin 0x200000



Настройка:
Если вы все сделали правильно, то после прошивки и нажатия reset у вас должна появится новая точка доступа tthRelay. Подключитесь к ней введя пароль 12345678. После удачного подключения введите в браузере 192.168.4.1 и в появившемся окне User name: admin и Password: 12345678.

Базовые настройки Access Point Config, Server Config, Station Config и NTP Config аналогичны прошлому проекту — MatrixClock. Повторяться не буду, читаем там. В конце не забываем нажать на Save и Reboot.

После того как реле подключится к вашему роутеру — WiFi точка доступа tthRelay пропадет. Теперь чтобы попасть в вебморду, на машине с Windows 10, в браузере набираем http://tthRelay.local/. На Android и Win7 используйте IP-адрес реле вместо mDNS. Его можно найти в логах UART на скорости 115200 бит/с или в админке вашего роутера.

Идем в Sensor или Settings -> Sensor Config выбираем тип сенсора, порты и скорость обмена согласно схеме. Жмем Save и Reboot. Внимание — чем выше скорость, тем короче должны быть провода от сенсора до ESP8266. Рекомендуемые частоты 100KHz..400KHz, на очень длинных проводах допускается 10KHz. Учтите, что на низких скоростях датчику приходится работать дольше и он начинает разогревать сам себя искажая результаты.



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



Заходим во вкладку Relay или Settings -> Relay Config выбираем режим — ручной, по времени, по температуре или по влажности. Дальше выбираем время и дни недели для Time mode, желаемую температуру, гистерезис, время для Temperature mode и желаемую влажность, гистерезис, время для Humidity mode. В подменю Advance настраиваем порт к которому подключено реле, полярность сигнала для срабатывания реле, выбираем длительность импульса если нужна эмуляции кнопки без фиксации. Жмем Save и Reboot.




Если нужен журнал с графиками изменения температуры и влажности идем в Settings -> Recorder Config выбираем частоту выборки, жмем Save и Reboot. Максимальный размер журнала 400КБ. Этого достаточно для хранения годового отчета с шагом 30 минут. После его заполнения он автоматический стирается и на его место пишется новый. Для тех кто любит все хранить есть кнопка Backup data. Формат записи очень простой и не является секретом, если будет нужно расскажу.



Для просмотра графиков кликаем на Settings -> Recorder Data



Данная прошивка также должна работать на Sonoff Basic R1 (первой ревизии) и Sonoff TH10/TH16 с сенсором Si7021. С небольшой доработкой можно использовать WiFi Relay module на ESP-01S. Нужно заменить флеш с 1МВ на 4МБ и добавить RC фильтр. Как и куда подключать датчик смотри readme на Github.



Внимание: Для ускорения работы сервера, в проекте используются очень агрессивны настройки кеширования HTML и JavaScript. Браузер только первый раз читает эти файлы с tthRelay и сохраняет себе в кеш. Про последующие обновление fs_latest.bin он ничего не знает и вместо новых HTML и JavaScript, с вероятностью 100%, будет тянуть старые из кеша. Обязательно чистите кеш после обновления файловой системы.

UDP: Где исходники? Их не будет. Есть только скомпилированные бинарники. Лицензия arduino (именно в ней написан проект) позволяет не открывать исходный код. То что я сам у себя своровал библиотеки HTU2xD_SHT2x_Si70xx и AHTxx принято к сведению и виновные будут наказаны.

UDP: Полоумное WiFi реле ч.2 — тут.
Планирую купить +98 Добавить в избранное +92 +193
+
avatar
+31
спрошу первым. :)
Исходный код недоступен? Только бинарники?
+
avatar
  • diz
  • 20 ноября 2021, 11:33
+23
Тоже удивился. Гитхаб предполагает публикацию исходников, а тут бинарники и всё
+
avatar
+8
Думал, поумничаю, напишу что ТСже дал линк на Гитхаб, там все должно быть… А оно вон как обернулось. ))
+
avatar
  • AlexA42
  • 20 ноября 2021, 11:47
+33
Автор не желает показывать исходники:
+
avatar
  • jenya
  • 20 ноября 2021, 11:48
+52
И не первый раз — можно закапывать…
+
avatar
+47
Русский DIY, бессмысленный и беспощадный.
+
avatar
  • SEG
  • 20 ноября 2021, 16:09
+7
Это вы просто китайский с индусским мало видели. Вот уж где от беспощадности и паяльником не отмахаться.

ПМСМ, данное поделие, скорее относится к банальному школьному уровню DIY.
+
avatar
+21
Да осмысленный он, но жлобский.
+
avatar
+7
Вот есть к меня мысль изучить микроконтроллеры и подрабатывать продажей самоделок. В качестве рекламы выкладывать схемы и готовую прошивку. Кто захочет — сам сделает. Расскажите, что не так в этой идее.
По поводу «жлобский» — у нас вроде коммунизм ещё не наступил. Я за социализм (это первый этап на пути к коммунизму). Что, будем вместе социализм строить? Как построим, так авторские права все и отменим. Я просто не представляю, почему в действующей системе простой инженер не может подработать такими же методами, как какой-нибудь мелкий предприниматель.
+
avatar
+7
Ты сначала заработай что-нибудь. Автор ничего на этом не заработает, его самоделки никто не повторит. Утверждение «китайцы скопируют» противоречит утверждению «кому надо, тот сам сделает». Ну или тут попахивает рассизмом. Что до меня, то у меня чисто шкурный праздный академический интерес. Само умное реле мне нафиг не нужно, повторять или создавать свое с нуля я никогда не буду. Ну а полистать исходники на досуге и забыть про них через час мне было бы интересно.
+
avatar
+3
Печально, что Вы ответили не на мои вопросы, а повторили то, что другие тут уже в комментах написали по несколько раз.
+
avatar
0
Я вижу у вас, товарищ, только один знак вопроса в комменте. Ответ — НЕТ. Вместе социализм строить не будем. А вообще, не стоит печалиться на мой счёт.
+
avatar
  • PvlKi
  • 22 ноября 2021, 00:33
+8
Давай я тебе расскажу «что не так в этой идее», основываясь на многолетнем практическом опыте подобной ерунды:
1. Конкурировать с готовыми решениями невозможно ни по цене, ни по качеству. Разве что найти то, что ещё никто не делает (и следовательно это почти никому не нужно).
2. Платёжеспособного спроса почти нет. Те у кого лишние деньги — таким не интересуются или доплатят пару сотен за фирму и позолоченный корпус из титана. Те кому интересно — сделают своё, а не будут копаться в чужих схемах и софте.
3. Ты не можешь давать гарантию, не имея оборотов и не изучив статистику и не разнеся продавца и изготовителя в разные фирмы, иначе тебя или будут кидать или будут портить репутацию.

А исходный код скрывают обычно из-за стыда, что написан не по-модному и тестами не покрыт.
+
avatar
  • sav1812
  • 22 ноября 2021, 04:57
+2
А исходный код скрывают обычно из-за стыда, что написан не по-модному и тестами не покрыт.
А так же по множеству других, совершенно разных причин…
+
avatar
  • ABATAPA
  • 22 ноября 2021, 08:51
+1
Конкурировать с готовыми решениями невозможно ни по цене, ни по качеству.
+
avatar
+2
Впрочем, в DIY проектах зачастую весь код «индийский», т. к. делается ad hoc лишь бы работало. Зачастую это оправдано, т.к. в противном случае проект рискует никогда не завершиться, а еще надо куда-то жить.
+
avatar
+2
Вот есть к меня мысль изучить микроконтроллеры и подрабатывать продажей самоделок.
Если кратко, то схема такая: С каждой бабки по 10 копеек, 10 бабулек — рубль.
+
avatar
  • kvolk
  • 20 ноября 2021, 19:19
+8
Да, как бы и не обязан. Это его право. Тут две стороны медали: откроешь код — сразу найдутся копипасты, не откроешь — камнями закидают, скажут что шпионишь, трояны там в прошивке. Проходили уже такое, знаем.
+
avatar
  • ABATAPA
  • 20 ноября 2021, 21:50
+24
сразу найдутся копипасты
А то вот он без «копипастов» обошёлся, ага. И без библиотек. И ещё неизвестно, какие лицензии этих библиотек и заимствованного кода он нарушил.
+
avatar
0
А вы свечу держали? Откуда вы знаете, что человек делал?

Я кучу своих библиотек написал по datasheet-ам, прикиньте? Ибо это проще, чем разбирать то, что вкладывают (а там часто такое бывает, что тошнить начинает) + это надежней, ибо следуешь сам спеке и понимаешь чем жертвуешь, а чем нет.
+
avatar
+7
Именно так — пишу драйвера сам. Это быстрее и надёжнее и интереснее.
+
avatar
  • Naevus
  • 21 ноября 2021, 07:54
+13
Именно поэтому хочется открытого проекта. Не потому, что буду копировать и продавать (интересно — кто мешает продавать бинарник?) не потому что горю желание высмеять стиль автора (он еще мой стиль не видел). А просто потому что, например, у меня уже есть три программы (это что навскидку вспомнил) которые не поддерживаются авторами. У одной автор умер и программа со временем стала не актуальной. Две другие просто стали авторам не актуальными или обременительными (при том обе с легальными лицензиями)…
+
avatar
  • sav1812
  • 21 ноября 2021, 09:31
+1
А чем в этом плане массовому потребителю помогут исходники?
Всё равно ведь абсолютное большинство в них либо совсем не полезет, либо ради косметических изменений, без которых вполне можно обойтись. А те, кто в состоянии написать ПО сам — сам это и сделает, скорее всего. И не из боязни каких-то там «закладок», а просто потому, что может это сделать и хочет свой функционал.
+
avatar
  • Naevus
  • 21 ноября 2021, 09:57
+7
Один из трех «умерших» проектов жив до сих пор благодаря энтузиастам, которые поддерживают его через внешние костыли. А был бы проект открытый — программа бы жила не как инвалид в коме.
Собственно вы тоже в чем то правы. Тот же проект, надеюсь, в ближайшем будущем избавиться от трупа и станет самостоятельным… Вот только времени на это уже ушло несколько лет.
+
avatar
  • sav1812
  • 21 ноября 2021, 09:58
-5
+
avatar
  • Naevus
  • 21 ноября 2021, 10:08
+11
вы подменяете причину и следствие :) Если проект никому не нужен — он сдохнет независимо от открытости (знаю по своим проектам :) )
Если проект нужен, после смерти его будут реанимировать или пытаться заменить. Вот только реанимация открытого проекта пройдет гораздо безболезненнее.
+
avatar
  • sav1812
  • 21 ноября 2021, 10:23
-9
+
avatar
+1
Мне, например, исходники как раз и интересны тем, что я для своих домашне-хоббийных поделок для души (которые зачастую не имеют практического смысла, просто посмотреть, поколдовать и забросить в долгий ящик) не готов тратить кучу времени на написание кода. Поэтому очень часто проще скопипастить кусок кода и не заморачиваться. Да и действительно, зачем мне устройство один в один? Это должно быть что-то из разряда «вау! то, что я хотел!», но, опять же, чаще всего это не так. Любой DIY без напильника и термосоплей не обходится никогда. Даже если копировать 1:1.
+
avatar
  • sav1812
  • 25 ноября 2021, 03:11
+1
не готов тратить кучу времени на написание кода
Ну так как по мне, так если не готов — то и не пиши! :)
Никто же не заставляет. ;)

Я, вообще-то говоря, о том, что и Вашего «очень часто проще скопипастить кусок кода и не заморачиваться» — вполне понятного и естественного, к слову — никак не следует, что авторы кода обязаны и должны его выкладывать в публичный доступ. А из комментариев значительной части требующих этого именно такой посыл и звучит: «Мне надо, хочется — поэтому он должен!».

А «он» — не должен. :) Никому и ничего…

Поэтому если поделился автор кодом — скажите дяде спасибо и пользуйтесь подарком, в меру своих потребностей и возможностей. А не поделился — тоже скажите спасибо: мало ли от какого ужаса он вас тем самым избавил ;) :)) — и пишите свой код. Ну или не пишите — вы же все тоже ничего и никому не должны и не обязаны… :)

А требовать — не имеете права. Ни от кого и ничего.
До тех пор, пока не наняли его для написания кода за очень дополнительное вознаграждение, во всяком случае. :)
+
avatar
+1
А «он» — не должен. :) Никому и ничего…
Дык я и не говорю, что «должен». И не призываю к этому. Но они были бы очень полезны во всех смыслах. И не только мне. Если проект не коммерческий, так это только наоборот поможет, в т.ч. и автору, т.к. всегда найдутся более знающие люди, которые помогут в исправлении ошибок и развитии. Ну, а если проект никому не нужен, то и выкладка исходников ничего не решит))

так если не готов — то и не пиши!
Если следовать этому принципу, то вообще проще тогда ничего не делать) На то оно и хобби, что делается исключительно в свободное время. Иначе это уже работа))
+
avatar
  • sav1812
  • 25 ноября 2021, 04:12
+4
Дык я и не говорю, что «должен». И не призываю к этому.
Так я и не о Вас. :)
Вы-то как раз не «давите»…
Я о «группе товарищей», минусующих меня и других, которые явно считают, что автор просто обязан им предоставить исходники… :))
А если бы выложил — были бы недовольны качеством кода, функционалом, ещё чем-нибудь. Есть такая категория людей, которым все должны, и все всё и всегда делают «не так». По их мнению… ;) :)))

Если проект не коммерческий, так это только наоборот поможет, в т.ч. и автору,
Автор свои причины «сокрытия» исходников объяснил и я его понимаю. Его право, в общем-то.

т.к. всегда найдутся более знающие люди, которые помогут в исправлении ошибок и развитии.
Или «хор мальчиков»-хейтеров, что случается гораздо чаще. Достаточно почитать комментарии здесь… :)

Если следовать этому принципу, то вообще проще тогда ничего не делать) На то оно и хобби, что делается исключительно в свободное время.
Хобби — это любимое занятие, то, что человек делает «для души», ради удовлетворения своих личных потребностей в творчестве, в познании, и т.п. Это то, что делается самостоятельно, «для себя», своими руками и только тогда, когда человек хочет делать именно это. :)

Так что да, не хочешь — не пиши. Хочешь — пиши сам. И удовлетворение от сделанного получишь, и свой уровень знаний повысишь, и опыт приобретёшь. Но всё это только от самостоятельной работы, а не от бездумного «копипаста», которым страдают — а может, и наслаждаются ;) :))) — многие «ардуинщики»…

«Я так думаю!» © :)
+
avatar
+1
Или «хор мальчиков»-хейтеров
Хейтеры есть в любой публичной деятельности… К сожалению… Их наличие надо просто принять, как неизбежное.

Вся суть в одной картинке


Хобби — это любимое занятие
Таки да. Но скорость разработки тоже решает) Ходить по граблям тоже иногда полезно, особенно, если каждый удар граблями не отдаёт звонким гулом в пустой голове. А «бездумная копипаста» позволяет быстрее сделать прототип и понять, а надо ли оно вообще… Но, как мне кажется, тем самым «ардуинщикам» (которым я тоже люблю побыть) хватает и бинарников и более-менее понятной инструкции по установке)) Но это не точно))

«Я так думаю!» © :)
+1 =)
+
avatar
  • sav1812
  • 25 ноября 2021, 12:15
+1
Их наличие надо просто принять, как неизбежное.
Не-не-не, не надо! :))

Но скорость разработки тоже решает
Ну какая может быть «скорость разработки», если мы всё ещё о хобби?? :) А как же получать удовольствие от процесса? ;)

По опыту: если вместо бездумной «копипасты» почитать документацию и разобраться в задаче самостоятельно — это повышает дальнейшую скорость разработки куда лучше и надёжнее копирования чужих решений без понимания их сути.

И потом, разве самостоятельное освоение «предмета» в процессе решения своей задачи — это не часть удовлетворения, получаемого от хобби? ;) :))

А «бездумная копипаста» позволяет быстрее сделать прототип и понять, а надо ли оно вообще…
Возможно, это очень индивидуально. Мне вот для понимания (не)нужности реализации моих идей вполне достаточно, чтобы «прототип» «заработал» в моей голове… :)

Но, как мне кажется, тем самым «ардуинщикам» (которым я тоже люблю побыть) хватает и бинарников и более-менее понятной инструкции по установке)) Но это не точно))
Большинству хватило бы, если бы и собрал «прототип» для них кто-то другой… ;) :)))
+
avatar
+2
Так бы производителей компьютерного железа обязать драйвера под новые ОС писать. Жалко как-то, что рабочее железо из-за этого использовать нельзя. А ведь за железо деньги плачены.
+
avatar
  • tirarex
  • 20 ноября 2021, 12:08
+2
А зачем вам исходники? Есть нормальные открытые прошивки с расширенным функционалом, написать свою прошивку тоже не проблема, функционал тут супер банальный и от части бесполезный, а тот кто не может написать прошивку, не будет брать закрытую нонейм прошивку, когда на рынке куча готовых коробочных решений за цену сборки сабжа.
+
avatar
  • sav13
  • 20 ноября 2021, 12:51
+16
Может быть автору стыдно исходники выкладывать?
Код то разный бывает…

Есть масса свободных прошивок с неплохим коммунити. Тот же блинк, например
+
avatar
  • userman
  • 20 ноября 2021, 17:54
0
Blink другой, много зависит от сервера, tasmata, espeasy мне больше нравятся.
А народец накинулся на автора, «Самый умный что ли?». Всегда удивляюсь этому стадному инстинкту самосохранения.
+
avatar
  • makmini
  • 20 ноября 2021, 23:38
-1
кстати ваш проект.вентиляция в ванной комнате, работает до сих пор)
правда вы его забросили…
+
avatar
  • sav13
  • 21 ноября 2021, 14:52
+2
Почему забросил?
У меня последняя версия трудится на ESP32, что-то передает в мажордомо и всех устраивает
Но ничего принципиально нового там нет, так что статьи про это не пишу
Код на гитхаб могу выложить
+
avatar
  • VIB
  • 21 ноября 2021, 19:19
+2
Получается, что девайс, потенциально опасный в случае взлома, идет с тривиальным паролем, который нельзя поправить.
+
avatar
0
Все пароли меняются, смотрите как в моем предыдущем обзоре. Но надо помнить что все идёт по http те без шифрования.
+
avatar
  • Mplus
  • 20 ноября 2021, 11:18
+14
Зачем городить огород устройств, если есть готовые модули, например: https://aliexpress.ru/item/item/1005001289929458.html

Есть от 1 до 8 реле и питания от 220 и 5 и 12в
+
avatar
  • DrBOBAH
  • 20 ноября 2021, 11:48
+8
я вот тоже не понял, зачем такие сложности. я беру сонофф и прошиваю 1MSmartfon
+
avatar
+2
Есть ещё такой проект. Homes-smarT Правда расширенная версия за небольшую плату, но есть неплохой функционал и бесплатно. Есть Конструктор прошивок.
+
avatar
  • starson
  • 20 ноября 2021, 15:18
+4
Кому-то хочется повозиться с паяльником и программатором.
Если сильно хочется, почему бы и нет
+
avatar
+6
Согласен с вами. Остаётся тогда непонятным, зачем делать своё, чтобы потом прошивать это чужой прошивкой не имея возможности посмотреть исходники.
+
avatar
  • sav1812
  • 20 ноября 2021, 23:45
+1
Зачем городить огород устройств, если есть готовые модули
А зачем жить, если всё равно умрём?..

P.S. Кому-то просто «поскорее купить, воткнуть и забыть/забить», а кто-то склонен к творчеству или, как тот же я :), «наелся» уже «готового»…
+
avatar
  • ne4eHer
  • 20 ноября 2021, 12:18
+12
полоумный (разг.) — Сумасшедший, слабоумный, а также подобный сумасшедшему, безрассудный.
+
avatar
+2
я вот тоже не понял, что хотел сказать автор заголовком
+
avatar
+14
Он хотел выпендриться. Очевидно же.
+
avatar
+9
Узнал новое слово, и чванится им. Видно же что чванится.
Ему говорят «ну что ты чванишься?», а он чванится.
+
avatar
  • Phanex
  • 21 ноября 2021, 11:04
+5
Ну не знаю, шутка насчёт «умного»->«не совсем умного, а только наполовину, полу-умного» ->«полоумного» реле мне показалась очень остроумной.
+
avatar
-1
Слишком уж своеобразный юмор.
+
avatar
  • sav1812
  • 20 ноября 2021, 23:46
+2
Не знаю, что хотел этим сказать автор, но вот мне эта характеристика псевдо-«умных» устройств прямо на сердце легла, так она хорошо отражает уровень их «умности»… :))
+
avatar
  • sdivt
  • 20 ноября 2021, 12:19
+6
Теперь я знаю, как называть многочисленные вариации а-ля «smart»-часов
Полоумные часы!))
+
avatar
  • sav1812
  • 21 ноября 2021, 11:13
+2
Недоумки… ;) :))
+
avatar
+8
За самоотверженное упорство — респект и «плюс».
В качестве «преодолеть себя» — достойно и вызывает уважение.

Но, действительно, существует масса проектов, которые не менее похожи на «mass market решение», при том допускают развитие в виде централизованного управления, когда их самодостаточность перестанет быть преимуществом для пользователя.
Первое, что приходжит в голову — Blynk, Tasmota, ESPHome — которые вполне самодостаточны и универсальны, но могут стать частью полоумного дома. Например, Home Assistans.
+
avatar
  • sav13
  • 20 ноября 2021, 12:53
0
ESP32-S2 кто-то ковыряет?
Скоро приедет плата и несколько модулей. Буду осваивать.
+
avatar
0
Tasmota есть под ESP-32
+
avatar
  • m13ale
  • 20 ноября 2021, 13:03
+6
Ачо, реле в секунды не умеет? Мне надо помпу на 30сек включать, а все заводские розетки, что видел — имеют шаг настройки в 1 минуту. И как насчет функционала астрономического реле? Если уж лепить колхоз полоумный, то он должен уметь всё!
+
avatar
0
Самый простой способ, вкорячить ещё одно ведомое реле на 30 секунд. )
+
avatar
-12
+
avatar
+15
Реле писалось под себя и мне такие интервалы были не нужны.
Отчасти потому просят исходники.
Кто захочет барыжить опенсорсем будет шить бинарниками и барыжить. Если есть желание накидаю ссылок на такое поведение.
А вот тех кто захочет изменить функционал под себя отсутствик кода отсеивает. :(
+
avatar
-8
+
avatar
+2
Вы так говорите как будто вы целую ОС написали, кому оно надо такое красть?
Великое блин достижение что даже примитивные исходники зажали людям готовым поддержать идею и развить функционал.
+
avatar
  • sav1812
  • 25 ноября 2021, 14:53
-5
+
avatar
+1
Давайте, накидайте ссылок на барыжащих опенсорсем. Я вот думаю изучить МК и колымить потихоньку. Как это лучше сделать?
+
avatar
  • sav1812
  • 21 ноября 2021, 15:15
-7
+
avatar
+7
отсутствие знаний. Подправить в готовом проекте под себя- это одно, а написать с ноля- совсем другое
+
avatar
-8
+
avatar
  • sav1812
  • 22 ноября 2021, 04:54
-7
+
avatar
+6
Как бы это странно не звучало далеко не факт. Я вот например довольно давно поддерживаю и модифицирую большой китайский(!) проект на vue не только не будучи в состоянии написать его с нуля, но и вообще даже не зная языка программирования на котором он написан (разбираюсь на ходу по мере необходимости). Во делов то подивиться очередному выверту дивного синтаксиса и подправить его под себя.

Но тут одно «но», чтобы это работало у вас должен быть большой опыт программирования на других языках.
+
avatar
  • sav1812
  • 22 ноября 2021, 10:03
0
Вот именно. У Вас уже есть упомянутый мной уровень знаний и опыта.
И с ним Вам уже не особо важен язык проекта, в котором Вы, как тут выражаются, «ковыряетесь» — Вы всё осваиваете по ходу дела, используя уже имеющиеся знания и опыт.

А как Вы думаете — много ли такого «большого опыта» у большинства тех, кто упрекает автора в «утаивании» его кода?..
+
avatar
  • Z2K
  • 22 ноября 2021, 14:00
+1
«окажетесь не в состоянии внести правки в уже существующий:» — поменять GPOI не получится? Проще переписать с нуля чем разбираться? Хороший проект :)
+
avatar
  • sav1812
  • 22 ноября 2021, 14:15
-2
Попробуйте читать то, на что отвечаете.
+
avatar
  • val_sav
  • 21 ноября 2021, 00:55
0
Сами реле действительно все с дискретностью 1мин в настройках интервалов. Зато сценарий у них может секунды. Я так цветы поливаю. 10 сек раз в сутки.
+
avatar
0
Есть крутой проект полива (не мой). автор пришёл к выводу что все тлен. Сейчас от выдает по150мл на растение и все пучком.
+
avatar
  • val_sav
  • 21 ноября 2021, 12:23
+4
Есть простой проект когда мы берем умную розетку за 500р и бачок омывателя с моторчиком от газели. И все
+
avatar
  • Aostspb
  • 23 ноября 2021, 11:35
-2
Есть простой проект когда мы берем умную розетку за 500р и бачок омывателя с моторчиком от газели.
Коллекторный «моторчик от газели» — не расчитан на длительную работу. Тут лучше использовать «бесщеточные» решения «для аквариумов»…
+
avatar
  • val_sav
  • 23 ноября 2021, 19:17
+1
Где тут долгая работа?
Мы даже обсуждаем секундные!!! интервалы.
У меня 10 сек в сутки включается да еще и на 5вольт.
+
avatar
  • Aostspb
  • 24 ноября 2021, 10:26
-1
Мое дело: предупредить. У меня уже два коллекторных насоса сдохли из-за попадания воды внутрь…
+
avatar
  • val_sav
  • 24 ноября 2021, 11:08
0
ну прекратите.
Бочонок Газели стоит в Газели в подкапотном
Там везде вода
+
avatar
-25
+
avatar
  • AddWin
  • 20 ноября 2021, 15:26
+47
Может, конечно, я излишне параною. Но юзать чёрный ящик от непонятно кого, который знает настройки твоего роутера, и сам ходит в интернет — это как-то неправильно. Что это вещь в себе, без развития — уже вторично.
+
avatar
-23
+
avatar
+13
чувствительные данные никуда не передаются. даже в uart логах пароли не выводятся.
«Мамой клянусь!», да?
+
avatar
-1
«Мамой клянусь!», да?
Умный, да? :D

Дизассемблер в руки и вперед, благо асм у ESPшки простой — не STM да и прошивка небольшая.

А потом ждем здесь — поделитесь с общественностью аудитом.
+
avatar
  • sav1812
  • 20 ноября 2021, 23:50
+9
Дизассемблер в руки и вперед
Нечасто встречается такая доброта… :))
+
avatar
-1
UEFI перепиши под себя. И прошивки всех своих устройств с WiFi.
+
avatar
0
Может, конечно, я излишне параною. Но юзать чёрный ящик от непонятно кого, который знает настройки твоего роутера, и сам ходит в интернет — это как-то неправильно.
Не юзайте.

Открытых, альтернативных решений — полно. Но там солянка.

Не хотите солянки — разбираетесь, пишете свое, выкладываете сюда )
И всем хорошо.
+
avatar
  • AddWin
  • 21 ноября 2021, 00:36
+3
Своё и работает. Причем, давно. Esp8266 — далеко не новый микроконтроллер.
+
avatar
  • sav1812
  • 20 ноября 2021, 23:48
+3
Не троллинга ради — просто интересно: а исходники прошивки ESP у Вас есть? ;)
И как? Где Ваша паранойя по этому поводу? ;) :))
+
avatar
  • tklim
  • 21 ноября 2021, 13:04
0
Троллинга, таки.
что такое
исходники прошивки ESP
?
+
avatar
  • sav1812
  • 21 ноября 2021, 13:32
-2
Троллинга, таки.
Обоснуете? Или по себе судите? :)

что такое

исходники прошивки ESP
?
Вы серьёзно?? :))))

Ну, хорошо. Вот используемый автором ESP8266. Читайте. :)
+
avatar
  • DeeZ
  • 21 ноября 2021, 11:50
+9
Респект за скилы. но проектов с функционалом куда более богатым полно. Та же Тасмота


Надеюсь что понимаете что говна вам накидали не за плохой проект а за закрытость :)
Удачи в разработке.
+
avatar
-4
Все понимаю и не осуждаю. Сам таким был таким ещё n- лет назад.
+
avatar
  • SubOm
  • 20 ноября 2021, 14:05
+1
Ко всему перечисленному можно еще добавить беспeребойное питание, если подцепить доработанный Battery Shield. Правда там будут пульсации в пределах 50-150мВ, не знаю будет ли это критично для работы датчиков:

+
avatar
0
А есть такая же только с перламутровыми пуговицами с экранчиком и управлением?
Что бы получить полноценный термостат для тех же тёплых полов, но без обязательной привязки к компу.
+
avatar
0
для это есть пару проектов на Github в 100500 раз лучше моего. Например HASPone и его форк openHASP.
+
avatar
  • xvoland
  • 20 ноября 2021, 14:21
+1
«полоумное WiFi реле»?
Полоумное, в смысле — сумасшедшее? Оно, даже, произвольно не включается/выключается :(
+
avatar
  • linkar
  • 20 ноября 2021, 15:50
+4
Полоумное, в смысле — сумасшедшее? Оно, даже, произвольно не включается/выключается :(
Оно дожидается, пока хозяин уходит из дома и включает чайник на обогрев всего помещения, первые 20 минут даже с паром.
+
avatar
-4
пока на 100% обкатан только режим осушителя (работает уже 2 недели) и пару раз пользовался режимом по времени и ручным. хоть код охлаждения/обогрева на 99.9% идентичен коду осушителя — все может быть. уж очень все сильно переплетено и из опыта знаю, что баг может прилететь отовсюду.

поэтому повторю:
Реле предоставляется «КАК ЕСТЬ» без каких-либо гарантий. Не оставляйте без присмотра. Автор, не несет ни какой ответственности если у вас что-то пошло не так.
+
avatar
  • Aahz
  • 20 ноября 2021, 17:52
+6
Может кому интересно будет:
Проект таймера на ардуине под esp8266 с расписаниями. Есть исходники.
www.instructables.com/ESP8266-01-IoT-Smart-Timer-for-Home-Automation/
+
avatar
  • adzus
  • 20 ноября 2021, 18:46
+5
Китайские модули с синими реле крайне говеного качества, коммутировать ЭТИМ нагрузку 230В, тем более мощную, крайне стремная и опасная затея.
+
avatar
  • et2000
  • 20 ноября 2021, 18:53
+1
Какие можете предложить не китайские реле в качестве альтернативы?
+
avatar
+6
Можно поставить на реальную нагрузку контактор. А «синим» реле только управлять.
+
avatar
0
finder, te connectivity, relpol, ну и шнайдеры, абб, сименсы и прочие туда же (хотя в основном им названные в начале производители реле делают)
+
avatar
+3
А твердотельное реле или тиристор задействовать что мешает?
Я уже много лет пользуюсь подобными самоделками дома.
На свет простой SSR(solid state relay) на 2А более чем хватает.
Всё влезает в коробочку 40*40мм.
Управление двумя каналами.
За готовое реле ~80-90₽.
Можно взять модуль с тиристором или спаять самому: дешевле, компактнее, надёжнее.
Но нужны голова, руки и отсутствие лени.

Мои менее функциональные, чем у ТС'а.
Но его — без исходника, а это как любоваться машиной соседа)
+
avatar
+3
Угу, если нагрузка мощная, я сними реле управляю SSR реле. Естественно SSR стоит на радиаторе. Если надо эмулировать нажатие в слаботочных цепях, то отключаю SSR и подключаюсь к кнопке синим реле. Получается довольно универсально.
+
avatar
+1
Автору респект за проделанную работу. Если проект стабильно работающий еще и с архивом данных, то остается Вам только руку пожать за труды. Открытый код и не нужен, как тут многие просят и сокрушаются что его нет. Теперь к просьбам: нельзя ли реализовать в проекте доступ к Веб Морде WiFi реле в двух режимах: Через интернет (например через Телеграмм бота) а при его отсутствии по условию ESP8266 сама бы поднимала свою сеть для получения доступа к Веб серверу. Ну и добавить на веб сервере добавление настроек домашней WiFi сети при включении условия необходимости доступа через интернет. А так автору добра и всем Муськовчанам так же.
+
avatar
0
Немного не понял. Можно подробнее.

Сейчас вебморда доступна из локальной сети роутера. Никто не мешает пробросить ip реле во внешний мир и управлять с любой точки мира. Но помним что протокол http и его слушают все кому не лень.

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

Как только реле подключится с роутеру, то точка доступа пропадает. И появится опять только если связь с роутером пропадает.
+
avatar
0
Да все верно проброс портов этот вопрос снимает. Просто в тексте поста я про это не нашел: вроде как просто написано «Если вы все сделали правильно, то после прошивки и нажатия reset у вас должна появится новая точка доступа tthRelay. Подключитесь к ней введя пароль 12345678.». Как я понял из поста подключаемся на прямую к точке доступа ESP8266 и попадаем на веб интерфейс соответственно. Про то что реле подключается к локальной сети роутера — видимо не внимательно прочитал пост. Извиняюсь…
В общем надо гонять проект в живую и большинство вопросов снимется… пойду достану макетку, датчик AHT10 как раз валяется без дела)
+
avatar
0
Про то что реле подключается к локальной сети роутера — видимо не внимательно прочитал пост.
Про это там ссылка на мой прошлый diy — MatrixClock. У них много общего по базовым настройкам сети и я решил тоже самое второй раз не писать.
+
avatar
  • exeland
  • 21 ноября 2021, 08:27
0
Внешний ip адрес может смениться, всё зависит от провайдера, удобнее использовать mqtt и внешний брокер.
+
avatar
0
Внешний ip адрес может смениться
Почто все роутеры умеют в динднс. Ходи по адресу а не по ип.
+
avatar
+1
Об mqtt подумываю, но пока не разобрался home assistance. Как только его разгадаю то добавлю. Но быстро не ждите.
+
avatar
-5
+
avatar
  • jenya
  • 21 ноября 2021, 01:25
+12
С таким подходом вообще непонятно зачем обзор делался…
+
avatar
  • tklim
  • 21 ноября 2021, 01:48
+9
С какого перепугу кто-то что-то вам обязан выкладывать?
Тем более — исходники? Может у вас и от биоса исходники есть, который вы пользуете?
Или от часов? Или от каких-либо других девайсов?
Все что касается DIY с прошивками без исходников — крайне сомнительная вещь. Даже если проект сам по себе хороший. Потому что только очень малому проценту людей подойдет «как есть». Остальным всегда нужно «на одну кнопочку больше» или «на секунду больше задержка».
Отличный пример — wifi-iot.com/ В свое время это была очень удобная штука, я и сам пользовался и денег не жалко было заплатить (2$ было за лицензию, не знаю как сейчас). Но нет исходников. Нужна какая-то небольшая доработка или багфикс — жди полгода или вообще не жди.

Например я тоже исходники не отдаю, потому что почти все они основаны на моих-же библиотеках, на которые потрачено много сил и времени, а без них исходники будут бесполезны, даже если их открыть.
Это одна из самых частых причин невыкладывания исходников. А еще библиотеки могут быть просто под NDA.
Это что ж у вас там за такие волшебные библиотеки?
Они чем-то лучше чем то что уже выложено?
+
avatar
+1
Из опыта общения, именно те кто больше всех ругает об отсутствии исходников сам ничего не написал и не выложил.
+
avatar
  • tklim
  • 21 ноября 2021, 03:59
+6
А кто-то ругает? (лично я — нет)
Просто, по моему опыту, «выкладывание в массы» подразумевает некоторую ответсвенность за «продукт». И это даже с исходниками не исключает вопросов, типа, «а можете сделать, чтоб 3го мая в 8 утра включалось». Но если продукт действительно хороший, то кто-то сделает «под себя», кто-то пулл-реквестов накидает… ну и дальнейшее развитие.
Переживать, что «украдут» и будут деньги на этом зарабатывать? Серьезно?
+
avatar
  • sav1812
  • 21 ноября 2021, 04:12
+2
«выкладывание в массы» подразумевает некоторую ответсвенность за «продукт»
Ой, да не смешите! :))

И это даже с исходниками не исключает вопросов, типа, «а можете сделать, чтоб 3го мая в 8 утра включалось».
Да ничто и никогда их не исключает. :)

Люди охочи до халявы, поэтому — да, после выкладывания исходников стоит ожидать критики типа «Я не понимаю, почему ты не сделал всё так, как считаю правильным я??» с прозрачными намёками на возможность поработать бесплатно на чужое благо, «допиливая» своё поделие в соответствии с чьими-то представлении «о добре и зле». :))

Но если продукт действительно хороший, то кто-то сделает «под себя», кто-то пулл-реквестов накидает… ну и дальнейшее развитие.
А если человек поделился тем, что сделал, в том объёме, какой он счёл для себя возможным — это что, рубит на корню «творческий порыв и инициативы масс»? :))))

Кому это интересно — и исходники напишет, и схемы перелопатит, и даже выложит всё это во всеобщий доступ, а не просто будет критиковать автора за то, что он, в отличие от большинства, хоть что-то сделал, да ещё и поделился частью сделанного. :)

Дерзайте! Личным примером… ;) :)
+
avatar
  • tklim
  • 21 ноября 2021, 13:02
+2
Ой, да не смешите! :))
Если вы что-то «опенсорсили» или вообще выкладывали результаты вышего труда — поделитесь опытом. Любой «продукт» требует поддержки (если он хоть кому-то интересен)
Люди охочи до халявы, поэтому — да, после выкладывания исходников стоит ожидать критики типа «Я не понимаю, почему ты не сделал всё так, как считаю правильным я??» с прозрачными намёками на возможность поработать бесплатно на чужое благо, «допиливая» своё поделие в соответствии с чьими-то представлении «о добре и зле». :))
(не касается темы конкретного обзора) Но бывает, находишь то что тебе нравится, хочется подправить под себя. Я не хочу лезть к автору с просьбами добавить кнопочку для меня. Есть исходники — ок, поиграюсь.
+
avatar
  • sav1812
  • 21 ноября 2021, 13:44
0
Если вы что-то «опенсорсили» или вообще выкладывали результаты вышего труда — поделитесь опытом
Из OpenSource «в чистом виде» было только небольшое участие в чужих проектах. Своё, так уж сложилось, было «для узкого круга лиц», выкладывать на всеобщее обозрение не было ни необходимости, ни желания, ни, иногда, и возможности.
Но это не означает, что я не знаю, как это устроено и работает на практике. :)
Любой «продукт» требует поддержки
Спасибо, что рассказали. :))

Но бывает, находишь то что тебе нравится, хочется подправить под себя
Бывает, что и находишь, да. Но лично мне обычно хочется «запилить» своё, потому как чужого кода, который бы мне нравился «как есть», я не встречал уже лет с 25, наверное. Это была FORTH-система F-PC от Tom Zimmer, под DOS ещё…

А дальше всё больше самому хотелось писать. :)

Я не хочу лезть к автору с просьбами добавить кнопочку для меня. Есть исходники — ок, поиграюсь.
Ну, здесь их нет — и это право автора. Примите это как данность. :)

Но ведь устройство и его функционал достаточно просты, так что если Вы умеете «поиграться» с чужими исходниками, то почему бы не «сыграть» в своё собственное? ;) :)
+
avatar
+2
Это что ж у вас там за такие волшебные библиотеки?
Они чем-то лучше чем то что уже выложено?
В разы лучше. Потому что написаны чётко по спекам, отлажены и написаны так, что ими реально удобно пользоваться. Если бы вы посмотрели то, что люди выкладывают — то тогда бы и вопросов не возникало. Ну не знаю, посмотрите FastLED, например. Это адский ад. Очень редко правда встречается нормальное, но это, скорее, исключение.

Ибо там обычно:
-дикое и не нужное ооп, или его отсутствие там, где оно нужно
-ужасный код что на с, что на плюсах
-бешенное использование директив компилятора
-мешанина кода без разделения на библиотеки
-реализован лишь кусок функционала
-тайминги на от… сь
-отсутствие обработки ошибок
-работа в цикле (прерывания, дма — не, не слышали)
-неуниверсальность (например, только под конкретный проц)

и тд
+
avatar
  • tklim
  • 21 ноября 2021, 12:40
+7
Вы продоете библиотеки? Нет, просто рассказываю.

В разы лучше.
© Каждый разработчик очередной библиотеки

Если бы вы посмотрели то, что люди выкладывают — то тогда бы и вопросов не возникало.
Смотрел, видел, прекрасно понимаю, что 90% — колхоз. Из нормальных все равно что-то не подходит. По этому, проще написать свое, ибо часто надо всего 1% от фунционала.
Потому что написаны чётко по спекам, отлажены и написаны так, что ими реально удобно пользоваться.
Это коммерческий продукт или «для себя»? «Удобно пользоваться» — сколько пользователей сказали, что им удобно?

Остальные пункты — там все субъективно и противоречиво если смотреть в общем.
+
avatar
+4
Вы продоете библиотеки?
Я продаю продукты, на них основанные.

Это коммерческий продукт
Да, коммерческий. И я, конкретно, занимаюсь именно поддержкой этих библиотек. В команде у нас 17 человек, если считать меня, которые активно ими пользуются.

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

Пишем на C/C++ без каких-либо сторонних оберток.

И не надо за других домысливать — всегда ошибаться будете.

там все субъективно
Если вам больше 20, вы и так знаете, что в жизни, в принципе, все субъективно.)
+
avatar
  • sav1812
  • 21 ноября 2021, 13:46
0
Если вам больше 20, вы и так знаете, что в жизни, в принципе, все субъективно.)
И это объективно… ;) :))
+
avatar
  • tklim
  • 21 ноября 2021, 13:47
0
Да, коммерческий. И я, конкретно, занимаюсь именно поддержкой этих библиотек. В команде у нас 17 человек, если считать меня, которые активно ими пользуются.
Зачем вы сравниваете коммерческий продукт и DIY?
У меня основная работа иногда пересекается с тем что я делаю дома «для себя». Но это два разных мира — по затратам, подходам ну и результатам.
И не надо за других домысливать — всегда ошибаться будете.

Если вам больше 20, вы и так знаете, что в жизни, в принципе, все субъективно.)
домысливать вы тут началали:
Если бы вы посмотрели то, что люди выкладывают
Ну я так понял, вам больше 20, но все ниже перечисленное, если не брать частные плохие примеры — явно юношеский максимализм
-дикое и не нужное ооп, или его отсутствие там, где оно нужно
-ужасный код что на с, что на плюсах
-бешенное использование директив компилятора
-мешанина кода без разделения на библиотеки
-реализован лишь кусок функционала
-тайминги на от… сь
-отсутствие обработки ошибок

-работа в цикле (прерывания, дма — не, не слышали)
-неуниверсальность (например, только под конкретный проц)

+
avatar
+1
Поржал. Удачи вам с открытыми библиотеками.)

Знаете, Марк Твен говорил так: «Никогда не спорьте с дураками, они опустят вас до своего уровня и победят опытом.»

Я не хочу спорить с вами, tklim) Вы абсолютно не понимаете, точнее, не хотите понять, что вам пишут. Смысл тогда?

Считать можете, все что хотите.
+
avatar
  • tklim
  • 21 ноября 2021, 15:13
0
Поржал. Удачи вам с открытыми библиотеками.)
Не пригодится, но спасибо!
Знаете, Марк Твен говорил так: «Никогда не спорьте с дураками, они опустят вас до своего уровня и победят опытом.»
Не знаю, лично не знаком, да и как-то не успел застать. Если у вас есть текст оригинальной цитаты на английском — скажу спасибо, иначе это "© Джейсон Стетхем"

Вы абсолютно не понимаете, точнее, не хотите понять, что вам пишут. Смысл тогда?
Можно мне другого психолога?

Тут про DIY.
Я не поленился и вчера скачал и поставил посмотрел.

1) Имея опыт с ЕСП — потратил полчаса времени «чтоб просто заработало»
2) Не включает реле по кнопкам на странице (ну или пишет что не включило)
3) Интерфейс тупит по 2-3 секунды
+
avatar
+2
Удачи вам обоим с любыми чужими библиотеками в большом коммерческом проекте, причем неважно открытыми или нет. Отдельной удачи после того как их автор решит выкатить какое либо обновление.
+
avatar
0
даже та же дурина позволяет ипользовать конкретную версию библиотеки. Кто мешает использовать библиотеки готового проекта а не обновлять их при каждой сборке?
+
avatar
+1
В одном недавнем кейсе помешал кодемагик который у себя обновил геркиновские тесты и радостно завалил тестирование проекта который у меня дома успешно собирался и тестировался.
Пришлось звать «кавалерию» чтобы она разбиралась с тем что происходит, ведь я использовал «конкретную версию библиотеки» © и у меня все работало как часы.
+
avatar
0
И это конечно проблема именно оттого, что используются чужие библиотеки, да?
+
avatar
  • tklim
  • 22 ноября 2021, 12:42
0
Я где-то писал, что использую «чужие» библиотеки в коммерческом продукте? Уже два раза удачи пожелали в том что я не делаю.
А StainlessSoul — так вообще только за свои собственные библиотеки.
Но тут все отвлеклись от темы. Я так понял, наболевшее — это библиотеки околоардуины для общения с датчиками. С ними все +- понятно. А вот библиотеки парсинга json или xml тоже надо самому изобретать?
+
avatar
  • Z2K
  • 22 ноября 2021, 14:06
0
«вот библиотеки парсинга json или xml тоже надо самому изобретать?»
— irony да, обязательно — каждый должен иметь свои велосипеды и разбитый нос от многочисленного хождения по тем же граблям что другие прошлись — irony :)
+
avatar
+3
конечно обязательно! Вдруг до них дойдет, что 90% их задач по хранению данных на маломощных «ардуинах» можно реализовать вообще без xml и json.
Например банальными struct


struct ClientConfig
{
  time_t lastTime;
  uint16_t lastFile[3]; //
};

ClientConfig cf;


void saveConfig()
{
  EEPROM.writeBytes(0, (void *)&cf, sizeof(ClientConfig));
  EEPROM.commit();
  delay(100);
}
void readConfig()
{
  EEPROM.readBytes(0, (void *)&cf, sizeof(ClientConfig));
}
+
avatar
0
GermanIvanov
Ну вот, взял и все спалил :D
Пусть мучаются.
+
avatar
  • rustamt
  • 22 ноября 2021, 16:22
0
xml/json здесь скорее всего понадобятся не для хранения внутри устройства а например, если нужно слать собранные данные напрямую в какой-то внешний сервис типа elasticsearch или influx, или при работе с какими-то внешними http api.
+
avatar
0
В моем проекте Json используется для обмена между страницами html которые отдаются сервером-esp8266 клиенту (интернет браузеру) и обратно.

Пы.сы. про фишку GermanIvanov не знал. Я не настоящий сварщик.
+
avatar
+1
Если оба сервиса ваши, тогда вместо json могли бы просто строки гонять, не тратя бесценную память на «парсе-шмарсе» json. Держите в качестве простого примера, тут и веб сервер с кодом страниц закомпилированных прямо в коде и страничка гоняющая значение микросекунд между esp и вебом, заодно про интересную фишку 8266 узнаете :)

Пы.сы. про фишку GermanIvanov не знал.
Вы шутите! Это базовый С образца Кернигана и Ричи. :)
Нате тогда еще одну чудо-фишку :) Это конфиг файл на SD карточке. Тоже в пару строк без внешних библиотек.
void processConfigFile()
{
  File f = SD_MMC.open("/config.txt");
  while (f.available())
  {
    i++;
    String s = f.readStringUntil('\n');
    int indx = s.indexOf("=");
    String key = s.substring(0, indx);
    key.trim();
    s.remove(0, indx + 1);
    s.trim();
    if (key == "ble_pause_period")
    {
      mcf.ble_pause_period = atoi(s.c_str());
    }
    else if (key == "ble_work_period")
    {
      mcf.ble_work_period = atoi(s.c_str());
    }
    else if (key == "client_last_activity")
    {
      mcf.client_last_activity = atoi(s.c_str());
    }
  }
  f.close();
}
void makeConfigFile()
{
  File f = SD_MMC.open("/config.txt", FILE_WRITE);
  f.printf("ble_pause_period=%u\n", mcf.ble_pause_period);
  f.printf("ble_work_period=%u\n", mcf.ble_work_period);
  f.printf("client_last_activity=%u\n", mcf.client_last_activity);
  f.flush();
  f.close();
}
+
avatar
-2
Спасибо за чудо-фишку. Тут ничего нового для себя не узнал. Это все умею, но использую не часто. Все эти substring очень тяжело читать и легко ошибиться. В этом плане ArduinoJson намного удобнее.

heap у меня постоянно свободно около 30КБ с фрагметацией 2%, так что не вижу препятствий использовать json.

Имхо считаю — харкодить html страницы в Сишные заголовки — это моветон, костыль и человеческая лень. Да хотя бы потому что после правки страницы нужно весь проект пересобирать. Да и не правильно все это. Вы же творог не из вареников добываете, а наоборот творог в вареники кладёте. Вобщем есть тут какая-то broken logic.

базовый С образца Кернигана и Ричи не читал. Даже не знал что он существует. Я вобще не программист. Писать для себя как хобби начал с 2011. Изучал во сновном читая чужой код с github. Только в 2016 что, то начало получаться и до рос до законченный проектов (tthRelay,
MatrixClock) только в 2020. Все это урывками, в свободное от работы и семьи время.
+
avatar
+3
Все эти substring очень тяжело читать и легко ошибиться.
Как правило все что тяжело делать вам — легко делать процессору, и наоборот. Процессор в ардуинках дохленький. Вы грузите его непосильной ношей.
Да хотя бы потому что после правки страницы нужно весь проект пересобирать.
Это же ардуина! У нее своя специфика. Откуда она по вашему может вообще текст html страницы взять? Вам придется выделять часть памяти под нечто вроде диска, и дополнительно заливать его содержимое в процессе компиляции из папки data. То есть делать два действия вместо одного, попутно подтягивая пару лишних библиотек и все равно пересобирая проект.

>>>Вобщем есть тут какая-то broken logic.
Есть замечательная статья которую следует прочитать всем программистам, как начинающим, так и опытным. Держите :)
Вы — не Google
+
avatar
-2
Прочитал и ваши доводы и статью. Не убедили. Пихать html, json и txt в проект как Сишные заголовки — это моветон и лень матушка.
+
avatar
+1
Сначала был сделан вариант с файловой системой. затем она была выкинута ибо неудобно и неэффективно. Так что это что угодно только не лень :)

Небось файл веб странички как то так читаете?

    File file = SPIFFS.open(path, "r");
    http.streamFile(file, contentType);
    file.close();
 


ps: Главное что, главное чтобы вам самому нравилось. :) ну и действительно код лучше никому не показывать :))
+
avatar
-1
а мне наоборот очень удобно с файловой системой.

почти так читаю.

bool server_fileRead(String path)
{
  /* get file extension from path & convert to MIME type */
  String contentTypeStr = mime::getContentType(path);

  /* check if compressed version of file or file is available */
  if (LittleFS.exists(path + F(".gz")) == true)
  {
    path += F(".gz");
  }
  else if (LittleFS.exists(path) != true)
  {
    Serial.printf_P(PSTR("Oops! file %s not found\n"), path.c_str());

    return false;
  }

  File file = LittleFS.open(path, "r");

  size_t fileSize = file.size();                               //get file size, in bytes

  /* set additional HTTP request headers */
  server_addUserAgentHeader();                                 //add field to header, User-Agent

  if ((path.endsWith(F(".gz")) == true) || (path.endsWith(F(".js")) == true))
  {
    server_addCacheControlHeader(2);                           //add field to header, 2 - always cache on CDN company also always cache for 7 days (for Chrome) or never change (for Firefox)
  }
  else if ((path.endsWith(F(".html")) == true) || (path.endsWith(F(".json")) == true) || (path.endsWith(F(".txt")) == true))
  {
    server_addCacheControlHeader(0);                           //add field to header, 0 - never store on CDN company side, for better logout behaviour 
  }
  else
  {
    server_addCacheControlHeader(2);                           //add field to header, 2 - always cache on CDN company also always cache for 7 days (for Chrome) or never change (for Firefox)       
  }

  uint32_t sendSize = server.streamFile(file, contentTypeStr); //send header 200 - OK, send file with "Content-Length" to client

  file.close();                                                //close file to prevent memory leak

  if (fileSize != sendSize)
  {
    Serial.printf_P(PSTR("Oops! only %u-bytes from %u-bytes transferred, %s\n"), sendSize, fileSize, path.c_str());
  }

  return true;
}
+
avatar
+2
Ну да, все обычно на одном и том же примере базируются. Смотрите вы сначала запихали строку html страницы в виде файла в littlefs. Затем читаете ее оттуда в память и отправляете клиенту.

uint32_t sendSize = server.streamFile(file, contentTypeStr);

Считываете вы строку туда, где у меня она лежит изначально(это не совсем так но опустим)… опять потратив память и потратив время на считывание с сравнительно тормознутой файловой системы. В моем варианте вы просто взяли… и вывели строку клиенту и все!

ps: Что означает R в начале строки с текстом страницы в моем примере предлагаю узнать самостоятельно. :)

String html_1 = R"=====(

pps: Строчки указанные ниже типичный «Я Google». Вы всерьез полагаете что кто то будет коннектится к вашему серверу кроме вашего же сервиса?

String contentTypeStr = mime::getContentType(path);
/* check if compressed version of file or file is available */
if (LittleFS.exists(path + F(".gz")) == true)


Вы не знаете какие страницы собираетесь считывать?
+
avatar
0
Вы не знаете какие страницы собираетесь считывать?
не знаю. я это код использую во всех проектах.

String html_1 = R"=====();
конечно знаю. я же сказал хранить файл тупо во флеше (а не на файловой системе) — это странно. давайте весь win10 так зафлешим. прикиньте какая скорость будет?

Вы всерьез полагаете что кто то будет коннектится к вашему серверу кроме вашего же сервиса?
как говорил один очень толковый инженер с которым я работал — если это может случиться, то рано или поздно это произойдет. я его первый раз не послушал и через год мне прилетело.
+
avatar
+2
не знаю. я это код использую во всех проектах.
А потом народ удивляется почему простейшие задачи так тормозят. А потому что при таком подходе нет простейших задач — любая задача включает все остальные возможные задачи.

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

хранить файл тупо во флеше (а не на файловой системе) — это странно
Было бы странно если бы это был файл, а это ведь обычная тестовая строка. Гляньте исходники своего вебсервера под капотом скорее всего найдете код из моего примера.

давайте весь win10 так зафлешим. прикиньте какая скорость будет?
Думаю очень быстрая, но потребуется много флеши.
+
avatar
0
Гляньте исходники своего вебсервера под капотом скорее всего найдете код из моего примера.
исходники Sream не смотрел, но более чем уверен, что там что-такое как вы описали. понятно что напрямую быстрее, но не удобно.

вы же сами на си пишете? а почему не на asm? вот и мне не удобно.

не понятно зачем, с такими знаниями, вы используете Arduino? писали бы сразу на esp-idf без томозной прокладки
+
avatar
+1
Ну дык и я так начинал, причем относительно недавно. Но наступил на непонятный баг. Все работало некоторое время, циферки резво бегали, а затем все зависало наглухо по таймауту.

Обновишь страничку — опять циферки побежали. и нигде никаких ошибок. 8-(...)

В попытках отыскать причину бага, уменьшил зону поражения, удалив все ненужные либы. Спустился до показанного уровня детализации. и вы знаете, мне там понравилось! :)
+
avatar
  • sav1812
  • 23 ноября 2021, 00:54
0
как говорил один очень толковый инженер с которым я работал
О, так Вы работали с Эдвардом Мерфи?? ;) :))
+
avatar
0
Нет с ним не знаком.
+
avatar
  • ACE
  • 22 ноября 2021, 20:19
+1
Небось файл веб странички как то так читаете?
А так?
#define JS_FILE "/scripts.js"
#define JS_URL "/scripts_6197d7d0.js"
httpServer.serveStatic(JS_URL, SPIFFS, JS_FILE, "max-age=86400");

Хозяйке на заметку:
1) к URLу добавляется рандомное число, тогда после обновления прошивки не надо чистить кэш, а в остальных случаях оно успешно кэшируется. Ну в тексте html надо ссылку обновлять, но это решаемо.
2) библиотеки ардуино ESP в serveStatic автоматически проверяют наличие файла с добавленной ".gz", если есть, то отдают его, указав в HTTP-заголовке сжатие. Т.е файлы в spiffs/littlefs можно сжать совершенно прозрачно.
3) я делал так. Файлы статики добавлены в прошивку, но при её старте скидываются в spiffs, если их там ещё нет или версия обновилась. Да, увеличивает размер прошивки, зато прошивается одним файлом. Но можно обновить только статику. Или только код. И удобно и просто.
+
avatar
0
я делал так. Файлы статики добавлены в прошивку, но при её старте скидываются в spiffs, если их там ещё нет или версия обновилась. Да, увеличивает размер прошивки, зато прошивается одним файлом. Но можно обновить только статику. Или только код. И удобно и просто.

хорошая идея, возьму на заметку. к моем проекту не подойдет — файлы статики много весят и прошивка может не влезть.
+
avatar
+2
>>> а в остальных случаях оно успешно кэшируется.
ниразу с этим проблем не было, ведь при смене прошивки отваливается и вайфай и сервер. Браузерам обычно хватает ума перечитать данные у вновь появившегося после отвала точки доступа сервера.

если есть, то отдают его,
Дык если есть сразу и закодируйте блобом сжатый. Будет и быстро и без потерь памяти. Имхо так лучше.

3) я делал так.
Я тогда как раз и ставил задачей избавиться от файловой системы. Как только понял что вся магия веб сервера это банальное чтение строчек текста из одного места и записи их в другое место.
if (header.indexOf("GET /range") >= 0){
            client.println(String(curRange));
            client.println();
            break;
          } else if (header.indexOf("GET /") >= 0) {
              client.println( header_1 );
              client.println();
              client.println(html_1);
              client.println();
              break;
          }

Если клиент спросил страничку /range — отдай ему строчку со значением(без json или вообще какого либо html),
если спросил / — отдай клиентскую страницу.

Клиентская страница в свою очередь получив от запроса /range строчку с числом выводит ее в div на html странице.

 var value= parseInt(data); 
 document.getElementById('rdm').innerHTML = value;


Все. нет ни json, ни даже либы веб-сервера. Для работы хватает того простейшего что описан в Wifi.h

Правда моих задач это все равно не решило по скорости пришлось уйти на вебсокеты.
+
avatar
0
Все. нет ни json, ни даже либы веб-сервера. Для работы хватает того простейшего что описан в Wifi.h
так можно договориться что и Wifi.h не нужен — сразу в регистры писать, да на ассемблере.
+
avatar
+2
Если бы настолько хорошо знал стек то так бы и сделал. Пока не тяну.
+
avatar
  • ACE
  • 22 ноября 2021, 21:01
0
Браузерам обычно хватает ума перечитать данные у вновь появившегося после отвала точки доступа сервера.
да не может такого быть. Видимо кэширование просто не работало. В вашем примере кэширование не включается, оно и не нужно. Но не может браузер знать, что какой-то IP перестал пинговаться и, тем более, у него нет инфы от роутера, что кто-то там переподключался. Даже если браузер по велению джаваскрипта долбился в страницу /range и она была не доступна, это не повод считать закэшированное неактуальным. Про вай-фай браузер тоже ничего не знает, ну только «есть инет/нет инета». У меня такая проблема точно была, как на мобильных, так и на десктопных браузерах. C CSS файлом, как минимум.
Дык если есть сразу и закодируйте блобом сжатый. Будет и быстро и без потерь памяти. Имхо так лучше.
Да тоже самое. Скорость вообще не заметно, память занимает только если временно, во время обработки, не жалко. А плюсы есть. В том числе и gzip сжатие, возможность обновлять только статику без полной перепрошивки при отладке (банально быстрее).
В вашем примере на одну страницу — это хорошо работает, но в проекте покрупнее уже все-таки лучше с либой веб-сервера, а не изобретать велосипед с риском получить несовместимость с каким-либо браузером. А то придётся разбирать POST запросы и т.д.
Да, у каждой задачи свои оптимальные решения, спорить не буду. Просто предложил ещё один вариант.
+
avatar
0
Видимо кэширование просто не работало.
скорее всего

В вашем примере на одну страницу — это хорошо работает, но в проекте покрупнее уже все-таки лучше с либой веб-сервера, а не изобретать велосипед с риском получить несовместимость с каким-либо браузером. А то придётся разбирать POST запросы и т.д.
Да, у каждой задачи свои оптимальные решения, спорить не буду. Просто предложил ещё один вариант.
вот именно это и хотел донести, но знаний не хватило
+
avatar
0
Но не может браузер знать, что какой-то IP перестал пинговаться
В моем проекте он его опрашивает 10 раз в секунду и выводит результат на страницу. Да и коннектится напрямую (или находится с ним в одной локальной сети), Это был нечто вроде прототипа специфичного лазерного дальномера на vl503. :)
давно это было, но насколько помню ошибки были разные при отвале Wifi и не отвечающем сервисе. в одном случае таймаут, а во втором что то про DNS или протоколы вроде.

но в проекте покрупнее уже все-таки лучше с либой веб-сервера
Возможно. Каждой задаче свое решение. Но имхо такие проекты лучше решать не на ESP. И окончательный релиз я бы довел до указанного состояния. Хотя и там я во многих местах схалявил — это ж прототип :)
+
avatar
  • ACE
  • 22 ноября 2021, 21:27
0
Возможно. Каждой задаче свое решение. Но имхо такие проекты лучше решать не на ESP.
У меня проект как раз таки близкий к этому реле. Полоумные шторы. Но все эти интеграции с умными домами (что-то нужно мне, что-то просят люди) требуют и веб-сервер, и веб-клиент, dns-сервер для captive portal, NTP-время, MQTT и JSON с XML. Благо последние два достаточно генерить, а не парсить, так что без либ. А вот MQTT взял либу, так проще. Правда, пришлось повыбирать из нескольких вариантов. Но esp8266 в самый раз.
+
avatar
0
А на какой либе mqtt остановились в итоге?
+
avatar
  • ACE
  • 22 ноября 2021, 21:44
+1
PubSubClient (от Nicholas O'Leary, а то есть с таким же названием других авторов). Одна из самых популярных, судя по беглому поиску в гугле. В исходники особо не лазил, по факту оказалась беспроблемной, пока не натыкался на какие-либо глюки, в моём сценарии использования.
А вот от adafruit была глючной, один баг даже исправил, приняли мой PR, но там коде весьма корявый, в тех местах, куда заглядывал. В прочем, с тех пор могло поменяться многое. Повелся на неё, потому что тоже вроде как популярная в diy-проектах, ну и имя на слуху было.
+
avatar
0
Кстати счас поднял тот проект посмотрел на чем остановился. Оказался промежуточный вариант: веб страничка статичная в коде, веб сервер таки есть и реализован следующим образом

#include <ESP8266WebServer.h>
 ESP8266WebServer http(80);

 void initHTTP()
 {
   http.on("/", HTTP_GET, [](){
      http.send(200, "text/html", html_index);   // строка с html 
   });  
   http.onNotFound([](){
      http.send(404, "text/plain", "FileNotFound");
  });
  http.begin();
 }

обмен данными на websocket.

Но esp8266 в самый раз.
Я таки согласен с небезизвестным в узких кругах pvvx — пора сползать на ble. Даже пару проектов на TLSR реализовал.
+
avatar
  • ACE
  • 22 ноября 2021, 21:49
+3
Стиль общения pvvx привил мне привычку стараться не искать ответы на вопросы, связанные с esp8266 на русскоязычных форумах, я слишком ранимый человек для такого, пару раз наткнуться и прочитать хватило :) При всем уважении к его опыту и знаниям.
А насчет сползать — не соглашусь. Где-то wi-fi удобнее, благо есть, по сути, везде. В некоторых случаях — zigbee.
+
avatar
0
Он на самом деле добрый, только Ардуину воообще и ESP в частности не любит. :) А так вполне адекватен и очень эрудирован. Когда его заносит, я ему обычно свой прототип обсуждаемого дальномера показываю и он махает рукой и успокаивается, мол что с меня взять. :))

Где-то wi-fi удобнее, благо есть, по сути, везде.
BLE проще в реализации и как ни странно и надежней. Разве что скорости низкие.

В некоторых случаях — zigbee.
Этого не пробовал еще.
+
avatar
0
Пока есть люди, которые при каждом обращении к «серверу» будут лезть во внешний флэш, да еще и через FS — у меня будет дофига работы, потому что «им так удобнее».
Записал эту интересную мысль в блокнотик :)
+
avatar
0
не закрывайте, еще одна подъехала — минимальные требования win10 1ГБ оперативки, а когда то и 640КБ хватало.

ребята пишущие на ассемблере по началу тоже смеялись, но потом быстро перекрасились на ООП, потому что так удобнее.
+
avatar
  • Z2K
  • 23 ноября 2021, 18:23
0
«быстро перекрасились на ООП»
— вчера было, эти уже сегодня перешли и работают на лов-коде и ноу-коде. так еще удобнее.
+
avatar
  • sav1812
  • 23 ноября 2021, 01:11
0
Про вай-фай браузер тоже ничего не знает, ну только «есть инет/нет инета»
Про «инет» браузер тоже ничего не знает. ;)
Его «знания»: «Был сделан запрос — был/не был получен ответ».
+
avatar
  • ACE
  • 23 ноября 2021, 01:17
+1
Нет, не всегда. Например, на андроиде есть какой-то статус, что инета нет. И браузер может сразу выдавать ошибку, даже не пытаясь. И выдаёт табличку с предложением включить вай-фай, например. И наоборот, сам перезагружает недоступную страницу, когда инет появляется.
+
avatar
  • sav1812
  • 23 ноября 2021, 01:55
0
Откуда уверенность насчёт «даже не пытаясь»? :)
Вообще-то по стандарту браузер просто обязан «пытаться»…
А выдаваемая им ошибка — это, скорее всего, просто «перевод» кода ошибки, получаемого им от системы.
+
avatar
  • ACE
  • 23 ноября 2021, 02:12
-1
Вы докопались до фразы, не меняющей ничего в сути диалога. Вы очень хотите об этом поговорить? Я не очень. Летом на даче инет мобильный, через модем и роутер, нередко глючит, я насмотрелся на поведение браузера, для меня больная тема. Но вы в итоге и сами признали, как минимум, по коду ошибки браузер и знает, есть инет или нет… Так что больше спорить не о чем.
+
avatar
  • sav1812
  • 23 ноября 2021, 02:49
-1
Вы докопались
Вообще-то можно было остановиться ещё в момент возникновения такой реакции. Подростково-детской, надо сказать…

я насмотрелся на поведение браузера
А я «начитался» RFC. Правда, давно уже, но тем не менее, представление о поведении браузера в данном ситуации имею не по внешним признакам…

И ещё. Я, вообще-то говоря, не «докопался», как Вам пригрезилось, а уточнил. Рассчитывая, как обычно, либо на ответ по существу, либо на отсутствие ответа, но уж никак не на детски-обиженное, в стиле «Сам дурак! Мне и без тебя тут плохо!..». :)

Так что да, с учётом Ваших реакций — спорить, в принципе, есть о чём, но вот с Вами — не стоит.

Выздоровления Вам… :)
+
avatar
0
Пихать html, json и txt в проект как Сишные заголовки — это моветон и лень матушка.

С чего Вы это взяли?
Больше половины софта используют так или иначе компилируемые «ресурсы», начиная от виндовых rc файлов с описанием форм, иконок и прочего, заканчивая Андроид приложениями где те же Активити описываются в xml.
+
avatar
+1
Больше половины софта используют так или иначе компилируемые «ресурсы»
охотно верю. был не прав. перефразирую свою мысль. мне очень удобно использовать файловую систему в МК и не заморачиваться с записью/чтением бит из eeprom выжимая такты. надеюсь в недалеком будущем МК станут такими жирными, что это станет нормой.
+
avatar
  • tklim
  • 25 ноября 2021, 13:22
+1
Кстати, осталось в «незакрытых вкладках» marktwainstudies.com/the-apocryphal-twain-never-argue-with-stupid-people-they-will-drag-you-down-to-their-level-and-beat-you-with-experience/
Mark Twain never said these words, nor anything resembling them.
Так что, удачи в использовании чужих цитат и придумыванию несуществующих «заслуг» по комментариям в интернете.
+
avatar
+2
Угу я уже писал. Например фирма adafruit делает драйвера чтоб только температуру и влажность отдавали. А там у сенсора ещё куча фич — встроенный нагреватель, компенсация влияния т на h и тд. И вот моя либа которая все это умеет 20 звёзд и в конце списка на Github, а обрубок от adafruit 100500 звёзд и в топе.
+
avatar
+4
И вот моя либа которая все это умеет 20 звёзд и в конце списка на Github, а обрубок от adafruit 100500 звёзд и в топе.
Дык к их либам примеры есть с открытыми исходниками. И ответы не всегда в вашем стиле же ))))
Тут тоже какбы не большинство оценит труд и похвалит… Хотя работа вожможно и проделана колосальная ))))
Почитываю пару проектов там вполне накидывают полезных фич в развитие с помощью в их решении.
В частности очень интересный здешний проект, который кстати комерческий. При открытых исходниках, либах, и файлах производства плат и корпусов. ))))
+
avatar
+2
Мои либы тоже открыты.

Моя либа для AHTxx тут. Моя либа для HTU2xD/SHT2x/Si70xx здесь. Фреймворк Arduino ESP8266 берём отсюда.

Тепрь у вас есть все кубики написать свое реле, а писать за вас я не буду.
+
avatar
+3
Мои либы тоже открыты.

Моя либа для AHTxx тут. Моя либа для HTU2xD/SHT2x/Si70xx здесь. Фреймворк Arduino ESP8266 берём отсюда.

Тепрь у вас есть все кубики написать свое реле, а писать за вас я не буду.
Ну лично от меня, СПАСИБО.
Но я так понимаю вам так и не стало понятнее, почему некоторые вас критикуют…
почему либы с большим количеством реальных примеров и отзывчивой поддержкой/помошниками более популярны? Боюсь тут я ничего исправить не смогу ))))
тот же фрут продает железо, показывает как оно устроено, пишет драйверы/библиотеки, реальные примеры использования, и какуюто помошь при использовании. может найдете чего у вас из этого нет, и что б из этого могло больше популяризировать нормальные (с вашей точки зрения) библиотеки? ;)
+
avatar
  • sav1812
  • 22 ноября 2021, 10:05
0
А с чего Вы взяли, что ему вообще нужна эта «попу-ляризация»?? ;) :))
+
avatar
+2
Потому что человек выкладывает это в паблик и тратит силы на статью. Если подумать логически, то это ему нужно:
1. Для «попу-ляризации» своего проекта. И в последующем, если проект стрельнет, то заработать что-то на нем.
2. Для того, чтобы оттестировать свой проект на как можно большем количестве устройств
3. Для того, чтобы распространить своего бота на как можно большей аудитории.

Скорее всего это 1 или 2, но и 3 исключать нельзя.
+
avatar
  • sav1812
  • 22 ноября 2021, 14:23
0
Если подумать логически, то это ему нужно:
Перевожу: «Я тут пофантазировал, и если он такой же, как я, то: »… :)

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

Но да, это слишком обыденно, нет никакого полёта фантазии, никакой интриги… ;) :)))
+
avatar
+2
цели три:
Для того, чтобы оттестировать свой проект на как можно большем количестве устройств
послушать что говорят люди, чтоб добавить или убрать функционал. например в проекте часов так появилось меню длительности горения разделительных точек. а теперь сам пользуюсь режимом — точки с анимацией. без людей этой фичи никогда бы не случилось.

поделится очень полезным устройством, которое работает без облаков, дополнительных шлюзов и стоит дешевле sonoff. лично мне такой всегда не хватало, поэтому и сел писать.
+
avatar
  • toxatmn
  • 20 ноября 2021, 20:53
+5
В поддержку автора, «ковыряльщиков» судя по коментам пол муськи, но фиг кто чего выложил. Есп ковырять не проблема — вектор задан. Кто готовое берет, кто свое делает. А киты нефигово копируют уже готовые решения, поэтому ничего такого в отсутствии исходников нет, кому надо и без них сделает, кому не надо — купит готовое.
+
avatar
  • igpl
  • 20 ноября 2021, 21:12
0
Как-то понадобилось сделать умный вентилятор в санузел, который включается по влажности и включению света. Для себя решил что вифи и прочие наворотов не нужны. Собрал все на Digispark/atiny85. Реле использовал твердотельное. Програмку за пару часов написал сам с изучением нового для меня контроллера. Все отлично работает, в санузел плесени нет. По моему это и глава цель а не графики включения за год. Зачем так усложнять?
+
avatar
  • sav1812
  • 20 ноября 2021, 23:57
+5
«У всякого портного свой взгляд на искусство» — К. Прутков

«По-моему» автора отличается от Вашего. :)
И это более чем нормально: он ведь делал для себя, а не для Вас.

Зачем так не понимать?.. ;)
+
avatar
+2
Графики и не планировались, но одновременно с просьбой мне стала интересна работа одного промышленного реле. Я подумал а почему бы и нет. Вот щас по графикам изучаю алгоритм работы.
+
avatar
  • ser
  • 21 ноября 2021, 10:17
+1
умный вентилятор в санузел
Очень заинтересовало. Можете проект выложить?
+
avatar
+1
А разве плохо получить бонусом телеметрию ванной?
И менять установки удалённо?
Учитывая, что экономия между тинькой и есп-шкой не покроет даже такое простое мероприятие как «нормально попить пива».
+
avatar
0
Бонус это когда без дополнительных усилий. А если для этого надо написать в три раза больше кода, то это не бонус.
+
avatar
0
Нужен то всего аналоговый датчик и компаратор:) Даже тинька — оверкилл. Это если следовать Вашей логике.
+
avatar
  • ebook
  • 21 ноября 2021, 08:33
+1
так и не понял, какое все-таки реле — полоумное или полуумное:)
+
avatar
  • sav1812
  • 21 ноября 2021, 09:25
+2
Одно другому не мешает. ;)
+
avatar
  • ACE
  • 21 ноября 2021, 16:29
+2
Если связь с роутером пропадает, то в течении минуты на реле подымается точка доступа куда вы можете зайти и поменять пароль и имя роутера если надо.

Как только реле подключится с роутеру, то точка доступа пропадает. И появится опять только если связь с роутером пропадает.
Я вот над этим думал, и у себя сделал так, что точка доступа создается только если нет связи с роутером сразу после включения питания. Если хоть раз соединились, то ТД уже не будет создана, при отвале связи. Это не создает проблем, если нужно устройство перенастроить, но уменьшает шанс того, что кто-то посторонний подключится к устройству, если вдруг умрёт роутер в моё отсутствие, или вдруг кто-то заDDOSит мою вай-фай сеть. Не то чтобы это прям критично или решает все проблемы с безопасностью, тем не менее.
+
avatar
+1
У точки доступа тоже пароль. Arduino ESP8266 использует lwip, у него вроде есть встроенная защита от ddos (но это все теория на практике не проверял)
+
avatar
+1
Есть это все и стабильно работает и исходники есть, можно самому дописать или убрать лишнее
github.com/letscontrolit/ESPEasy/releases
+
avatar
  • newcss
  • 21 ноября 2021, 23:46
0
Для EspEasy придется еще обвязку в виде контроллера умного дома делать).
А тут в одном устройстве…
Но при EspEasy там возможностей в разы больше будет)
+
avatar
+1
Не надо контроллер там есть правила
На основе правил все и даже больше можно реализовать
то что предлагает автор.
Я с EspEasy уже давно 17 устройств работаю
на осное ESP уже 4 год + мажордом
+
avatar
+1
На мой взгляд (подтверждённый практикой), подобные устройства (большинство) приобретают практический смысл после подключения к алисе (или подобным). Вот полная и развёрнутая инструкция по сопряжению есп и Алисы (через того же кузю), была бы весьма интересна.
+
avatar
0
Народ похоже молча и в штыки воспринимает всю эту новомодную Алисоманию.

Я пару раз уже спрашивал в разных местах, а не завалялась ли где прошивка позволяющая нативно цеплять самопальный девайс на esp к алисе ( хотя-бы вкл, выкл, в идеале еще и возврат состояния) но все молчат как партизаны. Толи вопрос глупый и нубовский, толи никто не знает. Жаль, хотелось бы например в компы встроить вкл.выкл, перифирию то я развел через розетки, а вот компу так просто свет не рубанешь.

Пока склоняюсь к изготовлению простенького «роутера» с IR на Wifi (BT) принимающего команды от «умного пульта» и отправляющего их дальше девайсам в домашней сети. Тогда никакого «Кузи» не понадобится и опять таки безопасность повысится. Но опять таки не понятно как отдавать назад состояние.
+
avatar
  • ACE
  • 22 ноября 2021, 12:09
+1
Я пару раз уже спрашивал в разных местах, а не завалялась ли где прошивка позволяющая нативно цеплять самопальный девайс на esp к алисе
Я изучал тему, как я понял, всё не просто. Во-первых, сделать что-то, работающее в локальной сети, невозможно в принципе. Любой навык — уже веб-служба. А если ещё и управляет устройством — вообще куча требований, в т.ч. надо устройство отправлять в яндекс на тестирование, продаваться на я.маркете и т.п. И без всего этого, видимо, никак.
yandex.ru/dev/dialogs/smart-home/doc/certification.html
+
avatar
0
Я имел виду целый сонм «умных» розеток, и лампочек продающихся на али. Врядли они согласовывали свои девайсы с Яндексом, тем не менее они работают с ней без проблем, некоторые даже «напрямую» без вендорского «навыка». Внутри у них esp8266. Хотелось бы поиметь прошивку которую можно прошить в любую произвольную esp8266 и получить аналогичный девайс.
+
avatar
  • ACE
  • 22 ноября 2021, 14:59
+1
Всё что я видел — это всё работает через какой-нибудь Mi Home, для которого есть навык. Через сторонний сервис. Но не напрямую. Например реле и розетки от Sonoff. Они привязываются к своему облаку eWeLink, тот подключается в MiHome, а оно уже к яндексу. Или вариант HomeKit — HomeBridge — MQTT. Но никак не напрямую. И нагуглить я ничего такого не смог.
+
avatar
+1
Ну вот например эти розетки (фига-се подорожали, я их недавно за ~700 руб брал)
https://aliexpress.ru/item/item/33005918303.html Работают с Алисой напрямую без навыка.

Отдельная тема — «умный» пульт. Он обучается IR командам от любого произвольного пульта, а затем выплевывает выученные комбинации по голосовой команде. Нужно спаять либо мост IR-> «полоумное» локальное © WiFi или к распаянной в пульте esp8266 допаять еще одну которая будет раздавать команды не только по IR но и по локальному WiFi (BT, rf433) вообще без облаков.
+
avatar
  • ACE
  • 22 ноября 2021, 15:27
+1
Благодарю за ссылку. Судя по вот этому списку яндекс сам включил поддержку некоторых устройств, в данном случае из экосистемы Tuya. Вот тут есть список устройств, которые поддерживает яндекс, они продаются в том числе на их маркете. Т.е. всё равно нужна поддержка со стороны яндекса.
Другой вопрос, насколько сложно кастомной прошивке прикинуться устройством от Tuya, например, такой вот розеткой. Надо искать.
+
avatar
  • Shaman2
  • 21 ноября 2021, 19:12
0
Посоветуйте проверенные временем rf433 передатчик и приемник. Чтобы нормально работали в пределах квартиры и которые без проблем стыкуются с esp. (в данном случае есть esp32-wroom)
С прошивкой сам разберусь
+
avatar
+1
Лучше nrf24. Он стабильнее, и уже в цифре.
+
avatar
  • Shaman2
  • 21 ноября 2021, 23:06
0
а можно ссылку? а то на али ищется не то что надо
+
avatar
+1
5 штук за $3.19 — тыц
+
avatar
  • sav1812
  • 22 ноября 2021, 05:32
0
$3.91 с пересылкой… :)
+
avatar
  • Shaman2
  • 24 ноября 2021, 21:26
0
Так он же не rf433, а 2,4гГц
+
avatar
  • Koh
  • 01 декабря 2021, 06:05
0
Вот тут, например, дешевле, и поштучно.
+
avatar
0
А что передавать? Может блюпуп? он в есп32 уже искаропки
+
avatar
  • Shaman2
  • 21 ноября 2021, 23:05
0
rf433 сигнал. Вместо радиобрелка и некоторых датчиков
+
avatar
0
это «чем». а спрашивал передавать ли фиксированые команды, или обмен типа юарта и с каким потоком/скоростью…
от этого может зависеть что из железа моста интереснее и больше подходит.
просто уточнил.
+
avatar
  • Shaman2
  • 24 ноября 2021, 21:28
0
Просто я сосканил статические коды с некоторых радиовыключателей на 433мГц, вот и хочется послать сигнал вместо такого віключателя. Ну или наоборот принять с него сигнал для дальшейшей обработки на стороне esp. Не выкидывать же эти датчики-выключатели
+
avatar
0
а, о. тогда вам nrf24 не подойдет. они на 2.4гГц

вам тогда сюда — mySKU.me/blog/aliexpress/46221.html
+
avatar
  • bampr
  • 22 ноября 2021, 12:37
0
меня вот интересует подобное изделие в части подключения к нему ключей для управления например гусеничным шасси детского танка )
чтоб можно было управлять им со смартфона, и видеть через камеру )
кто что видел подобное, поделитесь плиз )
+
avatar
  • Aahz
  • 22 ноября 2021, 14:04
+2
Ищем по «esp32 cam car»
Плату esp32 вместе с камерой можно взять меньше $5 на али.
Навскидку:
dronebotworkshop.com/esp32cam-robot-car/
+
avatar
  • bampr
  • 30 ноября 2021, 12:07
0
спасибо
+
avatar
  • VlaoMao
  • 22 ноября 2021, 12:45
+3
Нет уж, спасибо. Кушайте сами. Непонятно зачем обзор выкладывали.
+
avatar
0
Уважаемый автор, а не подскажете, можно ли использовать такую микросхему ESP8266MOD?
А то я что-то не могу нагуглить сравнительную таблицу между всеми вариантами ESP.
+
avatar
0
Это которая esp-12 называется? Да можете, но нужна объвязка — пару резисторв и конденсатор.
+
avatar
0
Вроде бы да, ESP-12F, см. заказ, но на самой микросхеме такой надписи нет:

А чем они вообще отличаются E, S и т.п. размером флешки?

А вообще мне реле не нужно, просто интересно точно температуру мерять. Я как раз на последней распродаже купил датчик ATH21…
+
avatar
  • Aostspb
  • 23 ноября 2021, 11:43
0
А чем они вообще отличаются E, S и т.п.
E от F — отличается только геометрией антенны на печатной плате.
+
avatar
  • ACE
  • 23 ноября 2021, 13:14
+1
ESP-XX — это модули от фирмы Ai-Thinker. Под крышкой чипы esp8266 и флэш-памяти. Требуют нескольких внешних резисторов для того, чтобы правильно загрузиться при старте. Память обычно зависит от цифр, на модули ESP-01 ставят 0.5 или 1 МБайт флэш, на -07 — 1МБ, на -12 — 4МБ. Хотя при желании, отпаяв крышку, можно на любой модуль впаять флэш любого поддерживаемого esp8266 размера. У ESP-12 (без буквы) изначально были контакты только с двух противоположных сторон. Потом появились вариации с буквами E и F — добавился третий ряд контактов. Про отличие E и F уже сказали, по сути они равнозначны.
+
avatar
  • Sanja
  • 24 ноября 2021, 13:08
0
Автор странный.

Вот есть же прекрасный проект github.com/maximkulkin/esp-homekit от нашего соотечественника. Открытый, вылизанный.

Используется в продакшене кучей народу, в т.ч. китайцами, которые на нём делают классные штуки типа этой:



(эта штучка прячется за существующим выключателем в подрозетнике и превращает его в «умный», управляемый с iPhone)

В результате все рады — автор тешит свою программистскую жилку, зарабатывает известность, ему есть, что показать рекрутёрам — а потребители получают дешёвое китайское железо с написанным европейцем кодом.
+
avatar
+2
да я странный — у меня нет iPhone

за ссылку спасибо.
+
avatar
  • Sanja
  • 26 ноября 2021, 18:36
-1
для владельцев Android то же самое железо идёт уже прошитым под работу с Assistant/Alexa, Али полон ими. Работают безупречно, шьются по OTA.

Открытые проекты лучше всякой проприетарщины.
+
avatar
0
С алексой работает напрямую (подключил к wifi без всяких приложений, вошёл в настройки акаунта алексы и они уже там видны)? или нужно привязывать через приложение прокладку tuya?
+
avatar
  • Gudrun
  • 28 ноября 2021, 22:49
+1
Странно. Видишь полную инструкцию как сделать нужную вещь быстро и дешево, заходишь в комментарии — а там все обсуждают закрытость исходного кода. Люди перед покупкой хлеба, вероятно, ищут информацию о печах и тестомесах.
Я понимаю, если бы это выложено было на форуме программистов. Но это, как я понимаю, для самодельщиков. А я давно хотел такую штуку, но мне не нравятся девайсы, которые работают через Пекин. Знаю, что некоторые из них можно было перешить, но посмотрел методику — желание отпало возиться. Это было несколько лет назад, может сейчас уже по другому, но для меня критерий простой: чтобы девайс работал локально и чтобы довести его до ума было просто.
+
avatar
0
Вы не один такой похоже (кого смущает методика перешивки :) ) Поэтому создатель(и) Tasmota довели процесс «прошивки» до абсолюта — инсталлятор прямо из браузера определяет какой чип подключен и заливает выбранную версию. И да, все исходники открыты.
+
avatar
  • Gudrun
  • 29 ноября 2021, 15:27
0
Спасибо за наводку.
Но по поводу травли автора не за эффективность (которую они и не проверяли) его проекта (бесплатного), а за способ его реализации — отвратительное впечатление о комментаторах. Причём травля по критерию, который посчитали важными авторы комментариев, которым этот проект и не нужен, а не по критериям, который важен для реальных пользователей. Которых они (авторы) конечно не спросили.
И ещё уверен, что эти же люди пользуются ОС на смартфонах из коробки и едят их ложками. Может побуркивая в комментариях. Просто потому, что и не надеются, что Гугл или Эпл их заметят. А на автора ведь можно наехать…
+
avatar
  • Doooh
  • 28 ноября 2021, 23:48
0
Даштоштакое, неужели никто про 220милиФарад в тексте не отписался? Потрясён :)
+
avatar
0
спасибо поправил.
+
avatar
  • scorry
  • 29 ноября 2021, 05:55
+1
Присоединюсь к высказавшимся: закрытые исходники — проекту место в мусорнике. Точка.
+
avatar
+1
Ваше право. Мы в свободной стране.
+
avatar
  • sav1812
  • 29 ноября 2021, 08:28
0
А в «свободных» странах очень любят травить несогласных со «свободными» мнениями, да…
+
avatar
+1
так несогласных везде травят. просто на западе обычно наказывают рублем — выгоняют. а у тебя дом, машина в кредит…
+
avatar
  • scorry
  • 29 ноября 2021, 11:23
-1
Безотносительно к ценности совершённой вами работы: зачем вы её сюда выложили в таком виде? Тут, насколько я понимаю, люди обретают признание и популярность; вы зачем-то привлекаете критику и вызываете негативные эмоции. Зачем, ума не приложу?
+
avatar
+1
Зачем, ума не приложу?
потому что вещь получилось очень ничего. может кому-то пригодится. у меня уже 3-ю неделю работает и экономит электричество.

вы зачем-то привлекаете критику и вызываете негативные эмоции
так это не мои проблемы. у меня негативных эмоций ко всем комментаторам нет. причем по самому проекту то критики нет.
+
avatar
  • scorry
  • 29 ноября 2021, 18:57
-1
Вы так и не поняли, что я написал. Ваш проект — не DIY, потому что формат подразумевает раскрытие всех деталей изготовления. Вы под формат обзора скрыли DIY — сюда за этим и заходят, но не находят.

так это не мои проблемы
Прямой вопрос: зачем вы ваньку валяете? Ну это же только идиоту не видно.
+
avatar
0
Ваш проект — не DIY, потому что формат подразумевает раскрытие всех деталей изготовления.
я с вами не согласен. давайте с проецируем ситуацию. возьмем кухонный нож из этого обзора (посмотрите что там творится в комментариях). вот я не ножеман ни разу. мне все равно из какой он стали и какой у него угол заточки и тд и тп. главное чтоб резал и норм. а кому-то это очень важно. вот и не всем интересно что там за код крутится в реле. у них DIY заканчивается на стадии пайки и прошивки бинарников. и это нормально. мы все разные. не надо думать, что все такие как вы.

я совершенно не виляю и не ломаю ваньку. это не мои проблемы если у человека его ожидания не совпали с его реальностью. понимаете?
+
avatar
  • scorry
  • 29 ноября 2021, 19:24
-1
Я понял. Вам плевать на сообщество, в котором вы публикуете свои разработки, чтобы получить позитивный отзыв от сообщества.
+
avatar
  • sav1812
  • 30 ноября 2021, 00:17
-1
Скорее, только вам и видно… :)
+
avatar
+1
Я свои проекты не «закрываю». А смысл? Кто сам делает — так пусть учится — может лучше сделает — поучусь. А кто готовое покупает — так ему побоку исходники… Не секрет, что ВСЕ поначалу учились на чужих проектах — так зачем теперь в «тапки срать»?
+
avatar
  • sav1812
  • 29 ноября 2021, 10:54
-1
Не секрет, что ВСЕ поначалу учились на чужих проектах
Не секрет, конечно же — НЕ все. :)
Вы не поверите, но были и всё ещё встречаются люди, предпочитающие почитать документацию, что-нибудь «из классиков», вроде Кнута, Кернигана и Ритчи, и т.д — и сделать что-то своё.
Оно поначалу-то подольше, но в итоге всё же как-то полезнее выходит, по опыту. :)

так зачем теперь в «тапки срать»?
А Вас кто-то заставляет? ;)

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

И я что-то не вижу, чтобы хоть кто-то из его «крыцыков» и ругателей за столько дней обсуждения привёл бы, наконец, пример собственной «широты душевной», дав ссылку хоть на что-то своё, таки опубликованное, как он того требует от автора…

Так «не лучше ль на себя, кума, оборотиться»? ;) :))

И — личным, так сказать, примеров вдохновить автора и всех нас. :)
+
avatar
0
Прям таки начитался книжек и сразу (не смотря примеры!) стал монстром? Сам то понял что написал?

На экран никто не брызжет — понятно, что всем денег хочется, но это так не работает (по крайней мере ТУТ).

Я понимаю, когда скрывают например исходники грабберов и сканеров — там есть что прятать (например мануфактурники), чтобы школота не баловалась. Но примеры алгоритмов все есть — если действительно нужно, разберешся… А тут то чего скрывать?

Про проект я ничего плохого не сказал — ну есть и есть… Просто без исходников мне например вообще не интересно — зачем? Если есть куча подобных с исходниками?

А про деньги — есть куча примеров с исходниками, где автор все таки зарабатывает. Путем продажи готовых устройств — для тех кому самому возиться не интересно.
+
avatar
  • sav1812
  • 29 ноября 2021, 12:33
-1
Сам то понял что написал?
Я понял, что имею дело с хамом, «тыкающим» незнакомым людям. :)

И да, то, что пишу я, я отлично понимаю и осознаю. Чего и другим желаю, хотя явно не у всех получается…

Прям таки начитался книжек и сразу (не смотря примеры!) стал монстром?
Ну, монстр — это, видимо, Вы перед зеркалом комментарии пишете. :)

Но таки да, в середине 1990-х довелось самостоятельно написать для себя кросассемблер для первых доступных в России PIC16C84 и софт для программатора, собранного самостоятельно. Всё — после вдумчивого неоднократного прочтения документации…
Делиться было не с кем — я в своём городе «первопроходцем» был, и не только интернета — FIDO ещё не было, как и телефона домашнего. :))

Так что просто когда сильно понадобилось — взял и написал. И пользовался до тех пор, пока диски с документацией от Microсhip в России подешевели от пары-тройки сотен долларов до бесплатных. :)

И да, абсолютное большинство знаний и навыков получено без бездумного копирования чужого. Во-первых, не приучен и больше привык и люблю самостоятельно разбираться. А во-вторых, в те времена «слизывать» неоткуда было, а «классики жанра» в своих малодоступных тогда книгах делились только коротенькими примерами кода, иллюстрирующими принципы и подходы, а дальше уже нужно было самому… И это хорошо. :)

Я понимаю
Не первый уже раз читаю эти вот «я понимаю» и, чаще, «я не понимаю!». Но это не тот сайт, где учат и вразумляют. Здесь публикуют обзоры.

Есть понимание — берите и делайте, если хочется. Нет понимания — идите и учитесь. Учить вас никто не подряжался и не обязан. Здесь — совершенно точно нет.

А понимать достаточно только то, что автор не обязан. Всё.
Не нравится — проходите мимо и ищете либо более «щедрых», либо, что было бы лучше, но не про многих из вас — учитесь сами и делайте. И личным примером показывайте, как надо делиться своим кодом… ;) :))

Просто без исходников мне например вообще не интересно — зачем? Если есть куча подобных с исходниками?
Не интересно? :) Ну так и идите туда, где интересно. Здесь-то, в комментариях под «негодной» публикацией «плохого» автора, чего бурчите уж который день? :)

А про деньги — есть куча примеров с исходниками, где автор все таки зарабатывает. Путем продажи готовых устройств — для тех кому самому возиться не интересно.
И что с того? Это личный выбор каждого. Автор свой уже объяснил.
Есть так же масса примеров того, что люди пишут своё и выкладывают в публичный доступ вместо критики тех, кто поступает иначе.

Вот вам бы к ним присоединиться… ;)
+
avatar
0
накал утих, все кто хотел высказаться высказались и можно подытожить.

я думаю что весь холиавар на счет исходников в этой теме возник из-за того, что в сети есть как минимум два похожих полностью открытых проекта. сравните с моим предыдущим обзором MatrixClock, там негатива намного меньше. почему? да просто у часов не оказалось opensource конкурентов.

а здесь username справедливо спрашивает — зачем мне это tthRelay если есть Tasmota и espEasy? отвечу. я несколько раз бегло смотрел исходники и того и другого, но так и ничего не понял. выхода было два: безрадостно потратить минимум неделю-две, что бы понять, что там к чему или получить удовольствие (это же хобби) и новые знания от написания своего. естественно я выбрал второе.

тут писали о инсталляторе Tasmota прямо из браузера, но я его не нашел? я это к чему — имхо Tasmota и espEasy тяжелы для понимания с наскока. информации много, она плохо упорядочена, нужно читать и смотреть горы инструкций. интерфейс обоих проектов слишком перегружен — чем-то напоминает впечатления нуба первый раз попавшего в кабину самолета. я понимаю что проекты универсальные и по другому никак, но мне от этого не легче. и тут опять — безрадостно тратить время на изучение UI или написать свой так как тебе нравится (под себя) и получить дофамин от новых знаний?

к тому же у меня другая концепция — одно устройство, один функционал. зачем делать из кухонного миксера, перфоратор по бетону? и миксер будет так себе и перфоратор шляпа. устройство должно быть простое как АК-47, тогда его его ждет успех, иначе оно так и останется уделом гиков.

я все сказал.
+
avatar
  • Prono
  • 30 ноября 2021, 13:08
0
А сие можно адаптировать к кондиционеру, сплит-системе? Если да, то можете поподробнее?
+
avatar
0
зачем? в сплит-системе уже есть сенсор и в вкл/выкл по температуре
+
avatar
  • rustamt
  • 30 ноября 2021, 21:55
0
ищите инструкции к своему кондиционеру на предмет возможности подключения универсального внешнего термостата (любого — глупого или смарт типа Nest и подобных).

если в кондее есть вход для подключения термостата с сухим контактом, то можно подключить какое-то подобное реле, единственное что нужно запитать его от отдельного блока питания, на выходе самого реле не должно быть напряжения(то-есть «сухой контакт» — он просто должен замыкаться-размыкаться).

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

хотя можно в принципе подключать к no или nc контакту реле чтобы переключать режим.
+
avatar
0
не уверен что конкретно эта прошивка подойдет для режима охлаждения
есть
по температуре (охлаждение/обогрев) с регулируемым гистерезисом и приоритетом по времени от чч до чч
ползунок от центра влево — охлаждение
ползунок от центра вправо — обогрев

+
avatar
+1
да я их видел, но зачем их брать по такой цене? почти за те же деньги можно уже Sonoff TH10 или Sonoff TH16 взять в корпусе.
+
avatar
  • kiv69
  • 02 декабря 2021, 01:30
0
Сделал себе управление реле на GPIO12 и GPIO13 — при загрузке всё нормально. Откуда бред, что можно использовать только GPIO4 и GPIO5?
P.S. Чтож вы так упёрто все лепите розетки на один выход? Потребовалось управление 2-мя розетками — пришлось самому править чужую программу. Что, всех устраивает, что для каждой розетки надо отдельная ESP?
+
avatar
+1
Откуда бред, что можно использовать только GPIO4 и GPIO5?
Подробно об этом тут. для вас даже переведу кусок теста автора
Evidently there are some glitches on the ESP8266 GPIOs when it is first powered on, since one of the relays does trigger for a short time when the system is powered on.

Очевидно, что при первом включении GPIO ESP8266 возникают некоторые сбои, поскольку одно из реле срабатывает на короткое время при включении системы.

Чтож вы так упёрто все лепите розетки на один выход?
а вы чего только два реле повесили? у esp8266 выходов намного больше 2-х.
+
avatar
  • sav1812
  • 02 декабря 2021, 05:44
0
Ну, ему-то только два надо было, так что это для него нормально, это правильно! ;) :))

А вот Вам нужно было одно — и это «в ког'не невег'но, батенька!» (© Владимир Ульянов-Ленин).
Вы же, в отличие от Ваших «крыцыков», просто обязаны были предвидеть и предусмотреть «нужды и чаяния» всех и каждого, загодя реализовав в своей разработке «для себя» все хотелки всего населения планеты… :)))

И, абстрагируясь от наскоков «обиженных», замечу, что эту «инвалидность от рождения» — «глюк» с появлением случайных импульсов на выводах ESP8266 при его старте — вполне можно было бы решить путём использования RC цепочек между выводами ESP и ключами, управляющими реле.

«Я так думаю!» © :)
+
avatar
0
Да так на картинке и сделанно — rc цепь.
+
avatar
  • sav1812
  • 02 декабря 2021, 06:56
0
Обсуждение длится уже так долго, что про «картинку» я и забыл давно… :)))
комментарий скрыт

+
avatar
+1
По вашей логике и два реле верх идиотизма, тк у ESP8266 аж 16 gpio, а это теоретический 16 реле!
+
avatar
  • sosny
  • 25 января 2022, 13:17
0
Купил весь этот «зверинец», спаял, прошил и получил плохой результат. Точка доступа получается, на смартфоне могу видеть все результаты, а вот к интернету подключить не удалось (возможно, просто, не сумел). «Высокоточный» датчик температуры и влажности (ANT10) завышает температуру на 4 градуса!
+
avatar
  • sav1812
  • 25 января 2022, 13:56
0
1. AHT10.
2. Исправный, правильно запаянный датчик настолько завышать температуру не может.

Или он «инвалид от рождения», или вы его «поджарили» при пайке, «или одно из двух!» ©.

P.S. Температура-то, я надеюсь, в рабочем диапазоне датчика? ;)

UPD: А как часто опрашивается датчик? Если чаще рекомендуемого минимального периода, то он может элементарно разогреваться и, разумеется, будет завышать показания — показывать свою «личную» температуру… :)
+
avatar
  • sosny
  • 25 января 2022, 16:14
0
Никакие настройки не трогал. Прошил, выбрал точку доступа в смартфоне и вошел браузером. Ввел логин, пароль и загрузились данные. t = 28.19; Rel Hum = 27.24; Abs Hum = 7.61; Dsw Point = 7.93. Данные в жилой комнате с реальной температурой 24. Если изменяю настройки жму «SAVE» и затем «REBOOT» на экране начинается бесконечное отсчитывание секунд, пишет (Restarting in -15х sekonds...). Светодиод на плате светится в это время. Потом "Не удается получить доступ к сайту 192.168.4.1" Аминь. Больше никуда и надо снова прошить чтобы начать все с начала…
+
avatar
  • sav1812
  • 25 января 2022, 16:27
0
Я этим изделием не занимался, так что по большому счёту «не в теме», но, судя по описываемому поведению, где-то что-то не так. Ну, явно же не работает, как должно… Автора бы попытать…

А датчик у вас в каком виде был — готовый модуль или отдельная микросхема? Если второе — могли при пайке перегреть. Но это повлияло бы на показания датчика, а не на поведение устройства в целом. В теории…
Х.з. как оно там внутри организовано и кто на кого влияет… :)
+
avatar
  • sosny
  • 25 января 2022, 16:48
0
Это модули. Ничего лишнего.
В это устройство не верю. Купил другое (Релейный модуль SONOFF RE5V1C-5V Wifi)
+
avatar
0
Потом «Не удается получить доступ к сайту 192.168.4.1» Аминь. Больше никуда и надо снова прошить чтобы начать все с начала…
вы читали инструкцию?
После того как реле подключится к вашему роутеру — WiFi точка доступа tthRelay пропадет. Если у вас Windows 10, то в браузере набираем tthRelay.local/. На Android и Win7 используйте IP-адрес реле вместо mDNS. Его можно найти в логах UART на скорости 115200 бит/с или в админке вашего роутера.
те при удачном подключении к вашему роутеру, точка доступа по адресу 192.168.4.1 пропадет. исчезнет. понимаете? Если у вас Windows 10, то в браузере наберите:

http://tthRelay.local

данные. t = 28.19; Rel Hum = 27.24; Abs Hum = 7.61; Dsw Point = 7.93
если вы касались датчик рукой он может приврать. подождите пару минут. если и после этого разбежка все рано будет большая, то у вас бракованный сенсор. вы случайно ацетоном плату не мыли, паяльником не тыкали? китайские паяльные станции на Т12 могу легко убить сенсор. почему? читаем тут ближе к середине.

пы.сы. точно такой же сенсор как у вас трудится у меня в погребе с этой прошивкой уже 3-й месяц. сравнивал с Xiaomi BT Thermometer 2 на Sensirion SHTC3. Сяоми показал температуру на +1.3С выше. Влажность совпала с учетом округления, + 0.45%.
+
avatar
0
UPD: А как часто опрашивается датчик?
датчик в прошивке опрашивается каждые 15 сек. триггер по T/RH проверяет данные с датчика 1 раз в минуту. те если вы увидели что Т или RH поднялась выше гистерезиса, но реле не включилось, абаждите 1 минуту и оно обязательно включится.
+
avatar
  • sav1812
  • 26 января 2022, 04:09
0
датчик в прошивке опрашивается каждые 15 сек.
Хмм… Вполне нормально, нечасто… Заметного саморазогрева быть не должно…
А у человека — превышение показаний на 4°C. Почему это может быть, как вы считаете?

если вы увидели
Это не я увидел. :)
+
avatar
0
Хмм… Вполне нормально, нечасто… Заметного саморазогрева быть не должно…
да я datasheet читал и библиотеку писал
+
avatar
0
А у человека — превышение показаний на 4°C. Почему это может быть, как вы считаете?
Щас тестирую старшего брата AHT10 — AHT21B (с завода идёт на плате и переваривает от +2.2v до +5.5v) Так вот он очень быстро нагревается от лёгкого прикосновения руки и потом очень медленно остывает (около 2х минут с 28с до 20.5с).
+
avatar
  • sav1812
  • 26 января 2022, 14:25
0
А вот об этом я как-то даже и не подумал. :))

«Переученный хуже недоученного» © — сразу начинаешь искать какие-то «глобальные» причины, забывая о подобных «мелочах». :)
Тем более что сам я подобного не допускаю, потому и в голову не пришло…
+
avatar
  • sosny
  • 25 января 2022, 22:48
0
Инструкцию я читал. У меня Windows 10, но адрес tthRelay.local не открывается. Меня смущает "«SAVE» и затем «REBOOT»" — вроде ни того, ни другого не происходит. А вот точка доступа tthRelay пропадает, вроде как что-то произошло, видимо не до конца. Реле я не припаивал. Нужны только цифры для контроля. А цифры очень странные (и температура и влажность). Наверное датчик дает не то.
+
avatar
0
подключите плату к терминалу на скорости 115200 бит/с и пришлите пожалуйста весь лог

Меня смущает "«SAVE» и затем «REBOOT»" — вроде ни того, ни другого не происходит.
как раз то что вы описываете говорит что происходит.

вы случайно Hostname не меняли в вебморде?
+
avatar
  • sosny
  • 26 января 2022, 11:51
0
Hostname не менял. Где брать лог не знаю.
+
avatar
  • sosny
  • 26 января 2022, 11:57
0
Hostname не менял. Где брать лог не знаю.

Температура со временем растет потихоньку, относительная влажность падает. Значит датчик разогревается…
+
avatar
0
качаем программу терминал, например Termail by Br@y++ или HTerm. подключаем esp8266 к PC, выставляем в терминале порт, скорость, нажимаем reset на esp8266 и весь лог присылаем мне.
+
avatar
  • sosny
  • 26 января 2022, 15:00
0
Плата прошита, никаких изменений не вносил


Попробую взять другим способом. Не думал, что картинка будет такой малой
+
avatar
0
там можно сохранить, но не очень удобно. извините. давайте тогда попробуем Termite, он попроще и там легко сохранять.

+
avatar
  • sosny
  • 26 января 2022, 15:13
0
Ссылка leto-braslav.com/images/log.jpg *** leto-braslav.com/images/log2.jpg

Все равно ничего не видно. Как взять лог из программы Terminal?
+
avatar
  • sav1812
  • 26 января 2022, 15:49
0
Сохранить в текстовый файл. Не знаю, есть ли штатная возможность писать в файл, а банальный копипаст не работает?

К слову, даже на картинке видна масса ошибок. На мысли не наводит?..
+
avatar
  • sosny
  • 26 января 2022, 16:00
0
Да ошибки есть, но что я в них понимаю… ничего. Картинка после редактирования (вписал свой роутер) и попытки SAVE & REBOOT ссылка *** leto-braslav.com/images/log3.jpg
+
avatar
  • sosny
  • 26 января 2022, 16:20
0
Да ошибки есть, но что я в них понимаю… ничего. Картинка после редактирования (вписал свой роутер) и попытки SAVE & REBOOT ссылка *** leto-braslav.com/images/log3.jpg

Подсмотрел IP в логе и зашел через смартфон. Это хорошо, через интернет зашел. Осталось только данные правильные получать. Пока данные не верны…

С компьютера вход не получается ни по предложенной ссылке ни по IP из лога
+
avatar
  • sosny
  • 26 января 2022, 16:30
0
Лог после добавления настройки интернета

default Relay Config loaded
relay started on GPIO12
Oops! failed to open /esp_config/sensor_config.json
default Sensor Config loaded
sensor type #2 started on SCL=GPIO5 & SDA=GPIO4
sensor T:26.57 H:27.07%
Oops! failed to open /esp_config/ap_config.json
default AP Config loaded
heap memory usage to load /esp_config/sta_config.json 497-bytes out of 1024-bytes
starting STA…
connected to SSID Let 4_2
station IP address 192.168.0.101, signal -63 dBm
Oops! failed to open /esp_config/ntp_config.json
default Server Config loaded
packet from NTP server pool.ntp.org received
operation NTP mode POLL
sync interval with NTP servers 30 minutes
time zone <+03>-3
daylight saving time now NO
server NTP pool.ntp.org status CONNECTED
server NTP time.google.com status FAIL
server NTP time.nist.gov status FAIL
Oops! failed to open /esp_config/server_config.json
default Server Config loaded
mDNS responder started on address tthRelay.local
server started on port 80
Oops! failed to open /esp_config/recorder_config.json
default Recorder Config loaded
size of Sensor Info JSON in heap 64-bytes out of 128-bytes
size of minified Player Info JSON 58-bytes
+
avatar
  • sosny
  • 26 января 2022, 17:15
0
Прикольно, но температура, в показаниях, потихоньку уменьшается. Сейчас уже всего 2 градуса превышение. Через интернет работает только на Андроид (меня это устраивает).
+
avatar
0
посмотрел ваш лог. никакого криминала не нашел. реле успешно подключилась к точке доступа «Let 4_2» и теперь должна быть доступна в этой сети по адресу http://tthRelay.local (на win10) или по IP http://192.168.0.101/ (на win10/win7/android). естественно для этого ваш компьютер, телефон должен быть подключен к этой точке доступа (Let 4_2).

на Oops! не обращайте внимание — это просто предостережение о том, что не обнаружен конфиг на файловой системе (вы его не сохранили) и реле вместо этого возьмет стандартные настройки из прошивки. можете оставить так, но я вам советую хотя бы изменить пароли на точку доступа и на сервер, мало ли что.
Сейчас уже всего 2 градуса превышение.
я писал чуть выше
Щас тестирую старшего брата AHT10 — AHT21B (с завода идёт на плате и переваривает от +2.2v до +5.5v) Так вот он очень быстро нагревается от лёгкого прикосновения руки и потом очень медленно остывает (около 2х минут с 28с до 20.5с).
+
avatar
  • sosny
  • 26 января 2022, 17:57
0
Большое спасибо за участие и помощь. Немного превышает, но уже не на 4 градуса. Через интернет работает. Компьютер не на WIFI поэтому и не видит по ссылке. Ура. Для мониторинга этого достаточно.
+
avatar
0
Поздравляю. Удачи вам в нелёгком деле customer service.
+
avatar
  • sav1812
  • 27 января 2022, 03:25
0
Немного превышает
А ведь не факт. :)
Следует помнить, что оба ваших датчика имеют некую погрешность измерений, которая вам неизвестна. И сравниваете вы один не очень точный с другим, таким же. :)
Для того, чтобы точно узнать, отклоняются ли показания датчика от истинной температуры, в какую сторону и насколько, сравнивать надо с образцовым поверенным прибором.
А пока что можно считать, что показания в норме… более-менее… ;) :))
+
avatar
0
Превышения тут в другом. Sensirion веником не вяжет и все их сенсоры, что я щупал, укладыались в заявленную точность из datasheet. Слажала тут Сяоми. Они не читали appnote на SHTC3 и не сделали прорези на плате, чтобы уменьшить влияние нагрева платы. Так же ветиляционные отверстия очень маленькие. Все это приводит к тому что Xiaomi BT Thermometer 2 очень инерционен. Отсюда и такая разбежка получилась с AHT10. Если б я оставил Сяаоми на 1.5 часа рядом с AHT10, то все бы совпало с учётом погрешностей и округлений.
+
avatar
  • sav1812
  • 27 января 2022, 09:44
0
Выходит, разрабочики Xiaomi документации на датчики не читают. :))
Печально, но это жизнь…
+
avatar
  • sosny
  • 27 января 2022, 09:30
0
Слово «погрешность» в моем случае не подходит. Когда рисует в комнате 29 градусов термометр не нужен. Заметил, что через некоторое время работы эта «погрешность» стала уменьшаться. Уменьшилась до 2 градусов. Теперь устройство поставил уже на место, в соседний дом, где нужно контролировать температуру. Там держится 10 градусов, плюс-минус 2. Вот постоит денек, другой — тогда и посмотрим. Возможно все устаканится. Отпишусь.
+
avatar
  • sav1812
  • 27 января 2022, 09:46
0
Слово «погрешность» в моем случае не подходит.
Оно подходит всегда. :)
Любой датчик имеет некоторую погрешность измерений, которая указывается в документации.
+
avatar
  • sav1812
  • 27 января 2022, 03:30
0
на Oops! не обращайте внимание
Плохой совет: в рабочей системе не должно быть сообщений об ошибках, которые ошибками не являются.
Файлы следует создать и сохранить в устройстве, чтобы потом, в случае возникновения проблем в его работе, чётко знать и понимать. что «ошибка» в логе — это ошибка, а не напоминание о лени его изготовителя. :)
+
avatar
0
У нас с вами разные понятия об ошибках. Для меня лень пользователя и есть ошибка, тк настройки по умолчанию могут привести например к неработающему сенсору (подключили не к тем пинам, что по умолчанию) и тд и тп.
+
avatar
  • sav1812
  • 27 января 2022, 09:52
0
У нас с вами разные понятия об ошибках.
Да, я явно лучше знаю русский язык и значение слова «ошибка», в частности. :)
И когда в логе появляются разного рода «упсики» и «нотфаунды» — это ошибка. Ошибка разработчика данного устройства. Ну и «производителя», как в рассматриваемом случае. :))

Для меня лень пользователя и есть ошибка
Мда… (Не)знание языка налицо… ;) :))

Лень — это не ошибка. Лень — это личное качество, свойство конкретного индивидуума. И далеко не всегда плохое. к слову. ;)
А вот результатом проявления этого личного качества могут стать и ошибки, в том числе.

настройки по умолчанию могут привести например к неработающему сенсору (подключили не к тем пинам, что по умолчанию) и тд и тп.
Отсутствие обработки подобных ситуаций в программе — это ошибка, да.
И не ваша ли это ошибка, дорогой (во всех смыслах) разработчик? ;) :)))
+
avatar
0
Тысячи извинений!
+
avatar
  • Lisen
  • 04 февраля 2022, 18:35
0
Собрал и я сие устройство на NodeMcuV3 и AHT10. Все работает устойчиво без зависания и сбоев уже несколько суток. Автору благодарность за проделанную работу. Замечание по вкладке Recorder Data — на графике нет даты, что очень неудобно при просмотре данных за несколько суток, и при выключении питания устройства не прерывается линия графика. Удобно было бы фиксировать дату хотя бы при переходе время через 00:00. Для расширения возможности добавить независимый выход Relay Pin на температуру и влажность.
Датчик установил в ванной комнате, наблюдаю за температурой и влажностью, хочу подключить выход Relay Pin на включение вентилятора, а так же управлять нагревом если будет второй выход Relay Pin. Или устанавливать второе ESP?
+
avatar
0
Собрал и я сие устройство на NodeMcuV3 и AHT10
AHT10 норм. не берите AHT21B — врут на 10%RH.

Замечание по вкладке Recorder Data — на графике нет даты, что очень неудобно
там по большому счету надо в вебморду меню добавлять — показать за день, неделю, месяц и тд. я пока не знаю как это сделать.

устанавливать второе ESP?
да, ставить второе.
+
avatar
  • Lisen
  • 05 февраля 2022, 13:01
0
Спасибо за ответ. Сравнил показание температуры с выносным датчиком метеостанции La Crosse WS9257. По температуре расхождение около 0.2 град.(ок!). По влажности около 8%(в диапазоне от 40% до55%) — похоже метеостанция завышает, влажность сравнить больше не з чем. Потребление NodeMcuV3 и AHT10 по питанию +5V, без реле, измерено USB Tester за сутки 0.711 AH (3.57WH) — это так для информации.
+
avatar
0
выносным датчиком метеостанции La Crosse WS9257
в таких станциях стоит емкостной датчик влажности типа HS-03. такой же применяется в древних DHT22, знаменитых своей никакой точностью по влажности. в общем не удивительно.

у меня 5 устройств с разными датчиками: AHT10, SHTC3 (стоит в сяоми), HTU21D, Si7021 и еще какой-то в пром. термостате. все показывают одинаково, с учетом погрешности измерения и округления.

взял еще на пробу полностью кремниевый AHT21B и одно разочарование — +-10%RH. даже пытался его rehydrate по инструкции от HDC1008. вывод — перый плностью кремнивые AHT21B у Aosong оказался шляпой.

вот тут мега обзор почти всего что продают китайцы.

измерено USB Tester за сутки 0.711 AH (3.57WH) — это так для информации
Как то много. Мой тестер показывает 50мА на старте и потом около 10мА. А вообще, сколько не смотрел, все поделки на esp826 без сна живут 2..3 дня от лития на 2000..3000мА.
+
avatar
  • Lisen
  • 03 мая 2022, 13:32
0
При попытке обновить fw_latest, выдает что файл сбойный, fs_latest обновляется нормально. Скаченный с GITHab fw_latest, так же не обновляется. При возможности, обновите файл на Гите, пожалуйста.
+
avatar
0
ок. спасибо проверю.

но это все очень странно. что конкретно пишет, можно подробнее?

какие у вас контрольные суммы файлов SHA256 версии 4.0.0?

fs — A1BE8AEB18D323A9703CA3C1650E2B4D3013DCB75C1D76C8164D2B83DBF1755D
fw — FC5817CFA1F1B881D8D3C15FED34020889C1054BED9AA6C68A3976C45859DC5B

в 4.0 появилась поддержка Telegram. на выходных постараюсь написать обзор.

+
avatar
  • Lisen
  • 03 мая 2022, 20:16
0


Контрольные суммы совпадают:

a1be8aeb18d323a9703ca3c1650e2b4d3013dcb75c1d76c8164d2b83dbf1755d *fs_latest.bin
fc5817cfa1f1b881d8d3c15fed34020889c1054bed9aa6c68a3976c45859dc5b *fw_latest.bin
+
avatar
0
мой косяк. не уследил, что прошивка выросла в размерах. сегодня поправлю. спасибо.
+
avatar
0
исправил v4.0.1. проверьте пожалуйста.

fs SHA256 2F7B985FC9B326F5BBE97012AD933C7F8BD51890422ADB48EDA88FB82DC83059
fw SHA256 E4BE6D94CA2EE219619B664B231E15238D697A4E9CC44B83048C9FF7490A8706
+
avatar
  • Lisen
  • 04 мая 2022, 09:34
0


v4.0.1
2f7b985fc9b326f5bbe97012ad933c7f8bd51890422adb48eda88fb82dc83059 *fs_latest.bin
e4be6d94ca2ee219619b664b231e15238d697a4e9cc44b83048c9ff7490a8706 *fw_latest.bin
+
avatar
0
только что сам все проверил — работает. там же не зря step1, upload1 и step2, upload2

step1: выбираем только fs_latest.bin (сразу fs_latest.bin и fw_latest.bin выбирать не надо) и жмем upload1, ждем пока прошьется и перезагрузится

step2: выбираем только fw_latest.bin и жмем upload2, ждем пока прошьется и перезагрузится

если на step2 опять ругается как раньше — это начит вы забыли почисить кеш браузера после step1. вы думаете я просто так тратил время сочиняя Warning:
Warning: Unplug load before update & clear browser cache after update
как это сделать я писал тут. только вместо player_config.js ищем software_update.js. если сложно, то тупо открываем incognito mode в браузере и набираем 192.168.1.143/software_update.html. скорее всего вам придется заново залогиниться тк incognito mode никогда ничего не кеширует в том числе и пароли.
+
avatar
  • Lisen
  • 04 мая 2022, 16:11
0


Спасибо, обновился.
+
avatar
0
вы молодец. в закладке telegram settings есть краткая инструкция как завести и настроить бота. можете попробовать или подождите недельку, будет обзор с подробной инструкцией и картинками.
+
avatar
  • Lisen
  • 05 мая 2022, 20:05
0


Бота завел. Бот получает сообщение при перезагрузке ESP. А какие команды управления?
+
avatar
0
наберите /help@BOT_USERNAME
+
avatar
0
полная инструкция — mySKU.me/blog/aliexpress/91068.html
+
avatar
0
для ускорения работы сервера, я использую очень агрессивны настройки кеширования HTML и JavaScript. Браузер только первый раз читает эти файлы с tthRelay и сохраняет себе в кеш. Про обновление прошивки он ничего не знает и вместо новых HTML и JavaScript с JavaScript он тянет старые из кеша.