RSS блога
Подписка
tthRelay - делаем полоумное WiFi реле на ESP8266
- Цена: $4
- Перейти в магазин
Хотите реле которое умеет контролировать нагреватели, холодильники, кондиционеры, увлажнители, осушители, включать электроприборы по расписанию и много чего еще? Тогда прошу под 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 — тут.
За $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 — тут.
Самые обсуждаемые обзоры
+68 |
3179
131
|
+49 |
3429
64
|
+28 |
2356
43
|
+36 |
2660
35
|
+52 |
1993
37
|
Исходный код недоступен? Только бинарники?
ПМСМ, данное поделие, скорее относится к банальному школьному уровню DIY.
По поводу «жлобский» — у нас вроде коммунизм ещё не наступил. Я за социализм (это первый этап на пути к коммунизму). Что, будем вместе социализм строить? Как построим, так авторские права все и отменим. Я просто не представляю, почему в действующей системе простой инженер не может подработать такими же методами, как какой-нибудь мелкий предприниматель.
1. Конкурировать с готовыми решениями невозможно ни по цене, ни по качеству. Разве что найти то, что ещё никто не делает (и следовательно это почти никому не нужно).
2. Платёжеспособного спроса почти нет. Те у кого лишние деньги — таким не интересуются или доплатят пару сотен за фирму и позолоченный корпус из титана. Те кому интересно — сделают своё, а не будут копаться в чужих схемах и софте.
3. Ты не можешь давать гарантию, не имея оборотов и не изучив статистику и не разнеся продавца и изготовителя в разные фирмы, иначе тебя или будут кидать или будут портить репутацию.
А исходный код скрывают обычно из-за стыда, что написан не по-модному и тестами не покрыт.
Я кучу своих библиотек написал по datasheet-ам, прикиньте? Ибо это проще, чем разбирать то, что вкладывают (а там часто такое бывает, что тошнить начинает) + это надежней, ибо следуешь сам спеке и понимаешь чем жертвуешь, а чем нет.
Всё равно ведь абсолютное большинство в них либо совсем не полезет, либо ради косметических изменений, без которых вполне можно обойтись. А те, кто в состоянии написать ПО сам — сам это и сделает, скорее всего. И не из боязни каких-то там «закладок», а просто потому, что может это сделать и хочет свой функционал.
Собственно вы тоже в чем то правы. Тот же проект, надеюсь, в ближайшем будущем избавиться от трупа и станет самостоятельным… Вот только времени на это уже ушло несколько лет.
Если проект нужен, после смерти его будут реанимировать или пытаться заменить. Вот только реанимация открытого проекта пройдет гораздо безболезненнее.
Именно это я и пытался донести… :))
Да не факт же. :)
Иногда (зачастую, в случае Open Source) проще «родить заново своё, чем „реанимировать труп“.
»Лошадь сдохла — слезь!" © :))
Никто же не заставляет. ;)
Я, вообще-то говоря, о том, что и Вашего «очень часто проще скопипастить кусок кода и не заморачиваться» — вполне понятного и естественного, к слову — никак не следует, что авторы кода обязаны и должны его выкладывать в публичный доступ. А из комментариев значительной части требующих этого именно такой посыл и звучит: «Мне надо, хочется — поэтому он должен!».
А «он» — не должен. :) Никому и ничего…
Поэтому если поделился автор кодом — скажите дяде спасибо и пользуйтесь подарком, в меру своих потребностей и возможностей. А не поделился — тоже скажите спасибо: мало ли от какого ужаса он вас тем самым избавил ;) :)) — и пишите свой код. Ну или не пишите — вы же все тоже ничего и никому не должны и не обязаны… :)
А требовать — не имеете права. Ни от кого и ничего.
До тех пор, пока не наняли его для написания кода за очень дополнительное вознаграждение, во всяком случае. :)
Если следовать этому принципу, то вообще проще тогда ничего не делать) На то оно и хобби, что делается исключительно в свободное время. Иначе это уже работа))
Вы-то как раз не «давите»…
Я о «группе товарищей», минусующих меня и других, которые явно считают, что автор просто обязан им предоставить исходники… :))
А если бы выложил — были бы недовольны качеством кода, функционалом, ещё чем-нибудь. Есть такая категория людей, которым все должны, и все всё и всегда делают «не так». По их мнению… ;) :)))
Автор свои причины «сокрытия» исходников объяснил и я его понимаю. Его право, в общем-то.
Или «хор мальчиков»-хейтеров, что случается гораздо чаще. Достаточно почитать комментарии здесь… :)
Хобби — это любимое занятие, то, что человек делает «для души», ради удовлетворения своих личных потребностей в творчестве, в познании, и т.п. Это то, что делается самостоятельно, «для себя», своими руками и только тогда, когда человек хочет делать именно это. :)
Так что да, не хочешь — не пиши. Хочешь — пиши сам. И удовлетворение от сделанного получишь, и свой уровень знаний повысишь, и опыт приобретёшь. Но всё это только от самостоятельной работы, а не от бездумного «копипаста», которым страдают — а может, и наслаждаются ;) :))) — многие «ардуинщики»…
«Я так думаю!» © :)
Таки да. Но скорость разработки тоже решает) Ходить по граблям тоже иногда полезно, особенно, если каждый удар граблями не отдаёт звонким гулом в пустой голове. А «бездумная копипаста» позволяет быстрее сделать прототип и понять, а надо ли оно вообще… Но, как мне кажется, тем самым «ардуинщикам» (которым я тоже люблю побыть) хватает и бинарников и более-менее понятной инструкции по установке)) Но это не точно))
+1 =)
Ну какая может быть «скорость разработки», если мы всё ещё о хобби?? :) А как же получать удовольствие от процесса? ;)
По опыту: если вместо бездумной «копипасты» почитать документацию и разобраться в задаче самостоятельно — это повышает дальнейшую скорость разработки куда лучше и надёжнее копирования чужих решений без понимания их сути.
И потом, разве самостоятельное освоение «предмета» в процессе решения своей задачи — это не часть удовлетворения, получаемого от хобби? ;) :))
Возможно, это очень индивидуально. Мне вот для понимания (не)нужности реализации моих идей вполне достаточно, чтобы «прототип» «заработал» в моей голове… :)
Большинству хватило бы, если бы и собрал «прототип» для них кто-то другой… ;) :)))
Код то разный бывает…
Есть масса свободных прошивок с неплохим коммунити. Тот же блинк, например
А народец накинулся на автора, «Самый умный что ли?». Всегда удивляюсь этому стадному инстинкту самосохранения.
правда вы его забросили…
У меня последняя версия трудится на ESP32, что-то передает в мажордомо и всех устраивает
Но ничего принципиально нового там нет, так что статьи про это не пишу
Код на гитхаб могу выложить
Есть от 1 до 8 реле и питания от 220 и 5 и 12в
Если сильно хочется, почему бы и нет
P.S. Кому-то просто «поскорее купить, воткнуть и забыть/забить», а кто-то склонен к творчеству или, как тот же я :), «наелся» уже «готового»…
Ему говорят «ну что ты чванишься?», а он чванится.
Полоумные часы!))
В качестве «преодолеть себя» — достойно и вызывает уважение.
Но, действительно, существует масса проектов, которые не менее похожи на «mass market решение», при том допускают развитие в виде централизованного управления, когда их самодостаточность перестанет быть преимуществом для пользователя.
Первое, что приходжит в голову — Blynk, Tasmota, ESPHome — которые вполне самодостаточны и универсальны, но могут стать частью полоумного дома. Например, Home Assistans.
Скоро приедет плата и несколько модулей. Буду осваивать.
Кто захочет барыжить опенсорсем будет шить бинарниками и барыжить. Если есть желание накидаю ссылок на такое поведение.
А вот тех кто захочет изменить функционал под себя отсутствик кода отсеивает. :(
Великое блин достижение что даже примитивные исходники зажали людям готовым поддержать идею и развить функционал.
Ссылки, пожалуйста… :)
Вдруг «поддержать и развить» кому захочется? ;) :))
Вообще не вижу проблемы… :)
То в этом проекте вам будет разобраться сложно. Тут тебе и Си, html, Dom, Ajax, JavaScript и все это перепленно и менять надо в 100500 местах.
И если Ваш уровень знаний не позволяет Вам написать свой проект, то Вы, скорее всего, окажетесь не в состоянии внести правки в уже существующий: в нём ведь, для начала, разобраться надо, чтобы не наворотить чего в попытках его «улучшить».
Но тут одно «но», чтобы это работало у вас должен быть большой опыт программирования на других языках.
И с ним Вам уже не особо важен язык проекта, в котором Вы, как тут выражаются, «ковыряетесь» — Вы всё осваиваете по ходу дела, используя уже имеющиеся знания и опыт.
А как Вы думаете — много ли такого «большого опыта» у большинства тех, кто упрекает автора в «утаивании» его кода?..
Мы даже обсуждаем секундные!!! интервалы.
У меня 10 сек в сутки включается да еще и на 5вольт.
Бочонок Газели стоит в Газели в подкапотном
Там везде вода
Открыты только библиотеки сенсоров AHT1x/AHT2x и HTU2xD/SHT2x/Si70xx. Ссылки на них есть в readme. Этого достаточно чтоб написать свою версию реле в 100500 раз лучше моей.
развивать проект не планирую, он покрывает 100% моих желаний. но если кто то предложит интересную фичу, то почему бы и нет. именно так появились графики и кнопка Backup data.
пы.сы. скорее всего придется что-то делать с графикам и таблицей когда лог перевалит за пару недель, но до этого надо еще дожить.
Дизассемблер в руки и вперед, благо асм у ESPшки простой — не STM да и прошивка небольшая.
А потом ждем здесь — поделитесь с общественностью аудитом.
Открытых, альтернативных решений — полно. Но там солянка.
Не хотите солянки — разбираетесь, пишете свое, выкладываете сюда )
И всем хорошо.
И как? Где Ваша паранойя по этому поводу? ;) :))
что такое ?
Вы серьёзно?? :))))
Ну, хорошо. Вот используемый автором ESP8266. Читайте. :)
Надеюсь что понимаете что говна вам накидали не за плохой проект а за закрытость :)
Удачи в разработке.
с перламутровыми пуговицамис экранчиком и управлением?Что бы получить полноценный термостат для тех же тёплых полов, но без обязательной привязки к компу.
Полоумное, в смысле — сумасшедшее? Оно, даже, произвольно не включается/выключается :(
поэтому повторю:
Реле предоставляется «КАК ЕСТЬ» без каких-либо гарантий. Не оставляйте без присмотра. Автор, не несет ни какой ответственности если у вас что-то пошло не так.
Проект таймера на ардуине под esp8266 с расписаниями. Есть исходники.
www.instructables.com/ESP8266-01-IoT-Smart-Timer-for-Home-Automation/
Я уже много лет пользуюсь подобными самоделками дома.
На свет простой SSR(solid state relay) на 2А более чем хватает.
Всё влезает в коробочку 40*40мм.
Управление двумя каналами.
За готовое реле ~80-90₽.
Можно взять модуль с тиристором или спаять самому: дешевле, компактнее, надёжнее.
Но нужны голова, руки и отсутствие лени.
Мои менее функциональные, чем у ТС'а.
Но его — без исходника, а это как любоваться машиной соседа)
Сейчас вебморда доступна из локальной сети роутера. Никто не мешает пробросить ip реле во внешний мир и управлять с любой точки мира. Но помним что протокол http и его слушают все кому не лень.
Если связь с роутером пропадает, то в течении минуты на реле подымается точка доступа куда вы можете зайти и поменять пароль и имя роутера если надо.
Как только реле подключится с роутеру, то точка доступа пропадает. И появится опять только если связь с роутером пропадает.
В общем надо гонять проект в живую и большинство вопросов снимется… пойду достану макетку, датчик AHT10 как раз валяется без дела)
С какого перепугу кто-то что-то вам обязан выкладывать?
Тем более — исходники? Может у вас и от биоса исходники есть, который вы пользуете?
Или от часов? Или от каких-либо других девайсов?
Человек сделал и поделился тем, чем счел нужным — он вам ничего не должен. Хотите — пользуетесь — не хотите — делаете свое.
Совсем стыд потеряли. И яблочко и голубую каемочку, а если просто яблочко — то сразу жлоб!
Ну вот, положим, автор щас возьмет и все закроет и статью туда-же — это, конечно, куда лучше будет, да?
Например я тоже исходники не отдаю, потому что почти все они основаны на моих-же библиотеках, на которые потрачено много сил и времени, а без них исходники будут бесполезны, даже если их открыть.
Это одна из самых частых причин невыкладывания исходников. А еще библиотеки могут быть просто под NDA.
Отличный пример — wifi-iot.com/ В свое время это была очень удобная штука, я и сам пользовался и денег не жалко было заплатить (2$ было за лицензию, не знаю как сейчас). Но нет исходников. Нужна какая-то небольшая доработка или багфикс — жди полгода или вообще не жди.
Это что ж у вас там за такие волшебные библиотеки?
Они чем-то лучше чем то что уже выложено?
Просто, по моему опыту, «выкладывание в массы» подразумевает некоторую ответсвенность за «продукт». И это даже с исходниками не исключает вопросов, типа, «а можете сделать, чтоб 3го мая в 8 утра включалось». Но если продукт действительно хороший, то кто-то сделает «под себя», кто-то пулл-реквестов накидает… ну и дальнейшее развитие.
Переживать, что «украдут» и будут деньги на этом зарабатывать? Серьезно?
Да ничто и никогда их не исключает. :)
Люди охочи до халявы, поэтому — да, после выкладывания исходников стоит ожидать критики типа «Я не понимаю, почему ты не сделал всё так, как считаю правильным я??» с прозрачными намёками на возможность поработать бесплатно на чужое благо, «допиливая» своё поделие в соответствии с чьими-то представлении «о добре и зле». :))
А если человек поделился тем, что сделал, в том объёме, какой он счёл для себя возможным — это что, рубит на корню «творческий порыв и инициативы масс»? :))))
Кому это интересно — и исходники напишет, и схемы перелопатит, и даже выложит всё это во всеобщий доступ, а не просто будет критиковать автора за то, что он, в отличие от большинства, хоть что-то сделал, да ещё и поделился частью сделанного. :)
Дерзайте! Личным примером… ;) :)
(не касается темы конкретного обзора) Но бывает, находишь то что тебе нравится, хочется подправить под себя. Я не хочу лезть к автору с просьбами добавить кнопочку для меня. Есть исходники — ок, поиграюсь.
Но это не означает, что я не знаю, как это устроено и работает на практике. :)
Спасибо, что рассказали. :))
Бывает, что и находишь, да. Но лично мне обычно хочется «запилить» своё, потому как чужого кода, который бы мне нравился «как есть», я не встречал уже лет с 25, наверное. Это была FORTH-система F-PC от Tom Zimmer, под DOS ещё…
А дальше всё больше самому хотелось писать. :)
Ну, здесь их нет — и это право автора. Примите это как данность. :)
Но ведь устройство и его функционал достаточно просты, так что если Вы умеете «поиграться» с чужими исходниками, то почему бы не «сыграть» в своё собственное? ;) :)
Ибо там обычно:
-дикое и не нужное ооп, или его отсутствие там, где оно нужно
-ужасный код что на с, что на плюсах
-бешенное использование директив компилятора
-мешанина кода без разделения на библиотеки
-реализован лишь кусок функционала
-тайминги на от… сь
-отсутствие обработки ошибок
-работа в цикле (прерывания, дма — не, не слышали)
-неуниверсальность (например, только под конкретный проц)
и тд
© Каждый разработчик очередной библиотеки
Смотрел, видел, прекрасно понимаю, что 90% — колхоз. Из нормальных все равно что-то не подходит. По этому, проще написать свое, ибо часто надо всего 1% от фунционала.
Это коммерческий продукт или «для себя»? «Удобно пользоваться» — сколько пользователей сказали, что им удобно?
Остальные пункты — там все субъективно и противоречиво если смотреть в общем.
Да, коммерческий. И я, конкретно, занимаюсь именно поддержкой этих библиотек. В команде у нас 17 человек, если считать меня, которые активно ими пользуются.
Нареканий не было, ибо я всегда придерживаюсь принципа kiss, стандарта кода, разумной универсальности и полноты спецификации.
Пишем на C/C++ без каких-либо сторонних оберток.
И не надо за других домысливать — всегда ошибаться будете.
Если вам больше 20, вы и так знаете, что в жизни, в принципе, все субъективно.)
У меня основная работа иногда пересекается с тем что я делаю дома «для себя». Но это два разных мира — по затратам, подходам ну и результатам.
домысливать вы тут началали:
Ну я так понял, вам больше 20, но все ниже перечисленное, если не брать частные плохие примеры — явно юношеский максимализм
Знаете, Марк Твен говорил так: «Никогда не спорьте с дураками, они опустят вас до своего уровня и победят опытом.»
Я не хочу спорить с вами, tklim) Вы абсолютно не понимаете, точнее, не хотите понять, что вам пишут. Смысл тогда?
Считать можете, все что хотите.
Не знаю, лично не знаком, да и как-то не успел застать. Если у вас есть текст оригинальной цитаты на английском — скажу спасибо, иначе это "© Джейсон Стетхем"
Можно мне другого психолога?
Тут про DIY.
Я не поленился и вчера скачал и поставил посмотрел.
1) Имея опыт с ЕСП — потратил полчаса времени «чтоб просто заработало»
2) Не включает реле по кнопкам на странице (ну или пишет что не включило)
3) Интерфейс тупит по 2-3 секунды
Пришлось звать «кавалерию» чтобы она разбиралась с тем что происходит, ведь я использовал «конкретную версию библиотеки» © и у меня все работало как часы.
А StainlessSoul — так вообще только за свои собственные библиотеки.
Но тут все отвлеклись от темы. Я так понял, наболевшее — это библиотеки околоардуины для общения с датчиками. С ними все +- понятно. А вот библиотеки парсинга json или xml тоже надо самому изобретать?
Например банальными struct
Пусть мучаются.
Пы.сы. про фишку GermanIvanov не знал. Я не настоящий сварщик.
Вы шутите! Это базовый С образца Кернигана и Ричи. :)
Нате тогда еще одну чудо-фишку :) Это конфиг файл на SD карточке. Тоже в пару строк без внешних библиотек.
heap у меня постоянно свободно около 30КБ с фрагметацией 2%, так что не вижу препятствий использовать json.
Имхо считаю — харкодить html страницы в Сишные заголовки — это моветон, костыль и человеческая лень. Да хотя бы потому что после правки страницы нужно весь проект пересобирать. Да и не правильно все это. Вы же творог не из вареников добываете, а наоборот творог в вареники кладёте. Вобщем есть тут какая-то broken logic.
базовый С образца Кернигана и Ричи не читал. Даже не знал что он существует. Я вобще не программист. Писать для себя как хобби начал с 2011. Изучал во сновном читая чужой код с github. Только в 2016 что, то начало получаться и до рос до законченный проектов (tthRelay,
MatrixClock) только в 2020. Все это урывками, в свободное от работы и семьи время.
Это же ардуина! У нее своя специфика. Откуда она по вашему может вообще текст html страницы взять? Вам придется выделять часть памяти под нечто вроде диска, и дополнительно заливать его содержимое в процессе компиляции из папки data. То есть делать два действия вместо одного, попутно подтягивая пару лишних библиотек и все равно пересобирая проект.
Есть замечательная статья которую следует прочитать всем программистам, как начинающим, так и опытным. Держите :)
Вы — не Google
Небось файл веб странички как то так читаете?
ps: Главное что, главное чтобы вам самому нравилось. :) ну и действительно код лучше никому не показывать :))
почти так читаю.
uint32_t sendSize = server.streamFile(file, contentTypeStr);
Считываете вы строку туда, где у меня она лежит изначально(это не совсем так но опустим)… опять потратив память и потратив время на считывание с сравнительно тормознутой файловой системы. В моем варианте вы просто взяли… и вывели строку клиенту и все!
ps: Что означает R в начале строки с текстом страницы в моем примере предлагаю узнать самостоятельно. :)
String html_1 = R"=====(
pps: Строчки указанные ниже типичный «Я Google». Вы всерьез полагаете что кто то будет коннектится к вашему серверу кроме вашего же сервиса?
Вы не знаете какие страницы собираетесь считывать?
конечно знаю. я же сказал хранить файл тупо во флеше (а не на файловой системе) — это странно. давайте весь win10 так зафлешим. прикиньте какая скорость будет?
как говорил один очень толковый инженер с которым я работал — если это может случиться, то рано или поздно это произойдет. я его первый раз не послушал и через год мне прилетело.
И поэтому я стараюсь не использоватьв проектах чужие «универсальные» либы. Если мне от них нужна специфичная функциональность выкусываю ее и очищаю от «универсальности».
Было бы странно если бы это был файл, а это ведь обычная тестовая строка. Гляньте исходники своего вебсервера под капотом скорее всего найдете код из моего примера.
Думаю очень быстрая, но потребуется много флеши.
вы же сами на си пишете? а почему не на asm? вот и мне не удобно.
не понятно зачем, с такими знаниями, вы используете Arduino? писали бы сразу на esp-idf без томозной прокладки
Обновишь страничку — опять циферки побежали. и нигде никаких ошибок. 8-(...)
В попытках отыскать причину бага, уменьшил зону поражения, удалив все ненужные либы. Спустился до показанного уровня детализации. и вы знаете, мне там понравилось! :)
Хозяйке на заметку:
1) к URLу добавляется рандомное число, тогда после обновления прошивки не надо чистить кэш, а в остальных случаях оно успешно кэшируется. Ну в тексте html надо ссылку обновлять, но это решаемо.
2) библиотеки ардуино ESP в serveStatic автоматически проверяют наличие файла с добавленной ".gz", если есть, то отдают его, указав в HTTP-заголовке сжатие. Т.е файлы в spiffs/littlefs можно сжать совершенно прозрачно.
3) я делал так. Файлы статики добавлены в прошивку, но при её старте скидываются в spiffs, если их там ещё нет или версия обновилась. Да, увеличивает размер прошивки, зато прошивается одним файлом. Но можно обновить только статику. Или только код. И удобно и просто.
хорошая идея, возьму на заметку. к моем проекту не подойдет — файлы статики много весят и прошивка может не влезть.
Дык если есть сразу и закодируйте блобом сжатый. Будет и быстро и без потерь памяти. Имхо так лучше.
Я тогда как раз и ставил задачей избавиться от файловой системы. Как только понял что вся магия веб сервера это банальное чтение строчек текста из одного места и записи их в другое место.
Если клиент спросил страничку /range — отдай ему строчку со значением(без json или вообще какого либо html),
если спросил / — отдай клиентскую страницу.
Клиентская страница в свою очередь получив от запроса /range строчку с числом выводит ее в div на html странице.
Все. нет ни json, ни даже либы веб-сервера. Для работы хватает того простейшего что описан в Wifi.h
Правда моих задач это все равно не решило по скорости пришлось уйти на вебсокеты.
Да тоже самое. Скорость вообще не заметно, память занимает только если временно, во время обработки, не жалко. А плюсы есть. В том числе и gzip сжатие, возможность обновлять только статику без полной перепрошивки при отладке (банально быстрее).
В вашем примере на одну страницу — это хорошо работает, но в проекте покрупнее уже все-таки лучше с либой веб-сервера, а не изобретать велосипед с риском получить несовместимость с каким-либо браузером. А то придётся разбирать POST запросы и т.д.
Да, у каждой задачи свои оптимальные решения, спорить не буду. Просто предложил ещё один вариант.
вот именно это и хотел донести, но знаний не хватило
давно это было, но насколько помню ошибки были разные при отвале Wifi и не отвечающем сервисе. в одном случае таймаут, а во втором что то про DNS или протоколы вроде.
Возможно. Каждой задаче свое решение. Но имхо такие проекты лучше решать не на ESP. И окончательный релиз я бы довел до указанного состояния. Хотя и там я во многих местах схалявил — это ж прототип :)
А вот от adafruit была глючной, один баг даже исправил, приняли мой PR, но там коде весьма корявый, в тех местах, куда заглядывал. В прочем, с тех пор могло поменяться многое. Повелся на неё, потому что тоже вроде как популярная в diy-проектах, ну и имя на слуху было.
обмен данными на websocket.
Я таки согласен с небезизвестным в узких кругах pvvx — пора сползать на ble. Даже пару проектов на TLSR реализовал.
А насчет сползать — не соглашусь. Где-то wi-fi удобнее, благо есть, по сути, везде. В некоторых случаях — zigbee.
BLE проще в реализации и как ни странно и надежней. Разве что скорости низкие.
Этого не пробовал еще.
Записал эту интересную мысль в блокнотик :)
ребята пишущие на ассемблере по началу тоже смеялись, но потом быстро перекрасились на ООП, потому что так удобнее.
Его «знания»: «Был сделан запрос — был/не был получен ответ».
Вообще-то по стандарту браузер просто обязан «пытаться»…
А выдаваемая им ошибка — это, скорее всего, просто «перевод» кода ошибки, получаемого им от системы.
А я «начитался» RFC. Правда, давно уже, но тем не менее, представление о поведении браузера в данном ситуации имею не по внешним признакам…
И ещё. Я, вообще-то говоря, не «докопался», как Вам пригрезилось, а уточнил. Рассчитывая, как обычно, либо на ответ по существу, либо на отсутствие ответа, но уж никак не на детски-обиженное, в стиле «Сам дурак! Мне и без тебя тут плохо!..». :)
Так что да, с учётом Ваших реакций — спорить, в принципе, есть о чём, но вот с Вами — не стоит.
Выздоровления Вам… :)
С чего Вы это взяли?
Больше половины софта используют так или иначе компилируемые «ресурсы», начиная от виндовых rc файлов с описанием форм, иконок и прочего, заканчивая Андроид приложениями где те же Активити описываются в xml.
Так что, удачи в использовании чужих цитат и придумыванию несуществующих «заслуг» по комментариям в интернете.
Тут тоже какбы не большинство оценит труд и похвалит… Хотя работа вожможно и проделана колосальная ))))
Почитываю пару проектов там вполне накидывают полезных фич в развитие с помощью в их решении.
В частности очень интересный здешний проект, который кстати комерческий. При открытых исходниках, либах, и файлах производства плат и корпусов. ))))
Моя либа для AHTxx тут. Моя либа для HTU2xD/SHT2x/Si70xx здесь. Фреймворк Arduino ESP8266 берём отсюда.
Тепрь у вас есть все кубики написать свое реле, а писать за вас я не буду.
Но я так понимаю вам так и не стало понятнее, почему некоторые вас критикуют…
почему либы с большим количеством реальных примеров и отзывчивой поддержкой/помошниками более популярны? Боюсь тут я ничего исправить не смогу ))))
тот же фрут продает железо, показывает как оно устроено, пишет драйверы/библиотеки, реальные примеры использования, и какуюто помошь при использовании. может найдете чего у вас из этого нет, и что б из этого могло больше популяризировать нормальные (с вашей точки зрения) библиотеки? ;)
1. Для «попу-ляризации» своего проекта. И в последующем, если проект стрельнет, то заработать что-то на нем.
2. Для того, чтобы оттестировать свой проект на как можно большем количестве устройств
3. Для того, чтобы распространить своего бота на как можно большей аудитории.
Скорее всего это 1 или 2, но и 3 исключать нельзя.
А если избавиться от неукротимого стремления приписывать другим свои желания, привычки, образ мыслей, и т.д., то можно просто прислушаться к тому, что человек уже здесь сказал на эту тему.
Но да, это слишком обыденно, нет никакого полёта фантазии, никакой интриги… ;) :)))
послушать что говорят люди, чтоб добавить или убрать функционал. например в проекте часов так появилось меню длительности горения разделительных точек. а теперь сам пользуюсь режимом — точки с анимацией. без людей этой фичи никогда бы не случилось.
поделится очень полезным устройством, которое работает без облаков, дополнительных шлюзов и стоит дешевле sonoff. лично мне такой всегда не хватало, поэтому и сел писать.
«По-моему» автора отличается от Вашего. :)
И это более чем нормально: он ведь делал для себя, а не для Вас.
Зачем так не понимать?.. ;)
И менять установки удалённо?
Учитывая, что экономия между тинькой и есп-шкой не покроет даже такое простое мероприятие как «нормально попить пива».
github.com/letscontrolit/ESPEasy/releases
А тут в одном устройстве…
Но при EspEasy там возможностей в разы больше будет)
На основе правил все и даже больше можно реализовать
то что предлагает автор.
Я с EspEasy уже давно 17 устройств работаю
на осное ESP уже 4 год + мажордом
Я пару раз уже спрашивал в разных местах, а не завалялась ли где прошивка позволяющая нативно цеплять самопальный девайс на esp к алисе ( хотя-бы вкл, выкл, в идеале еще и возврат состояния) но все молчат как партизаны. Толи вопрос глупый и нубовский, толи никто не знает. Жаль, хотелось бы например в компы встроить вкл.выкл, перифирию то я развел через розетки, а вот компу так просто свет не рубанешь.
Пока склоняюсь к изготовлению простенького «роутера» с IR на Wifi (BT) принимающего команды от «умного пульта» и отправляющего их дальше девайсам в домашней сети. Тогда никакого «Кузи» не понадобится и опять таки безопасность повысится. Но опять таки не понятно как отдавать назад состояние.
yandex.ru/dev/dialogs/smart-home/doc/certification.html
https://aliexpress.ru/item/item/33005918303.html Работают с Алисой напрямую без навыка.
Отдельная тема — «умный» пульт. Он обучается IR командам от любого произвольного пульта, а затем выплевывает выученные комбинации по голосовой команде. Нужно спаять либо мост IR-> «полоумное» локальное © WiFi или к распаянной в пульте esp8266 допаять еще одну которая будет раздавать команды не только по IR но и по локальному WiFi (BT, rf433) вообще без облаков.
Другой вопрос, насколько сложно кастомной прошивке прикинуться устройством от Tuya, например, такой вот розеткой. Надо искать.
С прошивкой сам разберусь
от этого может зависеть что из железа моста интереснее и больше подходит.
просто уточнил.
вам тогда сюда — mysku.club/blog/aliexpress/46221.html
чтоб можно было управлять им со смартфона, и видеть через камеру )
кто что видел подобное, поделитесь плиз )
Плату esp32 вместе с камерой можно взять меньше $5 на али.
Навскидку:
dronebotworkshop.com/esp32cam-robot-car/
А то я что-то не могу нагуглить сравнительную таблицу между всеми вариантами ESP.
А чем они вообще отличаются E, S и т.п. размером флешки?
А вообще мне реле не нужно, просто интересно точно температуру мерять. Я как раз на последней распродаже купил датчик ATH21…
Вот есть же прекрасный проект github.com/maximkulkin/esp-homekit от нашего соотечественника. Открытый, вылизанный.
Используется в продакшене кучей народу, в т.ч. китайцами, которые на нём делают классные штуки типа этой:
(эта штучка прячется за существующим выключателем в подрозетнике и превращает его в «умный», управляемый с iPhone)
В результате все рады — автор тешит свою программистскую жилку, зарабатывает известность, ему есть, что показать рекрутёрам — а потребители получают дешёвое китайское железо с написанным европейцем кодом.
за ссылку спасибо.
Открытые проекты лучше всякой проприетарщины.
Я понимаю, если бы это выложено было на форуме программистов. Но это, как я понимаю, для самодельщиков. А я давно хотел такую штуку, но мне не нравятся девайсы, которые работают через Пекин. Знаю, что некоторые из них можно было перешить, но посмотрел методику — желание отпало возиться. Это было несколько лет назад, может сейчас уже по другому, но для меня критерий простой: чтобы девайс работал локально и чтобы довести его до ума было просто.
Но по поводу травли автора не за эффективность (которую они и не проверяли) его проекта (бесплатного), а за способ его реализации — отвратительное впечатление о комментаторах. Причём травля по критерию, который посчитали важными авторы комментариев, которым этот проект и не нужен, а не по критериям, который важен для реальных пользователей. Которых они (авторы) конечно не спросили.
И ещё уверен, что эти же люди пользуются ОС на смартфонах из коробки и едят их ложками. Может побуркивая в комментариях. Просто потому, что и не надеются, что Гугл или Эпл их заметят. А на автора ведь можно наехать…
так это не мои проблемы. у меня негативных эмоций ко всем комментаторам нет. причем по самому проекту то критики нет.
Прямой вопрос: зачем вы ваньку валяете? Ну это же только идиоту не видно.
я совершенно не виляю и не ломаю ваньку. это не мои проблемы если у человека его ожидания не совпали с его реальностью. понимаете?
Вы не поверите, но были и всё ещё встречаются люди, предпочитающие почитать документацию, что-нибудь «из классиков», вроде Кнута, Кернигана и Ритчи, и т.д — и сделать что-то своё.
Оно поначалу-то подольше, но в итоге всё же как-то полезнее выходит, по опыту. :)
А Вас кто-то заставляет? ;)
Мне вот непонятно, зачем брызгать тут слюной на экран и плевать в автора, который использует своё право распоряжаться плодами своего труда и не публикует исходники.
И я что-то не вижу, чтобы хоть кто-то из его «крыцыков» и ругателей за столько дней обсуждения привёл бы, наконец, пример собственной «широты душевной», дав ссылку хоть на что-то своё, таки опубликованное, как он того требует от автора…
Так «не лучше ль на себя, кума, оборотиться»? ;) :))
И — личным, так сказать, примеров вдохновить автора и всех нас. :)
На экран никто не брызжет — понятно, что всем денег хочется, но это так не работает (по крайней мере ТУТ).
Я понимаю, когда скрывают например исходники грабберов и сканеров — там есть что прятать (например мануфактурники), чтобы школота не баловалась. Но примеры алгоритмов все есть — если действительно нужно, разберешся… А тут то чего скрывать?
Про проект я ничего плохого не сказал — ну есть и есть… Просто без исходников мне например вообще не интересно — зачем? Если есть куча подобных с исходниками?
А про деньги — есть куча примеров с исходниками, где автор все таки зарабатывает. Путем продажи готовых устройств — для тех кому самому возиться не интересно.
И да, то, что пишу я, я отлично понимаю и осознаю. Чего и другим желаю, хотя явно не у всех получается…
Ну, монстр — это, видимо, Вы перед зеркалом комментарии пишете. :)
Но таки да, в середине 1990-х довелось самостоятельно написать для себя кросассемблер для первых доступных в России PIC16C84 и софт для программатора, собранного самостоятельно. Всё — после вдумчивого неоднократного прочтения документации…
Делиться было не с кем — я в своём городе «первопроходцем» был, и не только интернета — FIDO ещё не было, как и телефона домашнего. :))
Так что просто когда сильно понадобилось — взял и написал. И пользовался до тех пор, пока диски с документацией от Microсhip в России подешевели от пары-тройки сотен долларов до бесплатных. :)
И да, абсолютное большинство знаний и навыков получено без бездумного копирования чужого. Во-первых, не приучен и больше привык и люблю самостоятельно разбираться. А во-вторых, в те времена «слизывать» неоткуда было, а «классики жанра» в своих малодоступных тогда книгах делились только коротенькими примерами кода, иллюстрирующими принципы и подходы, а дальше уже нужно было самому… И это хорошо. :)
Не первый уже раз читаю эти вот «я понимаю» и, чаще, «я не понимаю!». Но это не тот сайт, где учат и вразумляют. Здесь публикуют обзоры.
Есть понимание — берите и делайте, если хочется. Нет понимания — идите и учитесь. Учить вас никто не подряжался и не обязан. Здесь — совершенно точно нет.
А понимать достаточно только то, что автор не обязан. Всё.
Не нравится — проходите мимо и ищете либо более «щедрых», либо, что было бы лучше, но не про многих из вас — учитесь сами и делайте. И личным примером показывайте, как надо делиться своим кодом… ;) :))
Не интересно? :) Ну так и идите туда, где интересно. Здесь-то, в комментариях под «негодной» публикацией «плохого» автора, чего бурчите уж который день? :)
И что с того? Это личный выбор каждого. Автор свой уже объяснил.
Есть так же масса примеров того, что люди пишут своё и выкладывают в публичный доступ вместо критики тех, кто поступает иначе.
Вот вам бы к ним присоединиться… ;)
я думаю что весь холиавар на счет исходников в этой теме возник из-за того, что в сети есть как минимум два похожих полностью открытых проекта. сравните с моим предыдущим обзором MatrixClock, там негатива намного меньше. почему? да просто у часов не оказалось opensource конкурентов.
а здесь username справедливо спрашивает — зачем мне это tthRelay если есть Tasmota и espEasy? отвечу. я несколько раз бегло смотрел исходники и того и другого, но так и ничего не понял. выхода было два: безрадостно потратить минимум неделю-две, что бы понять, что там к чему или получить удовольствие (это же хобби) и новые знания от написания своего. естественно я выбрал второе.
тут писали о инсталляторе Tasmota прямо из браузера, но я его не нашел? я это к чему — имхо Tasmota и espEasy тяжелы для понимания с наскока. информации много, она плохо упорядочена, нужно читать и смотреть горы инструкций. интерфейс обоих проектов слишком перегружен — чем-то напоминает впечатления нуба первый раз попавшего в кабину самолета. я понимаю что проекты универсальные и по другому никак, но мне от этого не легче. и тут опять — безрадостно тратить время на изучение UI или написать свой так как тебе нравится (под себя) и получить дофамин от новых знаний?
к тому же у меня другая концепция — одно устройство, один функционал. зачем делать из кухонного миксера, перфоратор по бетону? и миксер будет так себе и перфоратор шляпа. устройство должно быть простое как АК-47, тогда его его ждет успех, иначе оно так и останется уделом гиков.
я все сказал.
если в кондее есть вход для подключения термостата с сухим контактом, то можно подключить какое-то подобное реле, единственное что нужно запитать его от отдельного блока питания, на выходе самого реле не должно быть напряжения(то-есть «сухой контакт» — он просто должен замыкаться-размыкаться).
не уверен что конкретно эта прошивка подойдет для режима охлаждения, по картинкам не понятно — там гистерезис должен быть повернут в обратную сторону(включаться при более высокой температуре, отключаться при более низкой). обычно в термостатах для этого есть настройка — работать на охлаждение или обогрев.
хотя можно в принципе подключать к no или nc контакту реле чтобы переключать режим.
ползунок от центра влево — охлаждение
ползунок от центра вправо — обогрев
https://aliexpress.ru/item/item/1005002231689053.html
https://aliexpress.ru/item/item/1005001621799272.html
https://aliexpress.ru/item/item/1005001631140958.html
P.S. Чтож вы так упёрто все лепите розетки на один выход? Потребовалось управление 2-мя розетками — пришлось самому править чужую программу. Что, всех устраивает, что для каждой розетки надо отдельная ESP?
а вы чего только два реле повесили? у esp8266 выходов намного больше 2-х.
А вот Вам нужно было одно — и это «в ког'не невег'но, батенька!» (© Владимир Ульянов-Ленин).
Вы же, в отличие от Ваших «крыцыков», просто обязаны были предвидеть и предусмотреть «нужды и чаяния» всех и каждого, загодя реализовав в своей разработке «для себя» все хотелки всего населения планеты… :)))
И, абстрагируясь от наскоков «обиженных», замечу, что эту «инвалидность от рождения» — «глюк» с появлением случайных импульсов на выводах ESP8266 при его старте — вполне можно было бы решить путём использования RC цепочек между выводами ESP и ключами, управляющими реле.
«Я так думаю!» © :)
2. Исправный, правильно запаянный датчик настолько завышать температуру не может.
Или он «инвалид от рождения», или вы его «поджарили» при пайке, «или одно из двух!» ©.
P.S. Температура-то, я надеюсь, в рабочем диапазоне датчика? ;)
UPD: А как часто опрашивается датчик? Если чаще рекомендуемого минимального периода, то он может элементарно разогреваться и, разумеется, будет завышать показания — показывать свою «личную» температуру… :)
А датчик у вас в каком виде был — готовый модуль или отдельная микросхема? Если второе — могли при пайке перегреть. Но это повлияло бы на показания датчика, а не на поведение устройства в целом. В теории…
Х.з. как оно там внутри организовано и кто на кого влияет… :)
В это устройство не верю. Купил другое (Релейный модуль SONOFF RE5V1C-5V Wifi)
те при удачном подключении к вашему роутеру, точка доступа по адресу 192.168.4.1 пропадет. исчезнет. понимаете? Если у вас Windows 10, то в браузере наберите:
если вы касались датчик рукой он может приврать. подождите пару минут. если и после этого разбежка все рано будет большая, то у вас бракованный сенсор. вы случайно ацетоном плату не мыли, паяльником не тыкали? китайские паяльные станции на Т12 могу легко убить сенсор. почему? читаем тут ближе к середине.
пы.сы. точно такой же сенсор как у вас трудится у меня в погребе с этой прошивкой уже 3-й месяц. сравнивал с Xiaomi BT Thermometer 2 на Sensirion SHTC3. Сяоми показал температуру на +1.3С выше. Влажность совпала с учетом округления, + 0.45%.
А у человека — превышение показаний на 4°C. Почему это может быть, как вы считаете?
Это не я увидел. :)
«Переученный хуже недоученного» © — сразу начинаешь искать какие-то «глобальные» причины, забывая о подобных «мелочах». :)
Тем более что сам я подобного не допускаю, потому и в голову не пришло…
как раз то что вы описываете говорит что происходит.
вы случайно Hostname не меняли в вебморде?
Температура со временем растет потихоньку, относительная влажность падает. Значит датчик разогревается…
Попробую взять другим способом. Не думал, что картинка будет такой малой
Все равно ничего не видно. Как взять лог из программы Terminal?
К слову, даже на картинке видна масса ошибок. На мысли не наводит?..
Подсмотрел IP в логе и зашел через смартфон. Это хорошо, через интернет зашел. Осталось только данные правильные получать. Пока данные не верны…
С компьютера вход не получается ни по предложенной ссылке ни по IP из лога
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
на Oops! не обращайте внимание — это просто предостережение о том, что не обнаружен конфиг на файловой системе (вы его не сохранили) и реле вместо этого возьмет стандартные настройки из прошивки. можете оставить так, но я вам советую хотя бы изменить пароли на точку доступа и на сервер, мало ли что.
я писал чуть выше
Следует помнить, что оба ваших датчика имеют некую погрешность измерений, которая вам неизвестна. И сравниваете вы один не очень точный с другим, таким же. :)
Для того, чтобы точно узнать, отклоняются ли показания датчика от истинной температуры, в какую сторону и насколько, сравнивать надо с образцовым поверенным прибором.
А пока что можно считать, что показания в норме… более-менее… ;) :))
Печально, но это жизнь…
Любой датчик имеет некоторую погрешность измерений, которая указывается в документации.
Файлы следует создать и сохранить в устройстве, чтобы потом, в случае возникновения проблем в его работе, чётко знать и понимать. что «ошибка» в логе — это ошибка, а не напоминание о лени его изготовителя. :)
И когда в логе появляются разного рода «упсики» и «нотфаунды» — это ошибка. Ошибка разработчика данного устройства. Ну и «производителя», как в рассматриваемом случае. :))
Мда… (Не)знание языка налицо… ;) :))
Лень — это не ошибка. Лень — это личное качество, свойство конкретного индивидуума. И далеко не всегда плохое. к слову. ;)
А вот результатом проявления этого личного качества могут стать и ошибки, в том числе.
Отсутствие обработки подобных ситуаций в программе — это ошибка, да.
И не ваша ли это ошибка, дорогой (во всех смыслах) разработчик? ;) :)))
Датчик установил в ванной комнате, наблюдаю за температурой и влажностью, хочу подключить выход Relay Pin на включение вентилятора, а так же управлять нагревом если будет второй выход Relay Pin. Или устанавливать второе ESP?
там по большому счету надо в вебморду меню добавлять — показать за день, неделю, месяц и тд. я пока не знаю как это сделать.
да, ставить второе.
у меня 5 устройств с разными датчиками: AHT10, SHTC3 (стоит в сяоми), HTU21D, Si7021 и еще какой-то в пром. термостате. все показывают одинаково, с учетом погрешности измерения и округления.
взял еще на пробу полностью кремниевый AHT21B и одно разочарование — +-10%RH. даже пытался его rehydrate по инструкции от HDC1008. вывод — перый плностью кремнивые AHT21B у Aosong оказался шляпой.
вот тут мега обзор почти всего что продают китайцы.
Как то много. Мой тестер показывает 50мА на старте и потом около 10мА. А вообще, сколько не смотрел, все поделки на esp826 без сна живут 2..3 дня от лития на 2000..3000мА.
но это все очень странно. что конкретно пишет, можно подробнее?
какие у вас контрольные суммы файлов SHA256 версии 4.0.0?
fs — A1BE8AEB18D323A9703CA3C1650E2B4D3013DCB75C1D76C8164D2B83DBF1755D
fw — FC5817CFA1F1B881D8D3C15FED34020889C1054BED9AA6C68A3976C45859DC5B
в 4.0 появилась поддержка Telegram. на выходных постараюсь написать обзор.
Контрольные суммы совпадают:
a1be8aeb18d323a9703ca3c1650e2b4d3013dcb75c1d76c8164d2b83dbf1755d *fs_latest.bin
fc5817cfa1f1b881d8d3c15fed34020889c1054bed9aa6c68a3976c45859dc5b *fw_latest.bin
fs SHA256 2F7B985FC9B326F5BBE97012AD933C7F8BD51890422ADB48EDA88FB82DC83059
fw SHA256 E4BE6D94CA2EE219619B664B231E15238D697A4E9CC44B83048C9FF7490A8706
v4.0.1
2f7b985fc9b326f5bbe97012ad933c7f8bd51890422adb48eda88fb82dc83059 *fs_latest.bin
e4be6d94ca2ee219619b664b231e15238d697a4e9cc44b83048c9ff7490a8706 *fw_latest.bin
step1: выбираем только fs_latest.bin (сразу fs_latest.bin и fw_latest.bin выбирать не надо) и жмем upload1, ждем пока прошьется и перезагрузится
step2: выбираем только fw_latest.bin и жмем upload2, ждем пока прошьется и перезагрузится
если на step2 опять ругается как раньше — это начит вы забыли почисить кеш браузера после step1. вы думаете я просто так тратил время сочиняя Warning:
как это сделать я писал тут. только вместо player_config.js ищем software_update.js. если сложно, то тупо открываем incognito mode в браузере и набираем 192.168.1.143/software_update.html. скорее всего вам придется заново залогиниться тк incognito mode никогда ничего не кеширует в том числе и пароли.
Спасибо, обновился.
Бота завел. Бот получает сообщение при перезагрузке ESP. А какие команды управления?
Сейчас у меня идёт работа/борьба над повышению стабильности работы реле. Нет, нет да и да раз в неделю реле может уйти в ребуут из нехватки ресурсов для https запросов в телеграм. Также переписываю бота — ухожу от текстовых коман на кастомную интерактивную клавиатуру (телеграм это умеет), для исключения ошибок при вводе.
Кстати, последняя прошивка не заливается, второй файл не может начать залить, так что даже не могу посмотреть функционал. И пока нигде не нашел описанного функционала?
такого точно не будет. у меня другая концепция — одно реле, один канал. это решает проблему зоопарка проводов от 4х сенсоров до одного esp8266.
там нет кнопок. это просто иконки со статусом. при нажатии в этой области идет переход(загрузка) главной страницы. вы видно много раз нажали и устроили мини dos атаку на esp8266.
нет не будет
пока не планирую, но все может быть